diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt new file mode 100644 index 0000000000..9716fc35bf --- /dev/null +++ b/.github/actions/spelling/allow.txt @@ -0,0 +1,6 @@ +github +https +solidjs +jsx +zeropsio +zerops diff --git a/.github/actions/spelling/forbidden.txt b/.github/actions/spelling/forbidden.txt new file mode 100644 index 0000000000..e025048374 --- /dev/null +++ b/.github/actions/spelling/forbidden.txt @@ -0,0 +1,2 @@ +\b(\w{3,})\s\g{-1}\b +\bJavascript\b diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt new file mode 100644 index 0000000000..9dd3461e7d --- /dev/null +++ b/.github/actions/spelling/patterns.txt @@ -0,0 +1,8 @@ +\(data:.*?\) +(['"])data:.*?\g{-1} +data:[-a-zA-Z=;:/0-9+]*,\S* +mailto:[-a-zA-Z=;:/?%&0-9+]* +https?://\S+ +www\.\S+ +^```[\s\S]*?^``` + diff --git a/.github/dependabot.yml b/.github/dependabot.yml index dee71201c7..35b5a9c307 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,9 +1,18 @@ version: 2 updates: - - package-ecosystem: "pnpm" + - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly" day: "monday" assignees: - "ladybluenotes" + group: + minor-patch: + applies-to: + - + patterns: + - "*" + update-types: + - "minor" + - "patch" diff --git a/.github/workflows/orama_sync.yml b/.github/workflows/orama_sync.yml index 1da8d02f4a..30d83ee15e 100644 --- a/.github/workflows/orama_sync.yml +++ b/.github/workflows/orama_sync.yml @@ -8,6 +8,10 @@ on: paths: - "**.mdx" +permissions: + contents: read + pull-requests: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml new file mode 100644 index 0000000000..e69f4577d6 --- /dev/null +++ b/.github/workflows/spelling.yml @@ -0,0 +1,97 @@ +name: Check Spelling + +on: + push: + branches: + - "**" + paths: + - "**/routes/**" + - "**.mdx" + pull_request_target: + branches: + - "**" + paths: + - "**/routes/**" + - "**.mdx" + types: + - "opened" + - "reopened" + - "synchronize" + issue_comment: + types: + - "created" + schedule: + - cron: "0 12 * * *" + +jobs: + spelling: + - name: Check Spelling + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: read + actions: read + security-events: write + outputs: + followup: ${{ steps.spelling.outputs.followup }} + if: ${{ github.event_name == 'pull_request' || github.event_name == 'push'}} + concurrency: + group: spelling-${{ github.event.pull_request.number || github.ref }} + steps: + - name: check-spelling + id: spelling + uses: check-spelling/check-spelling@main + with: + suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} + checkout: true + check_file_names: 0 + spell_check_this: check-spelling/spell-check-this@main + use_magic_file: 1 + report-timing: 1 + warnings: bad-regex,deprecated-feature,large-file,limited-references,noisy-file,non-alpha-in-dictionary,token-is-substring,whitespace-in-dictionary,unsupported-configuration,no-files-to-check + output: sarif + use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }} + extra_dictionary_limit: 20 + extra_dictionaries: cspell:software-terms/dict/softwareTerms.txt + sarif_file: results.sarif + - name: Upload SARIF to GitHub Code Scanning + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: results.sarif + + comment-push: + name: Report (Push) + runs-on: ubuntu-latest + needs: spelling + permissions: + contents: write + if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' + steps: + - name: comment + uses: check-spelling/check-spelling@main + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@main + task: ${{ needs.spelling.outputs.followup }} + + update: + name: Update PR + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + if: ${{ + github.event_name == 'issue_comment' && + github.event.issue.pull_request && + contains(github.event.comment.body, '@check-spelling-bot apply') + }} + concurrency: + group: spelling-update-${{ github.event.issue.number }} + cancel-in-progress: false + steps: + - name: apply spelling updates + uses: check-spelling/check-spelling@main + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@main + task: ${{ needs.spelling.outputs.followup }} diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml index ed34e8af59..c71be85632 100644 --- a/.github/workflows/static_checks.yml +++ b/.github/workflows/static_checks.yml @@ -4,11 +4,15 @@ on: push: branches: - main - pull_request: branches: - main +permissions: + contents: read + actions: read + security-events: read + jobs: typecheck: runs-on: ubuntu-latest diff --git a/README.md b/README.md index 3c48337e62..04cb6e1eb1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ -# Solid Docs +

+ Solid Documentation +

+ Welcome to Solid's documentation! diff --git a/app.config.ts b/app.config.ts index 24f7049e4e..946d992085 100644 --- a/app.config.ts +++ b/app.config.ts @@ -11,6 +11,16 @@ import solidrouterTree from "./.solid/solid-router-tree"; import solidStartTree from "./.solid/solid-start-tree"; import solidMetaTree from "./.solid/solid-meta-tree"; +const allEntries = [ + entries.learn, entries.reference, + solidstartEntries.learn, solidstartEntries.reference, + solidrouterEntries.learn, solidrouterEntries.reference, + solidMetaEntries.learn, solidMetaEntries.reference, +].flat(Infinity).map(x => + // @ts-expect-error `flat` mess up the type and I have no idea how to fix this + x.path.replace(/\\/g, "/") +); + function docsData() { const virtualModuleId = "solid:collection"; const resolveVirtualModuleId = "\0" + virtualModuleId; @@ -53,6 +63,7 @@ export default defineConfig( crawlLinks: true, autoSubfolderIndex: false, failOnError: true, + routes: allEntries, // eslint-disable-next-line no-useless-escape ignore: [/\{\getPath}/, /.*?emojiSvg\(.*/], }, diff --git a/eslint.config.ts b/eslint.config.ts index 5cb595e0c1..6497c04d0e 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -4,7 +4,9 @@ import * as globals from "globals"; import tseslint from "typescript-eslint"; import tsParser from "@typescript-eslint/parser"; -export default [ +export default tseslint.config( + eslint.configs.recommended, + tseslint.configs.recommended, { name: "global-ignores", ignores: [ @@ -18,8 +20,6 @@ export default [ "scripts/", ], }, - eslint.configs.recommended, - ...tseslint.configs.recommended, { files: ["**/*.{ts,tsx}"], languageOptions: { @@ -53,5 +53,5 @@ export default [ }, ], }, - }, -]; + } +); diff --git a/lunaria.config.json b/lunaria.config.json deleted file mode 100644 index 63fd45cd1f..0000000000 --- a/lunaria.config.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "./node_modules/@lunariajs/core/config.schema.json", - "repository": { - "name": "solidjs/solid-docs-next", - "branch": "main", - "hosting": "github" - }, - "defaultLocale": { - "label": "English", - "lang": "en" - }, - "files": [ - { - "type": "universal", - "location": "src/routes/**/*.{mdx,md}", - "pattern": "src/routes/@lang/@path" - }, - { - "location": "src/i18n/dictionaries/**/ui.ts", - "pattern": "src/i18n/dictionaries/@lang/@path", - "type": "dictionary" - } - ], - "locales": [ - { - "label": "Português do Brasil", - "lang": "pt-br" - } - ], - "outDir": "./public/i18n-status", - "dashboard": { - "site": "https://docs.solidjs.com/i18n-status", - "title": "Solid Docs Translation Status", - "description": "Translation progress tracker for the Solid Docs site", - "basesToHide": ["src/routes/", "src/i18n/dictionaries/"], - "favicon": { - "external": [ - { - "link": "https://docs.solidjs.com/favicon.ico", - "type": "image/x-icon" - }, - { - "link": "https://docs.solidjs.com/favicon.svg", - "type": "image/svg+xml" - } - ] - }, - "customCss": ["./lunaria/styles.css"], - "ui": { - "statusByLocale.heading": "Translation progress by locale", - "statusByLocale.incompleteLocalizationLink": "incomplete translation", - "statusByLocale.outdatedLocalizationLink": "outdated translation", - "statusByLocale.completeLocalization": "This translation is complete, amazing job! 🎉", - "statusByFile.heading": "Translation status by file" - } - } -} diff --git a/lunaria/styles.css b/lunaria/styles.css deleted file mode 100644 index cd92464a82..0000000000 --- a/lunaria/styles.css +++ /dev/null @@ -1,4 +0,0 @@ -:root { - --tw-bg-opacity: 1; - background-color: rgb(15 23 42 / var(--tw-bg-opacity)); -} diff --git a/package.json b/package.json index 238a4b94d8..d15157c0f4 100644 --- a/package.json +++ b/package.json @@ -8,19 +8,17 @@ "sync": "node scripts/collections/index.mjs", "sync:orama": "pnpm build && node scripts/sync-orama.mjs", "dev": "pnpm sync && vinxi dev", - "build": "pnpm sync && pnpm build:sitemap && pnpm build:lunaria && NODE_OPTIONS=\"--max-old-space-size=8192\" vinxi build", + "build": "pnpm sync && pnpm build:sitemap && pnpm build:llms && NODE_OPTIONS=\"--max-old-space-size=8192\" vinxi build", + "build:llms": "node scripts/llms-gen.js", "build:sitemap": "node scripts/generateSitemap.js", "start": "vinxi start", "e2e": "npx playwright test", - "build:lunaria": "lunaria build", - "preview:lunaria": "lunaria preview", "check:lint": "eslint .", "check:types": "tsc --noEmit" }, "dependencies": { "@kobalte/core": "^0.13.11", - "@kobalte/solidbase": "^0.2.17", - "@lunariajs/core": "^0.1.1", + "@kobalte/solidbase": "^0.2.19", "@oramacloud/client": "^2.1.4", "@solid-primitives/event-listener": "^2.4.3", "@solid-primitives/marker": "^0.2.2", @@ -28,36 +26,36 @@ "@solid-primitives/platform": "^0.2.1", "@solidjs/meta": "^0.29.4", "@solidjs/router": "^0.15.3", - "@solidjs/start": "^1.1.7", - "dotenv": "^16.6.1", - "glob": "^11.0.2", + "@solidjs/start": "^1.2.0", + "dotenv": "^17.2.3", + "glob": "^11.0.3", "gray-matter": "^4.0.3", "postcss": "^8.5.6", - "shiki": "^3.11.0", + "shiki": "^3.14.0", "sitemap": "^8.0.0", "solid-heroicons": "^3.2.4", "solid-js": "^1.9.9", "solid-list": "^0.3.0", "vinxi": "^0.5.7", - "zod": "^3.25.76" + "zod": "^4.1.12" }, "devDependencies": { - "@eslint/js": "^9.33.0", + "@eslint/js": "^9.39.1", "@kobalte/tailwindcss": "^0.9.0", "@orama/crawly": "^0.0.6", - "@tailwindcss/typography": "^0.5.16", - "@types/node": "^24.3.0", - "@typescript-eslint/eslint-plugin": "^8.40.0", - "@typescript-eslint/parser": "^8.40.0", + "@tailwindcss/typography": "^0.5.19", + "@types/node": "^24.10.0", + "@typescript-eslint/eslint-plugin": "^8.46.1", + "@typescript-eslint/parser": "^8.46.2", "autoprefixer": "^10.4.21", - "eslint": "^9.33.0", + "eslint": "^9.39.1", "eslint-plugin-solid": "^0.14.5", - "globals": "^16.3.0", - "prettier": "3.5.3", - "prettier-plugin-tailwindcss": "^0.6.13", + "globals": "^16.4.0", + "prettier": "3.6.2", + "prettier-plugin-tailwindcss": "^0.7.1", "tailwindcss": "^3.4.17", - "typescript": "^5.9.2", - "typescript-eslint": "^8.40.0", + "typescript": "^5.9.3", + "typescript-eslint": "^8.46.2", "vite": "^6.3.5" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50a47384f1..caae5ff788 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,11 +12,8 @@ importers: specifier: ^0.13.11 version: 0.13.11(solid-js@1.9.9) '@kobalte/solidbase': - specifier: ^0.2.17 - version: 0.2.17(@algolia/client-search@5.14.2)(@solidjs/start@1.1.7(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)))(@vue/compiler-sfc@3.5.16)(acorn@8.15.0)(expressive-code@0.40.2)(react@18.3.1)(search-insights@2.17.3)(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) - '@lunariajs/core': - specifier: ^0.1.1 - version: 0.1.1 + specifier: ^0.2.19 + version: 0.2.19(@solidjs/start@1.2.0(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)))(@vue/compiler-sfc@3.5.16)(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) '@oramacloud/client': specifier: ^2.1.4 version: 2.1.4 @@ -39,14 +36,14 @@ importers: specifier: ^0.15.3 version: 0.15.3(solid-js@1.9.9) '@solidjs/start': - specifier: ^1.1.7 - version: 1.1.7(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) + specifier: ^1.2.0 + version: 1.2.0(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) dotenv: - specifier: ^16.6.1 - version: 16.6.1 + specifier: ^17.2.3 + version: 17.2.3 glob: - specifier: ^11.0.2 - version: 11.0.2 + specifier: ^11.0.3 + version: 11.0.3 gray-matter: specifier: ^4.0.3 version: 4.0.3 @@ -54,8 +51,8 @@ importers: specifier: ^8.5.6 version: 8.5.6 shiki: - specifier: ^3.11.0 - version: 3.11.0 + specifier: ^3.14.0 + version: 3.14.0 sitemap: specifier: ^8.0.0 version: 8.0.0 @@ -70,14 +67,14 @@ importers: version: 0.3.0(solid-js@1.9.9) vinxi: specifier: ^0.5.7 - version: 0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + version: 0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) zod: - specifier: ^3.25.76 - version: 3.25.76 + specifier: ^4.1.12 + version: 4.1.12 devDependencies: '@eslint/js': - specifier: ^9.33.0 - version: 9.33.0 + specifier: ^9.39.1 + version: 9.39.1 '@kobalte/tailwindcss': specifier: ^0.9.0 version: 0.9.0(tailwindcss@3.4.17) @@ -85,122 +82,50 @@ importers: specifier: ^0.0.6 version: 0.0.6 '@tailwindcss/typography': - specifier: ^0.5.16 - version: 0.5.16(tailwindcss@3.4.17) + specifier: ^0.5.19 + version: 0.5.19(tailwindcss@3.4.17) '@types/node': - specifier: ^24.3.0 - version: 24.3.0 + specifier: ^24.10.0 + version: 24.10.0 '@typescript-eslint/eslint-plugin': - specifier: ^8.40.0 - version: 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) + specifier: ^8.46.1 + version: 8.46.1(@typescript-eslint/parser@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: ^8.40.0 - version: 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) + specifier: ^8.46.2 + version: 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) autoprefixer: specifier: ^10.4.21 version: 10.4.21(postcss@8.5.6) eslint: - specifier: ^9.33.0 - version: 9.33.0(jiti@2.4.2) + specifier: ^9.39.1 + version: 9.39.1(jiti@2.4.2) eslint-plugin-solid: specifier: ^0.14.5 - version: 0.14.5(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) + version: 0.14.5(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) globals: - specifier: ^16.3.0 - version: 16.3.0 + specifier: ^16.4.0 + version: 16.4.0 prettier: - specifier: 3.5.3 - version: 3.5.3 + specifier: 3.6.2 + version: 3.6.2 prettier-plugin-tailwindcss: - specifier: ^0.6.13 - version: 0.6.13(prettier@3.5.3) + specifier: ^0.7.1 + version: 0.7.1(prettier@3.6.2) tailwindcss: specifier: ^3.4.17 version: 3.4.17 typescript: - specifier: ^5.9.2 - version: 5.9.2 + specifier: ^5.9.3 + version: 5.9.3 typescript-eslint: - specifier: ^8.40.0 - version: 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) + specifier: ^8.46.2 + version: 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + version: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) 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.14.2': - resolution: {integrity: sha512-7fq1tWIy1aNJEaNHxWy3EwDkuo4k22+NBnxq9QlYVSLLXtr6HqmAm6bQgNNzGT3vm21iKqWO9efk+HIhEM1SzQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.14.2': - resolution: {integrity: sha512-5Nm5cOOyAGcY+hKNJVmR2jgoGn1nvoANS8W5EfB8yAaUqUxL3lFNUHSkFafAMTCOcVKNDkZQYjUDbOOfdYJLqw==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.14.2': - resolution: {integrity: sha512-BW1Qzhh9tMKEsWSQQsiOEcHAd6g7zxq9RpPVmyxbDO/O4eA4vyN+Qz5Jzo686kuYdIQKqIPCEtob/JM89tk57g==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-insights@5.14.2': - resolution: {integrity: sha512-17zg6pqifKORvvrMIqW6HhwUry9RKRXLgADrgFjZ6PZvGB4oVs12dwRG2/HMrIlpxd9cjeQfdlEgHj6lbAf6QA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.14.2': - resolution: {integrity: sha512-5IYt8vbmTA52xyuaZKFwiRoDPeh7hiOC9aBZqqp9fVs6BU01djI/T8pGJXawvwczltCPYzNsdbllV3rqiDbxmQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-query-suggestions@5.14.2': - resolution: {integrity: sha512-gvCX/cczU76Bu1sGcxxTdoIwxe+FnuC1IlW9SF/gzxd3ZzsgzBpzD2puIJqt9fHQsjLxVGkJqKev2FtExnJYZg==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.14.2': - resolution: {integrity: sha512-0imdBZDjqxrshw0+eyJUgnkRAbS2W93UQ3BVj8VjN4xQylIMf0fWs72W7MZFdHlH78JJYydevgzqvGMcV0Z1CA==} - engines: {node: '>= 14.0.0'} - - '@algolia/ingestion@1.14.2': - resolution: {integrity: sha512-/p4rBNkW0fgCpCwrwre+jHfzlFQsLemgaAQqyui8NPxw95Wgf3p+DKxYzcmh8dygT7ub7FwztTW+uURLX1uqIQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/monitoring@1.14.2': - resolution: {integrity: sha512-81R57Y/mS0uNhWpu6cNEfkbkADLW4bP0BNjuPpxAypobv7WzYycUnbMvv1YkN6OsociB4+3M7HfsVzj4Nc09vA==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.14.2': - resolution: {integrity: sha512-OwELnAZxCUyfjYjqsrFmC7Vfa12kqwbDdLUV0oi4j+4pxDsfPgkiZ6iCH2uPw6X8VK88Hl3InPt+RPaZvcrCWg==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.14.2': - resolution: {integrity: sha512-irUvkK+TGBhyivtNCIIbVgNUgbUoHOSk8m/kFX4ddto/PUPmLFRRNNnMHtJ1+OzrJ/uD3Am4FUK2Yt+xgQr05w==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-fetch@5.14.2': - resolution: {integrity: sha512-UNBg5mM4MIYdxPuVjyDL22BC6P87g7WuM91Z1Ky0J19aEGvCSF+oR+9autthROFXdRnAa1rACOjuqn95iBbKpw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.14.2': - resolution: {integrity: sha512-CTFA03YiLcnpP+JoLRqjHt5pqDHuKWJpLsIBY/60Gmw8pjALZ3TwvbAquRX4Vy+yrin178NxMuU+ilZ54f2IrQ==} - engines: {node: '>= 14.0.0'} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -209,11 +134,11 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/install-pkg@1.0.0': - resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@antfu/utils@9.3.0': + resolution: {integrity: sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==} '@babel/code-frame@7.25.7': resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} @@ -231,16 +156,16 @@ packages: resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.0': - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} engines: {node: '>=6.9.0'} '@babel/core@7.25.8': resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.3': - resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} engines: {node: '>=6.9.0'} '@babel/generator@7.25.7': @@ -331,10 +256,6 @@ packages: resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -343,10 +264,6 @@ packages: resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} @@ -363,8 +280,8 @@ packages: resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.3': - resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} '@babel/highlight@7.25.7': @@ -376,13 +293,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.27.5': - resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true @@ -440,31 +352,24 @@ packages: resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.3': - resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} engines: {node: '>=6.9.0'} '@babel/types@7.25.8': resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.9': - resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} - engines: {node: '>=6.9.0'} - '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - '@bprogress/core@1.1.18': - resolution: {integrity: sha512-+khsDSJ7jv1L9LU34jnEsNqY6tXViSZDOeoxd09Ws8zVXzFjatRzWwBpiDQqTqyVZc0nlOxkkumFDtAgDJwY2A==} - - '@clack/core@0.3.4': - resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} + '@bprogress/core@1.3.4': + resolution: {integrity: sha512-q/AqpurI/1uJzOrQROuZWixn/+ARekh+uvJGwLCP6HQ/EqAX4SkvNf618tSBxL4NysC0MwqAppb/mRw6Tzi61w==} '@cloudflare/kv-asset-handler@0.4.0': resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} @@ -479,8 +384,8 @@ packages: peerDependencies: solid-js: ^1.8 - '@ctrl/tinycolor@4.1.0': - resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + '@ctrl/tinycolor@4.2.0': + resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} engines: {node: '>=14'} '@dabh/diagnostics@2.0.3': @@ -496,28 +401,8 @@ packages: resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==} engines: {node: '>=18'} - '@docsearch/css@3.8.0': - resolution: {integrity: sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==} - - '@docsearch/js@3.8.0': - resolution: {integrity: sha512-PVuV629f5UcYRtBWqK7ID6vNL5647+2ADJypwTjfeBIrJfwPuHtzLy39hMGMfFK+0xgRyhTR0FZ83EkdEraBlg==} - - '@docsearch/react@3.8.0': - resolution: {integrity: sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==} - 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 + '@docsearch/css@3.9.0': + resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} '@esbuild/aix-ppc64@0.25.5': resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} @@ -669,66 +554,78 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.7.0': - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.0': - resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.3.1': - resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.2': - resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.33.0': - resolution: {integrity: sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==} + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.5': - resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@expressive-code/core@0.40.2': resolution: {integrity: sha512-gXY3v7jbgz6nWKvRpoDxK4AHUPkZRuJsM79vHX/5uhV9/qX6Qnctp/U/dMHog/LCVXcuOps+5nRmf1uxQVPb3w==} + '@expressive-code/core@0.41.3': + resolution: {integrity: sha512-9qzohqU7O0+JwMEEgQhnBPOw5DtsQRBXhW++5fvEywsuX44vCGGof1SL5OvPElvNgaWZ4pFZAFSlkNOkGyLwSQ==} + '@expressive-code/plugin-collapsible-sections@0.40.2': resolution: {integrity: sha512-EtfuluXKk3CdFMAeCJoDsUJo/s+Yh9b+kX0hNHeFlZ/W2/H8FmdZ9Pu+Qel41vw4yP6AyiQpsamquO7bzlakug==} '@expressive-code/plugin-frames@0.40.2': resolution: {integrity: sha512-aLw5IlDlZWb10Jo/TTDCVsmJhKfZ7FJI83Zo9VDrV0OBlmHAg7klZqw68VDz7FlftIBVAmMby53/MNXPnMjTSQ==} + '@expressive-code/plugin-frames@0.41.3': + resolution: {integrity: sha512-rFQtmf/3N2CK3Cq/uERweMTYZnBu+CwxBdHuOftEmfA9iBE7gTVvwpbh82P9ZxkPLvc40UMhYt7uNuAZexycRQ==} + '@expressive-code/plugin-line-numbers@0.40.2': resolution: {integrity: sha512-YMLkn68n9a9DI/4fQW/f6QJ33uQUzHmGdV3pDl+f6fVTxv7rvhRja+UtPksm0ZJpft6vrrACV8wS2TaH77SBzw==} '@expressive-code/plugin-shiki@0.40.2': resolution: {integrity: sha512-t2HMR5BO6GdDW1c1ISBTk66xO503e/Z8ecZdNcr6E4NpUfvY+MRje+LtrcvbBqMwWBBO8RpVKcam/Uy+1GxwKQ==} + '@expressive-code/plugin-shiki@0.41.3': + resolution: {integrity: sha512-RlTARoopzhFJIOVHLGvuXJ8DCEme/hjV+ZnRJBIxzxsKVpGPW4Oshqg9xGhWTYdHstTsxO663s0cdBLzZj9TQA==} + '@expressive-code/plugin-text-markers@0.40.2': resolution: {integrity: sha512-/XoLjD67K9nfM4TgDlXAExzMJp6ewFKxNpfUw4F7q5Ecy+IU3/9zQQG/O70Zy+RxYTwKGw2MA9kd7yelsxnSmw==} + '@expressive-code/plugin-text-markers@0.41.3': + resolution: {integrity: sha512-SN8tkIzDpA0HLAscEYD2IVrfLiid6qEdE9QLlGVSxO1KEw7qYvjpbNBQjUjMr5/jvTJ7ys6zysU2vLPHE0sb2g==} + '@fastify/busboy@3.1.1': resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==} @@ -741,40 +638,39 @@ packages: '@floating-ui/utils@0.2.8': resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - '@fontsource-variable/inter@5.1.1': - resolution: {integrity: sha512-OpXFTmiH6tHkYijMvQTycFKBLK4X+SRV6tet1m4YOUH7SzIIlMqDja+ocDtiCA72UthBH/vF+3ZtlMr2rN/wIw==} + '@fontsource-variable/inter@5.2.8': + resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} - '@fontsource-variable/jetbrains-mono@5.1.2': - resolution: {integrity: sha512-syGEJ/N4FFisAXegxtbe1etYpo2T630dqCbYufPf7Dli/hMKSoSUIm3wK4q5RsGFRxWno1WecfnsgZA1jRK0EQ==} + '@fontsource-variable/jetbrains-mono@5.2.8': + resolution: {integrity: sha512-WBA9elru6Jdp5df2mES55wuOO0WIrn3kpXnI4+W2ek5u3ZgLS9XS4gmIlcQhiZOWEKl95meYdvK7xI+ETLCq/Q==} - '@fontsource-variable/lexend@5.1.2': - resolution: {integrity: sha512-5gY4aYZXvhCNrpqa7f/JmRnUyRMAPqGdE0IXicbqvusj+jEwuj1JuiLPl61hTbGntQP+sMZsDHECBhlrEY/8iQ==} + '@fontsource-variable/lexend@5.2.11': + resolution: {integrity: sha512-0hgEQ4O7Nh8fxL/WWmspJf0BErbocRkZwtLRGey/V4mUUqxfF7QUwqhcdzwpjom3NYCniY4uzQ5wYD7r9/92tQ==} '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.3': resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@iarna/toml@2.2.5': + resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@iconify/utils@3.0.2': + resolution: {integrity: sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==} '@internationalized/date@3.5.6': resolution: {integrity: sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==} @@ -785,6 +681,14 @@ packages: '@ioredis/commands@1.2.0': resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -793,10 +697,6 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -804,9 +704,8 @@ packages: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} @@ -819,25 +718,22 @@ packages: '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@jridgewell/trace-mapping@0.3.30': - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@kobalte/core@0.13.11': resolution: {integrity: sha512-hK7TYpdib/XDb/r/4XDBFaO9O+3ZHz4ZWryV4/3BfES+tSQVgg2IJupDnztKXB0BqbSRy/aWlHKw1SPtNPYCFQ==} peerDependencies: solid-js: ^1.8.15 - '@kobalte/solidbase@0.2.17': - resolution: {integrity: sha512-OVFVpK2IUdREx/QNfI7QarUWlo/L+xAPJB9HkkjPVtdeJfXwOo26wPLh/w3FMTVtsOB6oN00KUdGnGXEWB34/A==} + '@kobalte/solidbase@0.2.19': + resolution: {integrity: sha512-beNqy2SvCJxhwZ7rAvHsOMGDr0i4/VoVGNBqrbFkCmeEatNuJ5M6D0BSMLBms78RmGa27iqTwBY+XO0vscZjCg==} engines: {node: '>=22'} peerDependencies: '@solidjs/start': ^1.0.8 @@ -855,24 +751,13 @@ packages: peerDependencies: solid-js: ^1.8.8 - '@kwsites/file-exists@1.1.1': - resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} - - '@kwsites/promise-deferred@1.1.1': - resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} - - '@lunariajs/core@0.1.1': - resolution: {integrity: sha512-sAqM9+DVsLe3xHM9wu2pEnKGYMs/bWS9qpR+CGHol3RihOELnOQTzHddXbdB1MtgesbI8dnQuG64Ocd8KkWsng==} - engines: {node: '>=18.17.0'} - hasBin: true - '@mapbox/node-pre-gyp@2.0.0': resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==} engines: {node: '>=18'} hasBin: true - '@mdx-js/mdx@3.1.0': - resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} '@netlify/binary-info@1.0.0': resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} @@ -1124,6 +1009,12 @@ packages: resolution: {integrity: sha512-aQypoot0HPSJa6gDPEPTntc1GT6QINrSbgRlRhadGW2WaYqUK3tK4Bw9SBMZXhmxd3GeAlZjVcODHgiu+THY7A==} engines: {node: '>=18'} + '@prettier/cli@0.6.0': + resolution: {integrity: sha512-kPQDTB+FPjvj23SmBH4T9uGCxMVS1cyJSY9dbOHGOC29nL9gR5gwZ4b4uMj4QRB0uE5K9c7avbAo+gvUbcZb4Q==} + hasBin: true + peerDependencies: + prettier: ^3.1.0 || ^4.0.0 + '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} @@ -1299,45 +1190,42 @@ packages: '@shikijs/core@1.29.2': resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} - '@shikijs/core@3.11.0': - resolution: {integrity: sha512-oJwU+DxGqp6lUZpvtQgVOXNZcVsirN76tihOLBmwILkKuRuwHteApP8oTXmL4tF5vS5FbOY0+8seXmiCoslk4g==} + '@shikijs/core@3.14.0': + resolution: {integrity: sha512-qRSeuP5vlYHCNUIrpEBQFO7vSkR7jn7Kv+5X3FO/zBKVDGQbcnlScD3XhkrHi/R8Ltz0kEjvFR9Szp/XMRbFMw==} '@shikijs/engine-javascript@1.29.2': resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} - '@shikijs/engine-javascript@3.11.0': - resolution: {integrity: sha512-6/ov6pxrSvew13k9ztIOnSBOytXeKs5kfIR7vbhdtVRg+KPzvp2HctYGeWkqv7V6YIoLicnig/QF3iajqyElZA==} + '@shikijs/engine-javascript@3.14.0': + resolution: {integrity: sha512-3v1kAXI2TsWQuwv86cREH/+FK9Pjw3dorVEykzQDhwrZj0lwsHYlfyARaKmn6vr5Gasf8aeVpb8JkzeWspxOLQ==} '@shikijs/engine-oniguruma@1.29.2': resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} - '@shikijs/engine-oniguruma@3.11.0': - resolution: {integrity: sha512-4DwIjIgETK04VneKbfOE4WNm4Q7WC1wo95wv82PoHKdqX4/9qLRUwrfKlmhf0gAuvT6GHy0uc7t9cailk6Tbhw==} + '@shikijs/engine-oniguruma@3.14.0': + resolution: {integrity: sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==} '@shikijs/langs@1.29.2': resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} - '@shikijs/langs@3.11.0': - resolution: {integrity: sha512-Njg/nFL4HDcf/ObxcK2VeyidIq61EeLmocrwTHGGpOQx0BzrPWM1j55XtKQ1LvvDWH15cjQy7rg96aJ1/l63uw==} + '@shikijs/langs@3.14.0': + resolution: {integrity: sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==} '@shikijs/themes@1.29.2': resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} - '@shikijs/themes@3.11.0': - resolution: {integrity: sha512-BhhWRzCTEk2CtWt4S4bgsOqPJRkapvxdsifAwqP+6mk5uxboAQchc0etiJ0iIasxnMsb764qGD24DK9albcU9Q==} + '@shikijs/themes@3.14.0': + resolution: {integrity: sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==} '@shikijs/types@1.29.2': resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} - '@shikijs/types@3.11.0': - resolution: {integrity: sha512-RB7IMo2E7NZHyfkqAuaf4CofyY8bPzjWPjJRzn6SEak3b46fIQyG6Vx5fG/obqkfppQ+g8vEsiD7Uc6lqQt32Q==} + '@shikijs/types@3.14.0': + resolution: {integrity: sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@sindresorhus/is@7.0.2': resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==} engines: {node: '>=18'} @@ -1346,8 +1234,8 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - '@solid-primitives/clipboard@1.5.10': - resolution: {integrity: sha512-ohwlrBP4j+Qjksg01CFWaP/USpzX78dBNVA1DPRZkf/vJgytX0T6KMc2YxF6o8fs6ePIYSI8Nt3sKxF0sh1q+Q==} + '@solid-primitives/clipboard@1.6.2': + resolution: {integrity: sha512-lJHjyjjOFNcPFmLanY9+dShS1OwJUVuaJneSQNEm4yDrJ1t6eY8JKEslSVcTQDoNzVvNPDLHHm3/q4uGXsB14A==} peerDependencies: solid-js: ^1.6.12 @@ -1361,8 +1249,8 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/keyboard@1.2.8': - resolution: {integrity: sha512-pJtcbkjozS6L1xvTht9rPpyPpX55nAkfBzbFWdf3y0Suwh6qClTibvvObzKOf7uzQ+8aZRDH4LsoGmbTKXtJjQ==} + '@solid-primitives/keyboard@1.3.3': + resolution: {integrity: sha512-9dQHTTgLBqyAI7aavtO+HnpTVJgWQA1ghBSrmLtMu1SMxLPDuLfuNr+Tk5udb4AL4Ojg7h9JrKOGEEDqsJXWJA==} peerDependencies: solid-js: ^1.6.12 @@ -1416,18 +1304,13 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/rootless@1.5.1': - resolution: {integrity: sha512-G4eNC6F3ufRT2Mjbodl7rSOH7uq/Emqs3S7/BIBWgh+V/IFUtvu6WELeqSrk4FJX3T/kKKvC+T8gXhepExSWyg==} - peerDependencies: - solid-js: ^1.6.12 - '@solid-primitives/rootless@1.5.2': resolution: {integrity: sha512-9HULb0QAzL2r47CCad0M+NKFtQ+LrGGNHZfteX/ThdGvKIg2o2GYhBooZubTCd/RTu2l2+Nw4s+dEfiDGvdrrQ==} peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/scroll@2.0.23': - resolution: {integrity: sha512-kO0YpXKEUHaAnHp3zIsHYmxxuKXO3/LxVhZQHHmhqsmUY6A5IBObkSkoQ/ChIPl/WMKE7ynxEq40OgRmhvyUSw==} + '@solid-primitives/scroll@2.1.3': + resolution: {integrity: sha512-Ejq/Z7zKo/6eIEFr1bFLzXFxiGBCMLuqCM8QB8urr3YdPzjSETFLzYRWUyRiDWaBQN0F7k0SY6S7ig5nWOP7vg==} peerDependencies: solid-js: ^1.6.12 @@ -1441,8 +1324,8 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/storage@4.3.1': - resolution: {integrity: sha512-xAJsY2pvXrAaCai4N2grmWY3xh5om9suTDVzGkRF5JBpDzs3Apk+xIovdTErbW0iCzXIEefENXb9xmSzdjuLYA==} + '@solid-primitives/storage@4.3.3': + resolution: {integrity: sha512-ACbNwMZ1s8VAvld6EUXkDkX/US3IhtlPLxg6+B2s9MwNUugwdd51I98LPEaHrdLpqPmyzqgoJe0TxEFlf3Dqrw==} peerDependencies: '@tauri-apps/plugin-store': '*' solid-js: ^1.6.12 @@ -1463,11 +1346,6 @@ packages: peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/utils@6.3.1': - resolution: {integrity: sha512-4/Z59nnwu4MPR//zWZmZm2yftx24jMqQ8CSd/JobL26TPfbn4Ph8GKNVJfGJWShg1QB98qObJSskqizbTvcLLA==} - peerDependencies: - solid-js: ^1.6.12 - '@solid-primitives/utils@6.3.2': resolution: {integrity: sha512-hZ/M/qr25QOCcwDPOHtGjxTD8w2mNyVAYvcfgwzBHq2RwNqHNdDNsMZYap20+ruRwW4A3Cdkczyoz0TSxLCAPQ==} peerDependencies: @@ -1483,8 +1361,8 @@ packages: peerDependencies: solid-js: ^1.8.6 - '@solidjs/start@1.1.7': - resolution: {integrity: sha512-30nUFzCpCVH7ORtHlO4ZE+VLG3g3EP+x+ceLLJBFRXIVuFQ1p203xZvVCXWqUPydtK78O5w3nIkWA/tLtF0Ybg==} + '@solidjs/start@1.2.0': + resolution: {integrity: sha512-SRv1g3R+4sxZnxCBPK1IedtLKsPhPJ7W/Yv4xEHjM4jJGPWi3ed35/yd0D5zhRK0C7zJIkZKbhnR/S3g8JUD5w==} peerDependencies: vinxi: ^0.5.7 @@ -1494,8 +1372,8 @@ packages: '@swc/helpers@0.5.13': resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} - '@tailwindcss/typography@0.5.16': - resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} + '@tailwindcss/typography@0.5.19': + resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} peerDependencies: tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' @@ -1513,20 +1391,17 @@ packages: resolution: {integrity: sha512-a05fzK+jBGacsSAc1vE8an7lpBh4H0PyIEcivtEyHLomgSeElAJxm9E2It/0nYRZ5Lh23m0okbhzJNaYWZpAOg==} engines: {node: '>=12'} - '@types/acorn@4.0.6': - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} '@types/braces@3.0.4': resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} @@ -1537,9 +1412,6 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -1561,14 +1433,14 @@ packages: '@types/micromatch@4.0.9': resolution: {integrity: sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==} - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@24.3.0': - resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} + '@types/node@24.10.0': + resolution: {integrity: sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1594,16 +1466,24 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.40.0': - resolution: {integrity: sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==} + '@typescript-eslint/eslint-plugin@8.46.1': + resolution: {integrity: sha512-rUsLh8PXmBjdiPY+Emjz9NX2yHvhS11v0SR6xNJkm5GM1MO9ea/1GoDKlHHZGrOJclL/cZ2i/vRUYVtjRhrHVQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.46.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/eslint-plugin@8.46.2': + resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.40.0 + '@typescript-eslint/parser': ^8.46.2 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.40.0': - resolution: {integrity: sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==} + '@typescript-eslint/parser@8.46.2': + resolution: {integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1615,8 +1495,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.40.0': - resolution: {integrity: sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==} + '@typescript-eslint/project-service@8.46.1': + resolution: {integrity: sha512-FOIaFVMHzRskXr5J4Jp8lFVV0gz5ngv3RHmn+E4HYxSJ3DgDzU7fVI1/M7Ijh1zf6S7HIoaIOtln1H5y8V+9Zg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.46.2': + resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1625,8 +1511,12 @@ packages: resolution: {integrity: sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.40.0': - resolution: {integrity: sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==} + '@typescript-eslint/scope-manager@8.46.1': + resolution: {integrity: sha512-weL9Gg3/5F0pVQKiF8eOXFZp8emqWzZsOJuWRUNtHT+UNV2xSJegmpCNQHy37aEQIbToTq7RHKhWvOsmbM680A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.46.2': + resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.34.0': @@ -1635,14 +1525,27 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/tsconfig-utils@8.40.0': - resolution: {integrity: sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==} + '@typescript-eslint/tsconfig-utils@8.46.1': + resolution: {integrity: sha512-X88+J/CwFvlJB+mK09VFqx5FE4H5cXD+H/Bdza2aEWkSb8hnWIQorNcscRl4IEo1Cz9VI/+/r/jnGWkbWPx54g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.40.0': - resolution: {integrity: sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==} + '@typescript-eslint/tsconfig-utils@8.46.2': + resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.46.1': + resolution: {integrity: sha512-+BlmiHIiqufBxkVnOtFwjah/vrkF4MtKKvpXrKSPLCkCtAp8H01/VV43sfqA98Od7nJpDcFnkwgyfQbOG0AMvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.46.2': + resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1652,8 +1555,12 @@ packages: resolution: {integrity: sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.40.0': - resolution: {integrity: sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==} + '@typescript-eslint/types@8.46.1': + resolution: {integrity: sha512-C+soprGBHwWBdkDpbaRC4paGBrkIXxVlNohadL5o0kfhsXqOC6GYH2S/Obmig+I0HTDl8wMaRySwrfrXVP8/pQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.46.2': + resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.34.0': @@ -1662,8 +1569,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/typescript-estree@8.40.0': - resolution: {integrity: sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==} + '@typescript-eslint/typescript-estree@8.46.1': + resolution: {integrity: sha512-uIifjT4s8cQKFQ8ZBXXyoUODtRoAd7F7+G8MKmtzj17+1UbdzFl52AzRyZRyKqPHhgzvXunnSckVu36flGy8cg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/typescript-estree@8.46.2': + resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' @@ -1675,8 +1588,15 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.40.0': - resolution: {integrity: sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==} + '@typescript-eslint/utils@8.46.1': + resolution: {integrity: sha512-vkYUy6LdZS7q1v/Gxb2Zs7zziuXN0wxqsetJdeZdRe/f5dwJFglmuvZBfTUivCtjH725C1jWCDfpadadD95EDQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.46.2': + resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1686,8 +1606,12 @@ packages: resolution: {integrity: sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.40.0': - resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==} + '@typescript-eslint/visitor-keys@8.46.1': + resolution: {integrity: sha512-ptkmIf2iDkNUjdeu2bQqhFPV1m6qTnFFjg7PPDjxKWaMaP0Z6I9l30Jr3g5QqbZGdw8YdYvLp+XnqnWWZOg/NA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.46.2': + resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript/vfs@1.6.1': @@ -1695,8 +1619,8 @@ packages: peerDependencies: typescript: '*' - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} '@vercel/nft@0.29.4': resolution: {integrity: sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==} @@ -1707,15 +1631,15 @@ packages: resolution: {integrity: sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==} hasBin: true - '@vinxi/plugin-directives@0.5.0': - resolution: {integrity: sha512-zpgPWoul5vKbNH5GASHtHa7InwQWElmVdOexvyO4Nfvz7CeYfAAQ5/BAV01sVJPks4dfsLnBCegAgRPRykdUeA==} + '@vinxi/plugin-directives@0.5.1': + resolution: {integrity: sha512-pH/KIVBvBt7z7cXrUH/9uaqcdxjegFC7+zvkZkdOyWzs+kQD5KPf3cl8kC+5ayzXHT+OMlhGhyitytqN3cGmHg==} peerDependencies: - vinxi: ^0.5.0 + vinxi: ^0.5.5 - '@vinxi/server-components@0.5.0': - resolution: {integrity: sha512-2p6ZYzoqF7ZAriU0rC9KJWSX/n5qHhUBs7x04SLYzmy9lFxQNw3YHsmsA4b3aHDU+Mxw26wyFwvIbrL6eU3Gyw==} + '@vinxi/server-components@0.5.1': + resolution: {integrity: sha512-0BsG95qac3dkhfdRZxqzqYWJE4NvPL7ILlV43B6K6ho1etXWB2e5b0IxsUAUbyqpqiXM7mSRivojuXjb2G4OsQ==} peerDependencies: - vinxi: ^0.5.0 + vinxi: ^0.5.5 '@vue/compiler-core@3.5.16': resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} @@ -1770,8 +1694,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-loose@8.4.0: - resolution: {integrity: sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==} + acorn-loose@8.5.2: + resolution: {integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==} engines: {node: '>=0.4.0'} acorn-typescript@1.4.13: @@ -1779,16 +1703,6 @@ packages: peerDependencies: acorn: '>=8.9.0' - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -1801,19 +1715,18 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - algoliasearch@5.14.2: - resolution: {integrity: sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==} - engines: {node: '>= 14.0.0'} - ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-purge@1.1.0: + resolution: {integrity: sha512-sa1KWMANfZurQkYemaVNNJh8gRF0iUJvcVNxvjPlYM9pPPTB0v+VKH/mFRz4s6gXA8plimQXorJSqJgutxUs8g==} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.0: + resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1824,14 +1737,13 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansi-truncate@1.4.0: + resolution: {integrity: sha512-p6d2MrNs/mbpdXFT08fGabIg4pbgnUbbhrsoFfxWV5L3zFKw7tUkYUxGY3xCGJUPohENM80Q4sWkl/VDEN3pZg==} + ansis@4.1.0: resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} engines: {node: '>=14'} @@ -1878,6 +1790,9 @@ packages: async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + atomically@2.0.3: + resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} + autoprefixer@10.4.21: resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} engines: {node: ^10 || ^12 || >=14} @@ -1891,15 +1806,19 @@ packages: babel-dead-code-elimination@1.0.10: resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} - babel-plugin-jsx-dom-expressions@0.39.2: - resolution: {integrity: sha512-rCkSYFuLl5/XD+BXjZk1XxFAsIBgNe9WZ7xBHjQV1dBliI64kO+EWktAD3b6Bj/SXk+LpVXFyMVydhnI35svWQ==} + babel-plugin-jsx-dom-expressions@0.40.1: + resolution: {integrity: sha512-b4iHuirqK7RgaMzB2Lsl7MqrlDgQtVRSSazyrmx7wB3T759ggGjod5Rkok5MfHjQXhR7tRPmdwoeGPqBnW2KfA==} peerDependencies: '@babel/core': ^7.20.12 - babel-preset-solid@1.9.2: - resolution: {integrity: sha512-rWx968GIDghgFStRDQaoqelGspEm9rgPci/yNzNPFlkzMqHaL2yob+t7BbzyqZw5b9/llkzjqUNIOybT9Z9mcg==} + babel-preset-solid@1.9.9: + resolution: {integrity: sha512-pCnxWrciluXCeli/dj5PIEHgbNzim3evtTn12snjqqg8QZWJNMjH1AWIp4iG/tbVjqQ72aBEymMSagvmgxubXw==} peerDependencies: '@babel/core': ^7.0.0 + solid-js: ^1.9.8 + peerDependenciesMeta: + solid-js: + optional: true bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -1907,16 +1826,16 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@3.0.1: - resolution: {integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==} - engines: {node: '>= 16'} - bare-events@2.5.4: resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + baseline-browser-mapping@2.8.4: + resolution: {integrity: sha512-L+YvJwGAgwJBV1p6ffpSTa2KRc69EeeYGYjRVWKs0GKrK+LON0GC0gV+rKSNtALEDvMDqkvCFq9r1r94/Gjwxw==} + hasBin: true + bcp-47-match@2.0.3: resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} @@ -1934,19 +1853,12 @@ packages: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - brace-expansion@4.0.1: - resolution: {integrity: sha512-YClrbvTCXGe70pU2JiEiPLYXO9gQkyxYeKpJIQHVS/gOs6EWMQP2RYBwjFLNT322Ji8TOC3IMPfsYCedNpzKfA==} - engines: {node: '>= 18'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -1956,8 +1868,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - browserslist@4.25.3: - resolution: {integrity: sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==} + browserslist@4.26.0: + resolution: {integrity: sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2012,8 +1924,8 @@ packages: caniuse-lite@1.0.30001722: resolution: {integrity: sha512-DCQHBBZtiK6JVkAGw7drvAMK0Q0POD/xZvEmDp6baiMMP6QXXk9HpD6mNYBZWhOPG6LvIDb82ITqtWjhDckHCA==} - caniuse-lite@1.0.30001735: - resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==} + caniuse-lite@1.0.30001741: + resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2026,8 +1938,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} character-entities-html4@2.1.0: @@ -2186,10 +2098,6 @@ packages: resolution: {integrity: sha512-onMB0OkDjkXunhdW9htFjEhqrD54+M94i6ackoUkjHKbRnXdyEyKRelp4nJ1kAz32+s27jP1FsebpJCVl0BsvA==} engines: {node: '>=18.0'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -2203,8 +2111,8 @@ packages: css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - css-selector-parser@3.0.5: - resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==} + css-selector-parser@3.1.3: + resolution: {integrity: sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==} css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} @@ -2256,17 +2164,8 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2277,8 +2176,8 @@ packages: decache@4.6.2: resolution: {integrity: sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==} - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2365,16 +2264,15 @@ packages: peerDependencies: typescript: ^5.4.4 + dettle@1.0.5: + resolution: {integrity: sha512-ZVyjhAJ7sCe1PNXEGveObOH9AC8QvMga3HJIghHawtG7mE4K5pW9nz/vDGAr/U7a3LWgdOzEE7ac9MURnyfaTA==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - diff@8.0.2: resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} engines: {node: '>=0.3.1'} @@ -2407,6 +2305,10 @@ packages: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} + dotenv@17.2.3: + resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} + engines: {node: '>=12'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -2423,8 +2325,8 @@ packages: electron-to-chromium@1.5.166: resolution: {integrity: sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw==} - electron-to-chromium@1.5.207: - resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} + electron-to-chromium@1.5.218: + resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==} emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -2456,6 +2358,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + env-paths@3.0.0: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2535,8 +2441,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.33.0: - resolution: {integrity: sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==} + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2581,8 +2487,8 @@ packages: estree-util-to-js@2.0.0: resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - estree-util-value-to-estree@3.2.1: - resolution: {integrity: sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==} + estree-util-value-to-estree@3.4.1: + resolution: {integrity: sha512-E4fEc8KLhDXnbyDa5XrbdT9PbgSMt0AGZPFUsGFok8N2Q7DTO+F6xAFJjIdw71EkidRg186I1mQCKzZ1ZbEsCw==} estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} @@ -2626,9 +2532,15 @@ packages: expressive-code@0.40.2: resolution: {integrity: sha512-1zIda2rB0qiDZACawzw2rbdBQiWHBT56uBctS+ezFe5XMAaFaHLnnSYND/Kd+dVzO9HfCXRDpzH3d+3fvOWRcw==} + expressive-code@0.41.3: + resolution: {integrity: sha512-YLnD62jfgBZYrXIPQcJ0a51Afv9h8VlWqEGK9uU2T5nL/5rb8SnA86+7+mgCZe5D34Tff5RNEA5hjNVJYHzrFg==} + exsolve@1.0.5: resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -2655,12 +2567,21 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} + fast-ignore@1.1.3: + resolution: {integrity: sha512-xTo4UbrOKfEQgOFlPaqFScodTV/Wf3KATEqCZZSMh6OP4bcez0lTsqww3n3/Fve1q9u0jmfDP0q0nOhH4POZEg==} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -2670,16 +2591,17 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.4.3: - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -2708,6 +2630,12 @@ packages: resolution: {integrity: sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==} engines: {node: '>=18'} + find-up-json@2.0.5: + resolution: {integrity: sha512-1zZZUfD1GOOEEd1AqwbRmCkCCv1O9t0vOpCYgmzfJqKty8WKaKlDyxWej8Aew+vI5lvDiTviaQuaVuu6GzlHzQ==} + + find-up-path@1.0.1: + resolution: {integrity: sha512-cl4Sfxufq9WK848L887b4r+NVZoBjMeB4QydPZ+pXbp6Jt2nUVspTo2svNOm48stIIeSxtuCsULa9+e+LMTzwA==} + find-up-simple@1.0.1: resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} engines: {node: '>=18'} @@ -2724,8 +2652,8 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} @@ -2739,8 +2667,8 @@ packages: debug: optional: true - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} format@0.2.2: @@ -2770,6 +2698,9 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-once@3.0.1: + resolution: {integrity: sha512-bE3E8REk4jANDot3l0sLFkXgywBwzFKsmbwdnVHLJUnt/3kV6dNG0oJJqoRBuS1Z9Lr4ZoQgwV0ZNLDgWDbv7Q==} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2782,6 +2713,9 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-current-package@1.0.1: + resolution: {integrity: sha512-c/Rw5ByDQ+zg+Lh/emBWv0bDpugEFdmXPR6/srIemVtIvol0XbT0JAr8Db0cX+Jj/xY9wj1wdjeq2qNB35Tayg==} + get-east-asian-width@1.3.0: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} @@ -2793,10 +2727,6 @@ packages: get-port-please@3.1.2: resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} - get-port@7.1.0: - resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} - engines: {node: '>=16'} - get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} @@ -2828,8 +2758,8 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@11.0.2: - resolution: {integrity: sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} hasBin: true @@ -2845,8 +2775,8 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.3.0: - resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} + globals@16.4.0: + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} engines: {node: '>=18'} globby@14.1.0: @@ -2865,9 +2795,15 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + grammex@3.1.11: + resolution: {integrity: sha512-HNwLkgRg9SqTAd1N3Uh/MnKwTBTzwBxTOPbXQ8pb0tpwydjk90k4zRE8JUn9fMUiRwKtXFZ1TWFmms3dZHN+Fg==} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphmatch@1.1.0: + resolution: {integrity: sha512-0E62MaTW5rPZVRLyIJZG/YejmdA/Xr1QydHEw3Vt+qOKkMIOE8WDLc9ZX2bmAjtJFZcId4lEdrdmASsEy7D1QA==} + gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -2895,8 +2831,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-from-parse5@8.0.1: - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} hast-util-has-property@3.0.0: resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} @@ -2910,20 +2846,20 @@ packages: hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - hast-util-raw@9.0.4: - resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - hast-util-select@6.0.3: - resolution: {integrity: sha512-OVRQlQ1XuuLP8aFVLYmC2atrfWHS5UD3shonxpnyrjcCkwtvmt/+N6kYJdcY4mkMJhxp4kj2EFIxQ9kvkkt/eQ==} + hast-util-select@6.0.4: + resolution: {integrity: sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==} - hast-util-to-estree@3.1.0: - resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} hast-util-to-html@9.0.5: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} - hast-util-to-jsx-runtime@2.3.2: - resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==} + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} @@ -2937,11 +2873,8 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - hastscript@8.0.0: - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} - - hastscript@9.0.0: - resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==} + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} @@ -2957,8 +2890,8 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - html-to-image@1.11.11: - resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} + html-to-image@1.11.13: + resolution: {integrity: sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==} html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -3000,10 +2933,13 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -3015,12 +2951,15 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + ini-simple-parser@1.0.1: + resolution: {integrity: sha512-myU5nhF2miBQP3tO/giUi+8BI9QhfM/XRZd0RD7G0p+40K6KPAwxMDtH3UEtJ2XJZbd+ZiQOoGh432DTYfzNVQ==} inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + ionstore@1.0.1: + resolution: {integrity: sha512-g+99vyka3EiNFJCnbq3NxegjV211RzGtkDUMbZGB01Con8ZqUmMx/FpWMeqgDXOqgM7QoVeDhe+CfYCWznaDVA==} + ioredis@5.6.1: resolution: {integrity: sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==} engines: {node: '>=12.22.0'} @@ -3168,14 +3107,6 @@ packages: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true @@ -3214,6 +3145,9 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-sorted-stringify@1.0.2: + resolution: {integrity: sha512-6UiiM9hRn9P+nfznAif3TsmulMJTvlmfNDN8mAmDUvDW/JbSyczdgT0w7NVJvWQwMS83iLnYkH2IXNRZUB4iFg==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -3230,6 +3164,9 @@ packages: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} engines: {node: '>=18'} + kasi@1.1.1: + resolution: {integrity: sha512-pzBwGWFIjf84T/8aD0XzMli1T3Ckr/jVLh6v0Jskwiv5ehmcgDM+vpYFSk8WzGn4ed4HqgaifTgQUHzzZHa+Qw==} + kebab-case@1.0.2: resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==} @@ -3284,8 +3221,8 @@ packages: resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} hasBin: true - local-pkg@1.1.1: - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} locate-path@6.0.0: @@ -3299,9 +3236,6 @@ packages: lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lodash.castarray@4.4.0: - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -3311,9 +3245,6 @@ packages: lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -3324,13 +3255,12 @@ packages: resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} engines: {node: '>= 12.0.0'} + lomemo@1.0.1: + resolution: {integrity: sha512-g8CnVp7UYypeQKpXpMzyrJoDzhOoqVQYSJApoq/cFI3vGxXoHQ+6lH5cApW9XwzVy5SL9/Owil7/JxbKckw0Lg==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -3345,8 +3275,8 @@ packages: resolution: {integrity: sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==} engines: {node: '>=12'} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} magicast@0.2.11: resolution: {integrity: sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==} @@ -3358,18 +3288,18 @@ packages: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdast-util-directive@3.0.0: - resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} - mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} @@ -3380,8 +3310,8 @@ packages: mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - mdast-util-gfm-footnote@2.0.0: - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} mdast-util-gfm-strikethrough@2.0.0: resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} @@ -3413,8 +3343,8 @@ packages: mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -3440,8 +3370,8 @@ packages: micro-api-client@3.3.0: resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} - micromark-core-commonmark@2.0.1: - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} micromark-extension-directive@3.0.2: resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} @@ -3458,8 +3388,8 @@ packages: micromark-extension-gfm-strikethrough@2.1.0: resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - micromark-extension-gfm-table@2.1.0: - resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} micromark-extension-gfm-tagfilter@2.0.0: resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} @@ -3470,11 +3400,11 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-extension-mdx-expression@3.0.0: - resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} - micromark-extension-mdx-jsx@3.0.1: - resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} micromark-extension-mdx-md@2.0.0: resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} @@ -3485,71 +3415,71 @@ packages: micromark-extension-mdxjs@3.0.0: resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - micromark-factory-mdx-expression@2.0.2: - resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - micromark-util-events-to-acorn@2.0.2: - resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} - micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-subtokenize@2.0.1: - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -3582,8 +3512,8 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - minimatch@10.0.2: - resolution: {integrity: sha512-+9TJCIYXgZ2Dm5LxVCFsa8jOm+evMwXHFI0JM1XROmkfkpz8/iLLDh+TwSmyIBrs6C6Xu9294/fq8cBA+P6AqA==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -3619,6 +3549,9 @@ packages: mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + module-definition@6.0.1: resolution: {integrity: sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==} engines: {node: '>=18'} @@ -3661,6 +3594,7 @@ packages: node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead node-fetch-native@1.6.6: resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} @@ -3692,6 +3626,9 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + node-source-walk@7.0.1: resolution: {integrity: sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==} engines: {node: '>=18'} @@ -3813,15 +3750,15 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-manager-detector@0.2.10: - resolution: {integrity: sha512-1wlNZK7HW+UE3eGCcMv3hDaYokhspuIeH6enXSnCL1eEZSVDsy/dYwo/4CczhUsrKLA1SSXB+qce8Glw5DEVtw==} + package-manager-detector@1.5.0: + resolution: {integrity: sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} parse-gitignore@2.0.0: resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} @@ -3831,12 +3768,18 @@ packages: resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} engines: {node: '>=18'} + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + parse5-htmlparser2-tree-adapter@7.1.0: resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} parse5@7.2.0: resolution: {integrity: sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -3898,10 +3841,17 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pioppo@1.2.1: + resolution: {integrity: sha512-1oErGVWD6wFDPmrJWEY1Cj2p829UGT6Fw9OItYFxLkWtBjCvQSMC8wA5IcAR5ms/6gqiY8pnJvIV/+/Imyobew==} + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -3915,6 +3865,9 @@ packages: pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -3966,9 +3919,6 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - preact@10.24.3: - resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==} - precinct@12.2.0: resolution: {integrity: sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==} engines: {node: '>=18'} @@ -3978,11 +3928,13 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-tailwindcss@0.6.13: - resolution: {integrity: sha512-uQ0asli1+ic8xrrSmIOaElDu0FacR4x69GynTh2oZjFY10JUt6EEumTQl5tB4fMeD6I1naKd+4rXQQ7esT2i1g==} - engines: {node: '>=14.21.3'} + prettier-plugin-tailwindcss@0.7.1: + resolution: {integrity: sha512-Bzv1LZcuiR1Sk02iJTS1QzlFNp/o5l2p3xkopwOrbPmtMeh3fK9rVW5M3neBQzHq+kGKj/4LGQMTNcTH4NGPtQ==} + engines: {node: '>=20.19'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-hermes': '*' + '@prettier/plugin-oxc': '*' '@prettier/plugin-pug': '*' '@shopify/prettier-plugin-liquid': '*' '@trivago/prettier-plugin-sort-imports': '*' @@ -3990,18 +3942,20 @@ packages: prettier: ^3.0 prettier-plugin-astro: '*' prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' prettier-plugin-jsdoc: '*' prettier-plugin-marko: '*' prettier-plugin-multiline-arrays: '*' prettier-plugin-organize-attributes: '*' prettier-plugin-organize-imports: '*' prettier-plugin-sort-imports: '*' - prettier-plugin-style-order: '*' prettier-plugin-svelte: '*' peerDependenciesMeta: '@ianvs/prettier-plugin-sort-imports': optional: true + '@prettier/plugin-hermes': + optional: true + '@prettier/plugin-oxc': + optional: true '@prettier/plugin-pug': optional: true '@shopify/prettier-plugin-liquid': @@ -4014,8 +3968,6 @@ packages: optional: true prettier-plugin-css-order: optional: true - prettier-plugin-import-sort: - optional: true prettier-plugin-jsdoc: optional: true prettier-plugin-marko: @@ -4028,13 +3980,16 @@ packages: optional: true prettier-plugin-sort-imports: optional: true - prettier-plugin-style-order: - optional: true prettier-plugin-svelte: optional: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + + prettier@4.0.0-alpha.10: + resolution: {integrity: sha512-auyI68pnS9LmLRQCRuRBQaoqWU3Jnrifbhc+patuIGd1gzB/5h2CW1fa3Lub45R03ah+wzxbB2DNV1S1wzz9QQ==} engines: {node: '>=14'} hasBin: true @@ -4042,10 +3997,6 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -4053,11 +4004,23 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} + promise-make-counter@1.0.2: + resolution: {integrity: sha512-FJAxTBWQuQoAs4ZOYuKX1FHXxEgKLEzBxUvwr4RoOglkTpOjWuM+RXsK3M9q5lMa8kjqctUrhwYeZFT4ygsnag==} + + promise-make-naked@2.1.2: + resolution: {integrity: sha512-y7s8ZuHIG56JYspB24be9GFkXA1zXL85Ur9u1DKrW/tvyUoPxWgBjnalK6Nc6l7wHBcAW0c3PO07+XOsWTRuhg==} + + promise-make-naked@3.0.2: + resolution: {integrity: sha512-B+b+kQ1YrYS7zO7P7bQcoqqMUizP06BOyNSBEnB5VJKDSWo8fsVuDkfSmwdjF0JsRtaNh83so5MMFJ95soH5jg==} + + promise-resolve-timeout@2.0.1: + resolution: {integrity: sha512-90Qzzu5SmR+ksmTPsc79121NZGtEiPvKACQLCl6yofknRx5xJI9kNj3oDVSX6dVTneF8Ju6+xpVFdDSzb7cNcg==} + property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - property-information@7.0.0: - resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} @@ -4070,8 +4033,8 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -4092,13 +4055,6 @@ packages: rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} - read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} @@ -4132,15 +4088,17 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - recast@0.23.9: - resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + recast@0.23.11: + resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} engines: {node: '>= 4'} recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - recma-jsx@1.0.0: - resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 recma-parse@1.0.0: resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} @@ -4186,23 +4144,23 @@ packages: rehype-slug@6.0.0: resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} - remark-directive@3.0.0: - resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} remark-frontmatter@5.0.0: resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - remark-gfm@4.0.0: - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - remark-mdx@3.1.0: - resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-rehype@11.1.1: - resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -4282,9 +4240,6 @@ packages: scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -4298,6 +4253,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} @@ -4309,21 +4269,17 @@ packages: serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - seroval-plugins@1.1.1: - resolution: {integrity: sha512-qNSy1+nUj7hsCOon7AO4wdAIo9P0jrzAMp18XhiOzA6/uO5TKtP7ScozVJ8T293oRIvi5wyCHSM4TrJo/c/GJA==} - engines: {node: '>=10'} - peerDependencies: - seroval: ^1.0 - seroval-plugins@1.3.2: resolution: {integrity: sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 - seroval@1.1.1: - resolution: {integrity: sha512-rqEO6FZk8mv7Hyv4UCj3FD3b6Waqft605TLfsCe/BiaylRpyyMC0b+uA5TJKawX3KzMrdi3wsLbCaLplrQmBvQ==} + seroval-plugins@1.3.3: + resolution: {integrity: sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==} engines: {node: '>=10'} + peerDependencies: + seroval: ^1.0 seroval@1.3.2: resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} @@ -4354,8 +4310,8 @@ packages: shiki@1.29.2: resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} - shiki@3.11.0: - resolution: {integrity: sha512-VgKumh/ib38I1i3QkMn6mAQA6XjjQubqaAYhfge71glAll0/4xnt8L2oSuC45Qcr/G5Kbskj4RliMQddGmy/Og==} + shiki@3.14.0: + resolution: {integrity: sha512-J0yvpLI7LSig3Z3acIuDLouV5UCKQqu8qOArwMx+/yPVC3WRMgrP67beaG8F+j4xfEWE0eVC4GeBCIXeOPra1g==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -4377,18 +4333,13 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-git@3.27.0: - resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==} - simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - sitemap@8.0.0: resolution: {integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} + deprecated: 'SECURITY: Multiple vulnerabilities fixed in 8.0.1 (XML injection, path traversal, command injection, protocol injection). Upgrade immediately: npm install sitemap@8.0.1' hasBin: true slash@5.1.0: @@ -4436,8 +4387,8 @@ packages: peerDependencies: solid-js: ^1.3 - solid-use@0.9.0: - resolution: {integrity: sha512-8TGwB4m3qQ7qKo8Lg0pi/ZyyGVmQIjC4sPyxRCH7VPds0BzSsT734PhP3jhR6zMJxoYHM+uoivjq0XdpzXeOJg==} + solid-use@0.9.1: + resolution: {integrity: sha512-UwvXDVPlrrbj/9ewG9ys5uL2IO4jSiwys2KPzK4zsnAcmEl7iDafZWW1Mo4BSEWOmQCGK6IvpmGHo1aou8iOFw==} engines: {node: '>=10'} peerDependencies: solid-js: ^1.7 @@ -4453,9 +4404,9 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -4472,6 +4423,9 @@ packages: spdx-license-ids@3.0.21: resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + specialist@1.4.5: + resolution: {integrity: sha512-4mPQEREzBUW2hzlXX/dWFbQdUWzpkqvMFVpUAdRlo1lUlhKMObDHiAo09oZ94x4cS3uWMJebPOTn+GaQYLfv3Q==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4498,9 +4452,15 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + stdin-blocker@2.0.1: + resolution: {integrity: sha512-NEcAEpag+gE/Iivx1prq1AFPwnmgmcyHNvGZLUqGBoOE/7DZtmhtP9iYqJt8ymueFL+kknhfEebAMWbrWp3FJw==} + streamx@2.22.1: resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} + string-escape-regex@1.0.1: + resolution: {integrity: sha512-cdSXOHSJ32K/T2dbj9t7rJwonujaOkaINpa1zsXT+PNFIv1zuPjtr0tXanCvUhN2bIu2IB0z/C7ksl+Qsy44nA==} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -4545,8 +4505,17 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} + + stubborn-fs@1.2.5: + resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} + + style-to-js@1.1.18: + resolution: {integrity: sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==} + + style-to-object@1.0.11: + resolution: {integrity: sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow==} style-to-object@1.0.8: resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} @@ -4556,8 +4525,8 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@10.0.0: - resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} supports-color@5.5.0: @@ -4612,20 +4581,59 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + tiny-bin@1.11.3: + resolution: {integrity: sha512-CrBbiKsvJN4bHSDA0cPau4t5KWdGUUAcTXQ8bB14XNqNY+68UZF4Zo7WRVdHLq0j0GYZjIRbNDg+zJbJXDEXeg==} + + tiny-colors@2.2.2: + resolution: {integrity: sha512-Elmv7JL+dX0c78caKEelH1nHHBskHzJkaqBRgVvQuxsvVA/Z9Fa2R3ZZtfmkkajcd18e96RLMwJvtFqC8jsZWA==} + + tiny-cursor@2.0.1: + resolution: {integrity: sha512-28ytGEfb7m/8Gdflv+wSo5qRM01fROo2CjJVYon6yYbzPsc3ap3Ps5CZXuS19pIROwswSvZMGbEQ7kWnokdUGA==} + + tiny-editorconfig@1.0.1: + resolution: {integrity: sha512-V6AW3vnBrhhtYBPdTFTMaPNlziyNdyReG5wTbfYnKSy6nHScI/vfmtFuDx9sjpgOCutK+QpW+LVAl4QigdLssw==} + tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tiny-jsonc@1.0.2: + resolution: {integrity: sha512-f5QDAfLq6zIVSyCZQZhhyl0QS6MvAyTxgz4X4x3+EoCktNWEYJ6PeoEA97fyb98njpBNNi88ybpD7m+BDFXaCw==} + + tiny-levenshtein@1.1.0: + resolution: {integrity: sha512-sU4wduNrjb2e51rgPOTy6nx3ag8pQPFA9XQCQQsFmECWEDS23LEoYsZv3fhVuJNIcxzBNMvCDDb7e/PPOP+vxw==} + + tiny-parse-argv@2.8.2: + resolution: {integrity: sha512-RnIDHQ+r9zMuslQWVoRxfKVOumteeheQqbwNYJyQxzM2vzx/vdN5xAeL64F3rQOpfbVdxFkhM4zPDyfq7SxsBQ==} + + tiny-readdir-glob@1.23.2: + resolution: {integrity: sha512-+47FIdgzEtZj03mOyq9iAljlZZNleqSEwe3i6Uzkzec5axbMg32Vp78U2fLo4TiCMv9gzjnno7yJn34z5pXECw==} + + tiny-readdir@2.7.4: + resolution: {integrity: sha512-721U+zsYwDirjr8IM6jqpesD/McpZooeFi3Zc6mcjy1pse2C+v19eHPFRqz4chGXZFw7C3KITDjAtHETc2wj7Q==} + + tiny-spinner@2.0.5: + resolution: {integrity: sha512-OIGogtfEbA2IQdCBgF0zI3EjpFyiUEd6Uj5j0q5jhIPPq8pgNR83D0t9WIckbD2FzPann8lH/uLf1vX0YIu04w==} + + tiny-truncate@1.0.5: + resolution: {integrity: sha512-v69A1bjP624gxzBEvvshTMcwU2tkMcuAOIXAjJj0AG7aR+/YFmBYSw3rEKo0Ma2SCX7coeq9MNnUHQo1wZmMHw==} + + tiny-updater@3.5.3: + resolution: {integrity: sha512-wEUssfOOkVLg2raSaRbyZDHpVCDj6fnp7UjynpNE4XGuF+Gkj8GRRMoHdfk73VzLQs/AHKsbY8fCxXNz8Hx4Qg==} + tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.12: - resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} - engines: {node: '>=12.0.0'} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tmp-promise@3.0.3: resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} @@ -4670,9 +4678,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.8.0: - resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -4692,15 +4697,15 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - typescript-eslint@8.40.0: - resolution: {integrity: sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==} + typescript-eslint@8.46.2: + resolution: {integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true @@ -4713,9 +4718,6 @@ packages: ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} - ultramatter@0.0.4: - resolution: {integrity: sha512-1f/hO3mR+/Hgue4eInOF/Qm/wzDqwhYha4DxM0hre9YIUyso3fE2XtrAU6B4njLqTC8CM49EZaYgsVSa+dXHGw==} - uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -4725,8 +4727,8 @@ packages: undici-types@5.28.4: resolution: {integrity: sha512-3OeMF5Lyowe8VW0skf5qaIE7Or3yS9LS7fvMUI0gg4YxpIBVg0L8BxCmROw2CcYhSkpR68Epz7CGc8MPj94Uww==} - undici-types@7.10.0: - resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} @@ -4745,8 +4747,8 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unimport@4.1.2: - resolution: {integrity: sha512-oVUL7PSlyVV3QRhsdcyYEMaDX8HJyS/CnUonEJTYA3//bWO+o/4gG8F7auGWWWkrrxBQBYOO8DKe+C53ktpRXw==} + unimport@4.2.0: + resolution: {integrity: sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==} engines: {node: '>=18.12.0'} unimport@5.0.1: @@ -4759,8 +4761,8 @@ packages: unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} unist-util-mdx-define@1.1.2: resolution: {integrity: sha512-9ncH7i7TN5Xn7/tzX5bE3rXgz1X/u877gYVAUB3mLeTKYJmQHmqKTDBi6BTGXV7AeolBCI9ErcVsOt2qryoD0g==} @@ -4774,8 +4776,8 @@ packages: 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-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -4788,8 +4790,8 @@ packages: resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} engines: {node: '>=0.10.0'} - unplugin-auto-import@19.1.1: - resolution: {integrity: sha512-sCGZZrSR1Bc8RfN8Q0RUDxXtC20rdAt7UB4lDyq8MNtKVHiXXh+5af6Nz4JRp9Q+7HjnbgQfQox0TkEymjdUAQ==} + unplugin-auto-import@19.3.0: + resolution: {integrity: sha512-iIi0u4Gq2uGkAOGqlPJOAMI8vocvjh1clGTfSK4SOrJKrt+tirrixo/FjgBwXQNNdS7ofcr7OxzmOb/RjWxeEQ==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': ^3.2.2 @@ -4800,8 +4802,8 @@ packages: '@vueuse/core': optional: true - unplugin-icons@22.1.0: - resolution: {integrity: sha512-ect2ZNtk1Zgwb0NVHd0C1IDW/MV+Jk/xaq4t8o6rYdVS3+L660ZdD5kTSQZvsgdwCvquRw+/wYn75hsweRjoIA==} + unplugin-icons@22.5.0: + resolution: {integrity: sha512-MBlMtT5RuMYZy4TZgqUL2OTtOdTUVsS1Mhj6G1pEzMlFJlEnq6mhUfoIt45gBWxHcsOdXJDWLg3pRZ+YmvAVWQ==} peerDependencies: '@svgr/core': '>=7.0.0' '@svgx/core': ^1.0.1 @@ -4827,10 +4829,18 @@ packages: resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} engines: {node: '>=18.12.0'} + unplugin-utils@0.2.5: + resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} + engines: {node: '>=18.12.0'} + unplugin@1.16.1: resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} engines: {node: '>=14.0.0'} + unplugin@2.3.10: + resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} + engines: {node: '>=18.12.0'} + unplugin@2.3.5: resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} engines: {node: '>=18.12.0'} @@ -4930,8 +4940,8 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true - validate-html-nesting@1.2.2: - resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + validate-html-nesting@1.2.3: + resolution: {integrity: sha512-kdkWdCl6eCeLlRShJKbjVOU2kFKxMF8Ghu50n+crEoyx+VKm3FxAxF9z4DCy6+bbTOqNW0+jcIYRnjoIRzigRw==} validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -4939,8 +4949,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==} @@ -4949,12 +4959,12 @@ packages: resolution: {integrity: sha512-8+xsAx/+J+QENGV2igI29u1/gvlFKeXYBAsIk1OOzt9USmLxyaqBHf+GvkiZ8QgPTFP9OyA2w+TuPynyushr7g==} hasBin: true - vite-plugin-solid@2.11.2: - resolution: {integrity: sha512-/OXVasW5OIRSFXnqzMgm8X3hPvf+JTbGecjQhmk7QnbDFq4hqdLssuYAWw9GsJGfzUPiMHM3ME2Y2XHPsTWmkw==} + vite-plugin-solid@2.11.8: + resolution: {integrity: sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 peerDependenciesMeta: '@testing-library/jest-dom': optional: true @@ -4999,10 +5009,10 @@ packages: yaml: optional: true - vitefu@1.0.5: - resolution: {integrity: sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==} + vitefu@1.1.1: + resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 peerDependenciesMeta: vite: optional: true @@ -5020,9 +5030,15 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + webworker-shim@1.1.4: + resolution: {integrity: sha512-W/40L5W6ZQyGhYr3hJ7N/2SjdK5OdFtnYm94j6xlRyjckegXnIGwz0EdxdkQx6VGTglJjK8mqBhMz3fd3AY4bg==} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + when-exit@2.1.4: + resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -5049,6 +5065,9 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + worktank@2.7.3: + resolution: {integrity: sha512-M0fesnpttBPdvNYBdzRvLDsacN0na9RYWFxwmM/x1+/6mufjduv9/9vBObK8EXDqxRMX/SOYJabpo0UCYYBUdQ==} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -5079,13 +5098,8 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.6.0: - resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} - engines: {node: '>= 14'} - hasBin: true - - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} engines: {node: '>= 14.6'} hasBin: true @@ -5116,6 +5130,21 @@ packages: resolution: {integrity: sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ==} engines: {node: '>=18'} + zeptomatch-escape@1.0.1: + resolution: {integrity: sha512-kAc5HzvnF66djCYDqpsS46Y/FKi+4pe/KJRmTmm/hwmoaNYzmm6bBY07cdkxmJCdY018S5UeQn4yP+9X2x1MbQ==} + + zeptomatch-explode@1.0.1: + resolution: {integrity: sha512-7cUQASLLRGZ20+zEQcEgQ9z/gH1+jSfrNg4KfRJSxF1QU2fpymAwWvnAxl69GD5pr3IV0V9vo3ke2np//Nh4tQ==} + + zeptomatch-is-static@1.0.1: + resolution: {integrity: sha512-bN9q7H/UdXhkub01WE7b7Grg07jLldNnIWG2T1IpBq5NtvcQ4DwFbNiGGapnbKHUdWiCNjg/bIvixV88nj9gog==} + + zeptomatch-unescape@1.0.1: + resolution: {integrity: sha512-xhSFkKV0aQ03e/eiN4VhOTwJhcqfH7SMiGHrWKw9gXi+0EVJAxJ8Gt4ehozYsYLhUXL1JFbP1g3EE6ZmkStB0g==} + + zeptomatch@2.1.0: + resolution: {integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==} + zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -5123,116 +5152,14 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + zod@4.1.12: + resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)': - dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) - '@algolia/client-search': 5.14.2 - algoliasearch: 5.14.2 - - '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)': - dependencies: - '@algolia/client-search': 5.14.2 - algoliasearch: 5.14.2 - - '@algolia/client-abtesting@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/client-analytics@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/client-common@5.14.2': {} - - '@algolia/client-insights@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/client-personalization@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/client-query-suggestions@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/client-search@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/ingestion@1.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/monitoring@1.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/recommend@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - - '@algolia/requester-browser-xhr@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - - '@algolia/requester-fetch@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - - '@algolia/requester-node-http@5.14.2': - dependencies: - '@algolia/client-common': 5.14.2 - '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': @@ -5240,12 +5167,12 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/install-pkg@1.0.0': + '@antfu/install-pkg@1.1.0': dependencies: - package-manager-detector: 0.2.10 - tinyexec: 0.3.2 + package-manager-detector: 1.5.0 + tinyexec: 1.0.1 - '@antfu/utils@8.1.1': {} + '@antfu/utils@9.3.0': {} '@babel/code-frame@7.25.7': dependencies: @@ -5266,7 +5193,7 @@ snapshots: '@babel/compat-data@7.25.8': {} - '@babel/compat-data@7.28.0': {} + '@babel/compat-data@7.28.4': {} '@babel/core@7.25.8': dependencies: @@ -5281,27 +5208,27 @@ snapshots: '@babel/traverse': 7.25.7 '@babel/types': 7.25.8 convert-source-map: 2.0.0 - debug: 4.3.7 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/core@7.28.3': + '@babel/core@7.28.4': dependencies: - '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helpers': 7.28.3 - '@babel/parser': 7.28.3 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.1 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -5310,22 +5237,22 @@ snapshots: '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.28.4 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 '@babel/generator@7.28.3': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/helper-compilation-targets@7.25.7': dependencies: @@ -5337,21 +5264,21 @@ snapshots: '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.3 + browserslist: 4.26.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)': + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5360,26 +5287,26 @@ snapshots: '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.18.6': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.28.4 '@babel/helper-module-imports@7.25.7': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color @@ -5389,60 +5316,56 @@ snapshots: '@babel/helper-module-imports': 7.25.7 '@babel/helper-simple-access': 7.25.7 '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/helper-plugin-utils@7.25.7': {} '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.25.7': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-string-parser@7.25.7': {} - '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-identifier@7.25.9': {} - '@babel/helper-validator-identifier@7.27.1': {} '@babel/helper-validator-option@7.25.7': {} @@ -5451,41 +5374,37 @@ snapshots: '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 - '@babel/helpers@7.28.3': + '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.27.1 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.1 '@babel/parser@7.25.8': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.28.4 - '@babel/parser@7.27.5': + '@babel/parser@7.28.4': dependencies: - '@babel/types': 7.27.6 - - '@babel/parser@7.28.3': - dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.8)': @@ -5493,74 +5412,74 @@ snapshots: '@babel/core': 7.25.8 '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.28.3)': + '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) transitivePeerDependencies: - supports-color '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@babel/traverse@7.25.7': dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.27.1 '@babel/generator': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 - debug: 4.3.7 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.3 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/traverse@7.28.3': + '@babel/traverse@7.28.4': dependencies: '@babel/code-frame': 7.27.1 '@babel/generator': 7.28.3 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.3 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - debug: 4.4.1 + '@babel/types': 7.28.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -5570,27 +5489,17 @@ snapshots: '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 - '@babel/types@7.26.9': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/types@7.27.6': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/types@7.28.2': + '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@bprogress/core@1.1.18': {} - - '@clack/core@0.3.4': - dependencies: - picocolors: 1.1.1 - sisteransi: 1.0.5 + '@bprogress/core@1.3.4': {} '@cloudflare/kv-asset-handler@0.4.0': dependencies: @@ -5603,7 +5512,7 @@ snapshots: '@floating-ui/dom': 1.6.11 solid-js: 1.9.9 - '@ctrl/tinycolor@4.1.0': {} + '@ctrl/tinycolor@4.2.0': {} '@dabh/diagnostics@2.0.3': dependencies: @@ -5623,30 +5532,7 @@ snapshots: gonzales-pe: 4.3.0 node-source-walk: 7.0.1 - '@docsearch/css@3.8.0': {} - - '@docsearch/js@3.8.0(@algolia/client-search@5.14.2)(react@18.3.1)(search-insights@2.17.3)': - dependencies: - '@docsearch/react': 3.8.0(@algolia/client-search@5.14.2)(react@18.3.1)(search-insights@2.17.3) - preact: 10.24.3 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - - '@docsearch/react@3.8.0(@algolia/client-search@5.14.2)(react@18.3.1)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) - '@docsearch/css': 3.8.0 - algoliasearch: 5.14.2 - optionalDependencies: - react: 18.3.1 - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' + '@docsearch/css@3.9.0': {} '@esbuild/aix-ppc64@0.25.5': optional: true @@ -5723,63 +5609,77 @@ snapshots: '@esbuild/win32-x64@0.25.5': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1(jiti@2.4.2))': dependencies: - eslint: 9.33.0(jiti@2.4.2) + eslint: 9.39.1(jiti@2.4.2) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} - '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.21.0': + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1 + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.1': {} + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 - '@eslint/core@0.15.2': + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1 + debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 - import-fresh: 3.3.0 + import-fresh: 3.3.1 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@9.33.0': {} + '@eslint/js@9.39.1': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.3.5': + '@eslint/plugin-kit@0.4.1': dependencies: - '@eslint/core': 0.15.2 + '@eslint/core': 0.17.0 levn: 0.4.1 '@expressive-code/core@0.40.2': dependencies: - '@ctrl/tinycolor': 4.1.0 - hast-util-select: 6.0.3 + '@ctrl/tinycolor': 4.2.0 + hast-util-select: 6.0.4 + hast-util-to-html: 9.0.5 + hast-util-to-text: 4.0.2 + hastscript: 9.0.1 + postcss: 8.5.6 + postcss-nested: 6.2.0(postcss@8.5.6) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.2 + + '@expressive-code/core@0.41.3': + dependencies: + '@ctrl/tinycolor': 4.2.0 + hast-util-select: 6.0.4 hast-util-to-html: 9.0.5 hast-util-to-text: 4.0.2 - hastscript: 9.0.0 + hastscript: 9.0.1 postcss: 8.5.6 postcss-nested: 6.2.0(postcss@8.5.6) unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 '@expressive-code/plugin-collapsible-sections@0.40.2': dependencies: @@ -5789,6 +5689,10 @@ snapshots: dependencies: '@expressive-code/core': 0.40.2 + '@expressive-code/plugin-frames@0.41.3': + dependencies: + '@expressive-code/core': 0.41.3 + '@expressive-code/plugin-line-numbers@0.40.2': dependencies: '@expressive-code/core': 0.40.2 @@ -5798,10 +5702,19 @@ snapshots: '@expressive-code/core': 0.40.2 shiki: 1.29.2 + '@expressive-code/plugin-shiki@0.41.3': + dependencies: + '@expressive-code/core': 0.41.3 + shiki: 3.14.0 + '@expressive-code/plugin-text-markers@0.40.2': dependencies: '@expressive-code/core': 0.40.2 + '@expressive-code/plugin-text-markers@0.41.3': + dependencies: + '@expressive-code/core': 0.41.3 + '@fastify/busboy@3.1.1': {} '@floating-ui/core@1.6.8': @@ -5815,37 +5728,37 @@ snapshots: '@floating-ui/utils@0.2.8': {} - '@fontsource-variable/inter@5.1.1': {} + '@fontsource-variable/inter@5.2.8': {} - '@fontsource-variable/jetbrains-mono@5.1.2': {} + '@fontsource-variable/jetbrains-mono@5.2.8': {} - '@fontsource-variable/lexend@5.1.2': {} + '@fontsource-variable/lexend@5.2.11': {} '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.3': {} + '@iarna/toml@2.2.5': {} + '@iconify/types@2.0.0': {} - '@iconify/utils@2.3.0': + '@iconify/utils@3.0.2': dependencies: - '@antfu/install-pkg': 1.0.0 - '@antfu/utils': 8.1.1 + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 9.3.0 '@iconify/types': 2.0.0 - debug: 4.4.1 + debug: 4.4.3 globals: 15.15.0 kolorist: 1.8.0 - local-pkg: 1.1.1 - mlly: 1.7.4 + local-pkg: 1.1.2 + mlly: 1.8.0 transitivePeerDependencies: - supports-color @@ -5859,6 +5772,12 @@ snapshots: '@ioredis/commands@1.2.0': {} + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5872,26 +5791,21 @@ snapshots: dependencies: minipass: 7.1.2 - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/gen-mapping@0.3.8': + '@jridgewell/remapping@2.3.5': dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} @@ -5899,19 +5813,17 @@ snapshots: '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping@0.3.30': + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 @@ -5928,77 +5840,75 @@ snapshots: solid-presence: 0.1.8(solid-js@1.9.9) solid-prevent-scroll: 0.1.10(solid-js@1.9.9) - '@kobalte/solidbase@0.2.17(@algolia/client-search@5.14.2)(@solidjs/start@1.1.7(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)))(@vue/compiler-sfc@3.5.16)(acorn@8.15.0)(expressive-code@0.40.2)(react@18.3.1)(search-insights@2.17.3)(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))': + '@kobalte/solidbase@0.2.19(@solidjs/start@1.2.0(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)))(@vue/compiler-sfc@3.5.16)(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))': dependencies: '@alloc/quick-lru': 5.2.0 - '@bprogress/core': 1.1.18 - '@docsearch/css': 3.8.0 - '@docsearch/js': 3.8.0(@algolia/client-search@5.14.2)(react@18.3.1)(search-insights@2.17.3) + '@bprogress/core': 1.3.4 + '@docsearch/css': 3.9.0 '@expressive-code/core': 0.40.2 '@expressive-code/plugin-collapsible-sections': 0.40.2 '@expressive-code/plugin-frames': 0.40.2 '@expressive-code/plugin-line-numbers': 0.40.2 - '@fontsource-variable/inter': 5.1.1 - '@fontsource-variable/jetbrains-mono': 5.1.2 - '@fontsource-variable/lexend': 5.1.2 + '@fontsource-variable/inter': 5.2.8 + '@fontsource-variable/jetbrains-mono': 5.2.8 + '@fontsource-variable/lexend': 5.2.11 '@kobalte/core': 0.13.11(solid-js@1.9.9) - '@mdx-js/mdx': 3.1.0(acorn@8.15.0) - '@solid-primitives/clipboard': 1.5.10(solid-js@1.9.9) + '@mdx-js/mdx': 3.1.1 + '@solid-primitives/clipboard': 1.6.2(solid-js@1.9.9) '@solid-primitives/context': 0.2.3(solid-js@1.9.9) '@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9) - '@solid-primitives/keyboard': 1.2.8(solid-js@1.9.9) + '@solid-primitives/keyboard': 1.3.3(solid-js@1.9.9) '@solid-primitives/media': 2.3.3(solid-js@1.9.9) '@solid-primitives/platform': 0.1.2(solid-js@1.9.9) - '@solid-primitives/scroll': 2.0.23(solid-js@1.9.9) - '@solid-primitives/storage': 4.3.1(solid-js@1.9.9) + '@solid-primitives/scroll': 2.1.3(solid-js@1.9.9) + '@solid-primitives/storage': 4.3.3(solid-js@1.9.9) '@solidjs/meta': 0.29.4(solid-js@1.9.9) '@solidjs/router': 0.15.3(solid-js@1.9.9) - '@solidjs/start': 1.1.7(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) - cross-spawn: 7.0.3 + '@solidjs/start': 1.2.0(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) + cross-spawn: 7.0.6 + diff: 8.0.2 esast-util-from-js: 2.0.1 - estree-util-value-to-estree: 3.2.1 - expressive-code-twoslash: 0.4.0(@expressive-code/core@0.40.2)(expressive-code@0.40.2)(typescript@5.9.2) + estree-util-value-to-estree: 3.4.1 + expressive-code: 0.41.3 + expressive-code-twoslash: 0.4.0(@expressive-code/core@0.40.2)(expressive-code@0.41.3)(typescript@5.9.3) gray-matter: 4.0.3 - hastscript: 9.0.0 - mdast-util-find-and-replace: 3.0.1 + hastscript: 9.0.1 + magic-string: 0.30.19 + mdast-util-find-and-replace: 3.0.2 mdast-util-mdx-jsx: 3.2.0 mdast-util-to-string: 4.0.0 mdast-util-toc: 7.1.0 + parse-numeric-range: 1.3.0 + prettier: 4.0.0-alpha.10 rehype-autolink-headings: 7.1.0 rehype-expressive-code: 0.40.2 rehype-raw: 7.0.0 rehype-slug: 6.0.0 - remark-directive: 3.0.0 + remark-directive: 3.0.1 remark-frontmatter: 5.0.0 - remark-gfm: 4.0.0 + remark-gfm: 4.0.1 solid-js: 1.9.9 - solid-mdx: 0.0.7(solid-js@1.9.9)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) + solid-mdx: 0.0.7(solid-js@1.9.9)(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) + source-map: 0.7.6 toml: 3.0.0 - typescript: 5.9.2 + typescript: 5.9.3 unified: 11.0.5 unist: 0.0.1 unist-builder: 4.0.0 unist-util-mdx-define: 1.1.2 unist-util-visit: 5.0.0 - unplugin-auto-import: 19.1.1 - unplugin-icons: 22.1.0(@vue/compiler-sfc@3.5.16) - vinxi: 0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) - vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) - yaml: 2.8.0 + unplugin-auto-import: 19.3.0 + unplugin-icons: 22.5.0(@vue/compiler-sfc@3.5.16) + vinxi: 0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) + vite: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) + yaml: 2.8.1 transitivePeerDependencies: - - '@algolia/client-search' - '@nuxt/kit' - '@svgr/core' - '@svgx/core' - '@tauri-apps/plugin-store' - - '@types/react' - '@vue/compiler-sfc' - '@vueuse/core' - - acorn - - expressive-code - - react - - react-dom - - search-insights - solid-start - supports-color - svelte @@ -6020,29 +5930,6 @@ snapshots: '@solid-primitives/utils': 6.2.3(solid-js@1.9.9) solid-js: 1.9.9 - '@kwsites/file-exists@1.1.1': - dependencies: - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - - '@kwsites/promise-deferred@1.1.1': {} - - '@lunariajs/core@0.1.1': - dependencies: - '@clack/core': 0.3.4 - fast-glob: 3.3.3 - get-port: 7.1.0 - jiti: 1.21.6 - micromatch: 4.0.8 - path-to-regexp: 6.3.0 - picocolors: 1.1.1 - simple-git: 3.27.0 - ultramatter: 0.0.4 - zod: 3.25.76 - transitivePeerDependencies: - - supports-color - '@mapbox/node-pre-gyp@2.0.0': dependencies: consola: 3.4.2 @@ -6050,40 +5937,40 @@ snapshots: https-proxy-agent: 7.0.6 node-fetch: 2.7.0 nopt: 8.1.0 - semver: 7.7.2 + semver: 7.7.3 tar: 7.4.3 transitivePeerDependencies: - encoding - supports-color - '@mdx-js/mdx@3.1.0(acorn@8.15.0)': + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 + acorn: 8.15.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 estree-util-scope: 1.0.0 estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.2 + hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.0(acorn@8.15.0) + recma-jsx: 1.0.1(acorn@8.15.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 - remark-mdx: 3.1.0 + remark-mdx: 3.1.1 remark-parse: 11.0.0 - remark-rehype: 11.1.1 - source-map: 0.7.4 + remark-rehype: 11.1.2 + source-map: 0.7.6 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 unist-util-visit: 5.0.0 vfile: 6.0.3 transitivePeerDependencies: - - acorn - supports-color '@netlify/binary-info@1.0.0': {} @@ -6136,7 +6023,7 @@ snapshots: '@netlify/zip-it-and-ship-it@12.1.4(rollup@4.43.0)': dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.28.4 '@babel/types': 7.27.6 '@netlify/binary-info': 1.0.0 '@netlify/serverless-functions-api': 2.1.1 @@ -6162,7 +6049,7 @@ snapshots: precinct: 12.2.0 require-package-name: 2.0.1 resolve: 2.0.0-next.5 - semver: 7.7.2 + semver: 7.7.3 tmp-promise: 3.0.3 toml: 3.0.0 unixify: 1.0.0 @@ -6342,10 +6229,37 @@ snapshots: dependencies: '@poppinss/colors': 4.1.4 '@sindresorhus/is': 7.0.2 - supports-color: 10.0.0 + supports-color: 10.2.2 '@poppinss/exception@1.2.1': {} + '@prettier/cli@0.6.0(prettier@4.0.0-alpha.10)': + dependencies: + '@iarna/toml': 2.2.5 + atomically: 2.0.3 + fast-ignore: 1.1.3 + find-up-json: 2.0.5 + function-once: 3.0.1 + import-meta-resolve: 4.2.0 + is-binary-path: 2.1.0 + js-yaml: 4.1.0 + json-sorted-stringify: 1.0.2 + json5: 2.2.3 + kasi: 1.1.1 + lomemo: 1.0.1 + pioppo: 1.2.1 + prettier: 4.0.0-alpha.10 + promise-resolve-timeout: 2.0.1 + specialist: 1.4.5 + tiny-editorconfig: 1.0.1 + tiny-jsonc: 1.0.2 + tiny-readdir-glob: 1.23.2 + tiny-spinner: 2.0.5 + worktank: 2.7.3 + zeptomatch: 2.1.0 + zeptomatch-escape: 1.0.1 + zeptomatch-is-static: 1.0.1 + '@rollup/plugin-alias@5.1.1(rollup@4.43.0)': optionalDependencies: rollup: 4.43.0 @@ -6355,10 +6269,10 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.43.0) commondir: 1.0.1 estree-walker: 2.0.2 - fdir: 6.4.6(picomatch@4.0.2) + fdir: 6.5.0(picomatch@4.0.3) is-reference: 1.2.1 - magic-string: 0.30.17 - picomatch: 4.0.2 + magic-string: 0.30.19 + picomatch: 4.0.3 optionalDependencies: rollup: 4.43.0 @@ -6366,7 +6280,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.43.0) estree-walker: 2.0.2 - magic-string: 0.30.17 + magic-string: 0.30.19 optionalDependencies: rollup: 4.43.0 @@ -6389,7 +6303,7 @@ snapshots: '@rollup/plugin-replace@6.0.2(rollup@4.43.0)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.43.0) - magic-string: 0.30.17 + magic-string: 0.30.19 optionalDependencies: rollup: 4.43.0 @@ -6405,7 +6319,7 @@ snapshots: dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 - picomatch: 4.0.2 + picomatch: 4.0.3 optionalDependencies: rollup: 4.43.0 @@ -6478,9 +6392,9 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/core@3.11.0': + '@shikijs/core@3.14.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.14.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 @@ -6491,9 +6405,9 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 2.3.0 - '@shikijs/engine-javascript@3.11.0': + '@shikijs/engine-javascript@3.14.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.14.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 @@ -6502,48 +6416,46 @@ snapshots: '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/engine-oniguruma@3.11.0': + '@shikijs/engine-oniguruma@3.14.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.14.0 '@shikijs/vscode-textmate': 10.0.2 '@shikijs/langs@1.29.2': dependencies: '@shikijs/types': 1.29.2 - '@shikijs/langs@3.11.0': + '@shikijs/langs@3.14.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.14.0 '@shikijs/themes@1.29.2': dependencies: '@shikijs/types': 1.29.2 - '@shikijs/themes@3.11.0': + '@shikijs/themes@3.14.0': dependencies: - '@shikijs/types': 3.11.0 + '@shikijs/types': 3.14.0 '@shikijs/types@1.29.2': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 - '@shikijs/types@3.11.0': + '@shikijs/types@3.14.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 '@shikijs/vscode-textmate@10.0.2': {} - '@sinclair/typebox@0.27.8': {} - '@sindresorhus/is@7.0.2': {} '@sindresorhus/merge-streams@2.3.0': {} - '@solid-primitives/clipboard@1.5.10(solid-js@1.9.9)': + '@solid-primitives/clipboard@1.6.2(solid-js@1.9.9)': dependencies: - '@solid-primitives/utils': 6.3.1(solid-js@1.9.9) + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 '@solid-primitives/context@0.2.3(solid-js@1.9.9)': @@ -6555,11 +6467,11 @@ snapshots: '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 - '@solid-primitives/keyboard@1.2.8(solid-js@1.9.9)': + '@solid-primitives/keyboard@1.3.3(solid-js@1.9.9)': dependencies: '@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9) - '@solid-primitives/rootless': 1.5.1(solid-js@1.9.9) - '@solid-primitives/utils': 6.3.1(solid-js@1.9.9) + '@solid-primitives/rootless': 1.5.2(solid-js@1.9.9) + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 '@solid-primitives/keyed@1.2.2(solid-js@1.9.9)': @@ -6614,21 +6526,16 @@ snapshots: '@solid-primitives/utils': 6.2.3(solid-js@1.9.9) solid-js: 1.9.9 - '@solid-primitives/rootless@1.5.1(solid-js@1.9.9)': - dependencies: - '@solid-primitives/utils': 6.3.1(solid-js@1.9.9) - solid-js: 1.9.9 - '@solid-primitives/rootless@1.5.2(solid-js@1.9.9)': dependencies: '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 - '@solid-primitives/scroll@2.0.23(solid-js@1.9.9)': + '@solid-primitives/scroll@2.1.3(solid-js@1.9.9)': dependencies: '@solid-primitives/event-listener': 2.4.3(solid-js@1.9.9) - '@solid-primitives/rootless': 1.5.1(solid-js@1.9.9) - '@solid-primitives/static-store': 0.0.8(solid-js@1.9.9) + '@solid-primitives/rootless': 1.5.2(solid-js@1.9.9) + '@solid-primitives/static-store': 0.1.2(solid-js@1.9.9) solid-js: 1.9.9 '@solid-primitives/static-store@0.0.8(solid-js@1.9.9)': @@ -6641,24 +6548,20 @@ snapshots: '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 - '@solid-primitives/storage@4.3.1(solid-js@1.9.9)': + '@solid-primitives/storage@4.3.3(solid-js@1.9.9)': dependencies: - '@solid-primitives/utils': 6.3.1(solid-js@1.9.9) + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 '@solid-primitives/trigger@1.1.0(solid-js@1.9.9)': dependencies: - '@solid-primitives/utils': 6.2.3(solid-js@1.9.9) + '@solid-primitives/utils': 6.3.2(solid-js@1.9.9) solid-js: 1.9.9 '@solid-primitives/utils@6.2.3(solid-js@1.9.9)': dependencies: solid-js: 1.9.9 - '@solid-primitives/utils@6.3.1(solid-js@1.9.9)': - dependencies: - solid-js: 1.9.9 - '@solid-primitives/utils@6.3.2(solid-js@1.9.9)': dependencies: solid-js: 1.9.9 @@ -6671,23 +6574,24 @@ snapshots: dependencies: solid-js: 1.9.9 - '@solidjs/start@1.1.7(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))': + '@solidjs/start@1.2.0(solid-js@1.9.9)(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))': dependencies: - '@tanstack/server-functions-plugin': 1.121.21(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) - '@vinxi/plugin-directives': 0.5.0(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) - '@vinxi/server-components': 0.5.0(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) + '@tanstack/server-functions-plugin': 1.121.21(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) + '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) + '@vinxi/server-components': 0.5.1(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) + cookie-es: 2.0.0 defu: 6.1.4 error-stack-parser: 2.1.4 - html-to-image: 1.11.11 + html-to-image: 1.11.13 radix3: 1.1.2 - seroval: 1.1.1 - seroval-plugins: 1.1.1(seroval@1.1.1) + seroval: 1.3.2 + seroval-plugins: 1.3.3(seroval@1.3.2) shiki: 1.29.2 source-map-js: 1.2.1 terracotta: 1.0.6(solid-js@1.9.9) - tinyglobby: 0.2.12 - vinxi: 0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) - vite-plugin-solid: 2.11.2(solid-js@1.9.9)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) + tinyglobby: 0.2.15 + vinxi: 0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) + vite-plugin-solid: 2.11.8(solid-js@1.9.9)(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) transitivePeerDependencies: - '@testing-library/jest-dom' - solid-js @@ -6698,93 +6602,84 @@ snapshots: '@swc/helpers@0.5.13': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 - '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)': + '@tailwindcss/typography@0.5.19(tailwindcss@3.4.17)': dependencies: - lodash.castarray: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 tailwindcss: 3.4.17 - '@tanstack/directive-functions-plugin@1.121.21(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))': + '@tanstack/directive-functions-plugin@1.121.21(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))': dependencies: '@babel/code-frame': 7.26.2 - '@babel/core': 7.28.3 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/core': 7.28.4 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 '@tanstack/router-utils': 1.131.2 babel-dead-code-elimination: 1.0.10 tiny-invariant: 1.3.3 - vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color '@tanstack/router-utils@1.131.2': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.4 '@babel/generator': 7.28.3 - '@babel/parser': 7.28.3 - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/parser': 7.28.4 + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) ansis: 4.1.0 diff: 8.0.2 transitivePeerDependencies: - supports-color - '@tanstack/server-functions-plugin@1.121.21(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))': + '@tanstack/server-functions-plugin@1.121.21(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))': dependencies: '@babel/code-frame': 7.26.2 - '@babel/core': 7.28.3 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.4 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 - '@tanstack/directive-functions-plugin': 1.121.21(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@tanstack/directive-functions-plugin': 1.121.21(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) babel-dead-code-elimination: 1.0.10 tiny-invariant: 1.3.3 transitivePeerDependencies: - supports-color - vite - '@types/acorn@4.0.6': - dependencies: - '@types/estree': 1.0.8 - '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 - '@types/babel__generator': 7.6.8 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 + '@types/babel__traverse': 7.28.0 - '@types/babel__generator@7.6.8': + '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.28.4 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.25.8 - '@babel/types': 7.26.9 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 - '@types/babel__traverse@7.20.6': + '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.28.4 '@types/braces@3.0.4': {} '@types/debug@4.1.12': dependencies: - '@types/ms': 0.7.34 + '@types/ms': 2.1.0 '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.8 - '@types/estree@1.0.6': {} - '@types/estree@1.0.7': {} '@types/estree@1.0.8': {} @@ -6805,13 +6700,13 @@ snapshots: dependencies: '@types/braces': 3.0.4 - '@types/ms@0.7.34': {} + '@types/ms@2.1.0': {} '@types/node@17.0.45': {} - '@types/node@24.3.0': + '@types/node@24.10.0': dependencies: - undici-types: 7.10.0 + undici-types: 7.16.0 '@types/normalize-package-data@2.4.4': {} @@ -6819,7 +6714,7 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 24.3.0 + '@types/node': 24.10.0 '@types/triple-beam@1.3.5': {} @@ -6831,53 +6726,79 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 24.3.0 + '@types/node': 24.10.0 optional: true - '@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.46.1(@typescript-eslint/parser@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.40.0 - '@typescript-eslint/type-utils': 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.40.0 - eslint: 9.33.0(jiti@2.4.2) + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/type-utils': 8.46.1(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.1(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.1 + eslint: 9.39.1(jiti@2.4.2) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.40.0 - '@typescript-eslint/types': 8.40.0 - '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.40.0 - debug: 4.3.7 - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.9.2 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/type-utils': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.2 + eslint: 9.39.1(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.34.0(typescript@5.9.2)': + '@typescript-eslint/parser@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.9.2) - '@typescript-eslint/types': 8.34.0 - debug: 4.3.7 - typescript: 5.9.2 + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.2 + debug: 4.4.3 + eslint: 9.39.1(jiti@2.4.2) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.34.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) + '@typescript-eslint/types': 8.46.2 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.46.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) + '@typescript-eslint/types': 8.46.2 + debug: 4.4.3 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.40.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.46.2(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) - '@typescript-eslint/types': 8.40.0 - debug: 4.3.7 - typescript: 5.9.2 + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) + '@typescript-eslint/types': 8.46.2 + debug: 4.4.3 + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -6886,86 +6807,136 @@ snapshots: '@typescript-eslint/types': 8.34.0 '@typescript-eslint/visitor-keys': 8.34.0 - '@typescript-eslint/scope-manager@8.40.0': + '@typescript-eslint/scope-manager@8.46.1': + dependencies: + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/visitor-keys': 8.46.1 + + '@typescript-eslint/scope-manager@8.46.2': + dependencies: + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/visitor-keys': 8.46.2 + + '@typescript-eslint/tsconfig-utils@8.34.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/tsconfig-utils@8.46.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.40.0 - '@typescript-eslint/visitor-keys': 8.40.0 + typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.34.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.3)': dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.40.0(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.46.1(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - typescript: 5.9.2 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.1(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.1(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/type-utils@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.40.0 - '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - debug: 4.4.1 - eslint: 9.33.0(jiti@2.4.2) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.1(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.34.0': {} - '@typescript-eslint/types@8.40.0': {} + '@typescript-eslint/types@8.46.1': {} - '@typescript-eslint/typescript-estree@8.34.0(typescript@5.9.2)': + '@typescript-eslint/types@8.46.2': {} + + '@typescript-eslint/typescript-estree@8.34.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.34.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.9.2) + '@typescript-eslint/project-service': 8.34.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.9.3) '@typescript-eslint/types': 8.34.0 '@typescript-eslint/visitor-keys': 8.34.0 - debug: 4.3.7 + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.40.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.46.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.40.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2) - '@typescript-eslint/types': 8.40.0 - '@typescript-eslint/visitor-keys': 8.40.0 - debug: 4.3.7 + '@typescript-eslint/project-service': 8.46.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.1(typescript@5.9.3) + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/visitor-keys': 8.46.1 + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.46.2(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/visitor-keys': 8.46.2 + debug: 4.4.3 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.34.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.34.0 '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.9.2) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.9.2 + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.9.3) + eslint: 9.39.1(jiti@2.4.2) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.46.1(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.3) + eslint: 9.39.1(jiti@2.4.2) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/utils@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.40.0 - '@typescript-eslint/types': 8.40.0 - '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.9.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + eslint: 9.39.1(jiti@2.4.2) + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -6974,19 +6945,24 @@ snapshots: '@typescript-eslint/types': 8.34.0 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.40.0': + '@typescript-eslint/visitor-keys@8.46.1': dependencies: - '@typescript-eslint/types': 8.40.0 + '@typescript-eslint/types': 8.46.1 eslint-visitor-keys: 4.2.1 - '@typescript/vfs@1.6.1(typescript@5.9.2)': + '@typescript-eslint/visitor-keys@8.46.2': dependencies: - debug: 4.4.1 - typescript: 5.9.2 + '@typescript-eslint/types': 8.46.2 + eslint-visitor-keys: 4.2.1 + + '@typescript/vfs@1.6.1(typescript@5.9.3)': + dependencies: + debug: 4.4.3 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@ungap/structured-clone@1.2.0': {} + '@ungap/structured-clone@1.3.0': {} '@vercel/nft@0.29.4(rollup@4.43.0)': dependencies: @@ -7000,7 +6976,7 @@ snapshots: glob: 10.4.5 graceful-fs: 4.2.11 node-gyp-build: 4.8.4 - picomatch: 4.0.2 + picomatch: 4.0.3 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -7027,33 +7003,33 @@ snapshots: untun: 0.1.3 uqr: 0.1.2 - '@vinxi/plugin-directives@0.5.0(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))': + '@vinxi/plugin-directives@0.5.1(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))': dependencies: - '@babel/parser': 7.25.8 - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + '@babel/parser': 7.28.4 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + acorn-loose: 8.5.2 + acorn-typescript: 1.4.13(acorn@8.15.0) astring: 1.9.0 magicast: 0.2.11 - recast: 0.23.9 - tslib: 2.8.0 - vinxi: 0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + recast: 0.23.11 + tslib: 2.8.1 + vinxi: 0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) - '@vinxi/server-components@0.5.0(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0))': + '@vinxi/server-components@0.5.1(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1))': dependencies: - '@vinxi/plugin-directives': 0.5.0(vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) - acorn: 8.12.1 - acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) + acorn: 8.15.0 + acorn-loose: 8.5.2 + acorn-typescript: 1.4.13(acorn@8.15.0) astring: 1.9.0 magicast: 0.2.11 - recast: 0.23.9 - vinxi: 0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + recast: 0.23.11 + vinxi: 0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) '@vue/compiler-core@3.5.16': dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.28.4 '@vue/shared': 3.5.16 entities: 4.5.0 estree-walker: 2.0.2 @@ -7066,13 +7042,13 @@ snapshots: '@vue/compiler-sfc@3.5.16': dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.28.4 '@vue/compiler-core': 3.5.16 '@vue/compiler-dom': 3.5.16 '@vue/compiler-ssr': 3.5.16 '@vue/shared': 3.5.16 estree-walker: 2.0.2 - magic-string: 0.30.17 + magic-string: 0.30.19 postcss: 8.5.6 source-map-js: 1.2.1 @@ -7121,25 +7097,17 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 - acorn-loose@8.4.0: + acorn-loose@8.5.2: dependencies: - acorn: 8.12.1 + acorn: 8.15.0 - acorn-typescript@1.4.13(acorn@8.12.1): + acorn-typescript@1.4.13(acorn@8.15.0): dependencies: - acorn: 8.12.1 - - acorn@8.12.1: {} - - acorn@8.14.0: {} + acorn: 8.15.0 acorn@8.15.0: {} @@ -7152,29 +7120,15 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - algoliasearch@5.14.2: - dependencies: - '@algolia/client-abtesting': 5.14.2 - '@algolia/client-analytics': 5.14.2 - '@algolia/client-common': 5.14.2 - '@algolia/client-insights': 5.14.2 - '@algolia/client-personalization': 5.14.2 - '@algolia/client-query-suggestions': 5.14.2 - '@algolia/client-search': 5.14.2 - '@algolia/ingestion': 1.14.2 - '@algolia/monitoring': 1.14.2 - '@algolia/recommend': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 - ansi-align@3.0.1: dependencies: string-width: 4.2.3 + ansi-purge@1.1.0: {} + ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.0: {} ansi-styles@3.2.1: dependencies: @@ -7184,9 +7138,11 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} + ansi-styles@6.2.3: {} - ansi-styles@6.2.1: {} + ansi-truncate@1.4.0: + dependencies: + fast-string-truncated-width: 3.0.3 ansis@4.1.0: {} @@ -7229,7 +7185,7 @@ snapshots: ast-types@0.16.1: dependencies: - tslib: 2.8.0 + tslib: 2.8.1 astring@1.9.0: {} @@ -7237,6 +7193,11 @@ snapshots: async@3.2.6: {} + atomically@2.0.3: + dependencies: + stubborn-fs: 1.2.5 + when-exit: 2.1.4 + autoprefixer@10.4.21(postcss@8.5.6): dependencies: browserslist: 4.25.0 @@ -7251,40 +7212,41 @@ snapshots: babel-dead-code-elimination@1.0.10: dependencies: - '@babel/core': 7.28.3 - '@babel/parser': 7.28.3 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/core': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color - babel-plugin-jsx-dom-expressions@0.39.2(@babel/core@7.25.8): + babel-plugin-jsx-dom-expressions@0.40.1(@babel/core@7.28.4): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - '@babel/types': 7.25.8 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/types': 7.28.4 html-entities: 2.3.3 - jest-diff: 29.7.0 - parse5: 7.2.0 - validate-html-nesting: 1.2.2 + parse5: 7.3.0 + validate-html-nesting: 1.2.3 - babel-preset-solid@1.9.2(@babel/core@7.25.8): + babel-preset-solid@1.9.9(@babel/core@7.28.4)(solid-js@1.9.9): dependencies: - '@babel/core': 7.25.8 - babel-plugin-jsx-dom-expressions: 0.39.2(@babel/core@7.25.8) + '@babel/core': 7.28.4 + babel-plugin-jsx-dom-expressions: 0.40.1(@babel/core@7.28.4) + optionalDependencies: + solid-js: 1.9.9 bail@2.0.2: {} balanced-match@1.0.2: {} - balanced-match@3.0.1: {} - bare-events@2.5.4: optional: true base64-js@1.5.1: {} + baseline-browser-mapping@2.8.4: {} + bcp-47-match@2.0.3: {} binary-extensions@2.3.0: {} @@ -7299,30 +7261,22 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 8.0.0 - chalk: 5.4.1 + chalk: 5.6.2 cli-boxes: 3.0.0 string-width: 7.2.0 type-fest: 4.41.0 widest-line: 5.0.0 wrap-ansi: 9.0.0 - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 - brace-expansion@4.0.1: - dependencies: - balanced-match: 3.0.1 - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -7334,12 +7288,13 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.0) - browserslist@4.25.3: + browserslist@4.26.0: dependencies: - caniuse-lite: 1.0.30001735 - electron-to-chromium: 1.5.207 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.3) + baseline-browser-mapping: 2.8.4 + caniuse-lite: 1.0.30001741 + electron-to-chromium: 1.5.218 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.0) buffer-crc32@0.2.13: {} @@ -7391,7 +7346,7 @@ snapshots: caniuse-lite@1.0.30001722: {} - caniuse-lite@1.0.30001735: {} + caniuse-lite@1.0.30001741: {} ccount@2.0.1: {} @@ -7406,7 +7361,7 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.1: {} + chalk@5.6.2: {} character-entities-html4@2.1.0: {} @@ -7562,12 +7517,6 @@ snapshots: croner@9.0.0: {} - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -7590,7 +7539,7 @@ snapshots: domutils: 3.1.0 nth-check: 2.1.1 - css-selector-parser@3.0.5: {} + css-selector-parser@3.1.3: {} css-what@6.1.0: {} @@ -7611,11 +7560,7 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.7: - dependencies: - ms: 2.1.3 - - debug@4.4.1: + debug@4.4.3: dependencies: ms: 2.1.3 @@ -7623,7 +7568,7 @@ snapshots: dependencies: callsite: 1.0.0 - decode-named-character-reference@1.0.2: + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -7683,16 +7628,16 @@ snapshots: detective-stylus@5.0.1: {} - detective-typescript@14.0.0(typescript@5.9.2): + detective-typescript@14.0.0(typescript@5.9.3): dependencies: - '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) ast-module-types: 6.0.1 node-source-walk: 7.0.1 - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - detective-vue2@2.2.0(typescript@5.9.2): + detective-vue2@2.2.0(typescript@5.9.3): dependencies: '@dependents/detective-less': 5.0.1 '@vue/compiler-sfc': 3.5.16 @@ -7700,19 +7645,19 @@ snapshots: detective-sass: 6.0.1 detective-scss: 5.0.1 detective-stylus: 5.0.1 - detective-typescript: 14.0.0(typescript@5.9.2) - typescript: 5.9.2 + detective-typescript: 14.0.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color + dettle@1.0.5: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 didyoumean@1.2.2: {} - diff-sequences@29.6.3: {} - diff@8.0.2: {} direction@2.0.1: {} @@ -7743,6 +7688,8 @@ snapshots: dotenv@16.6.1: {} + dotenv@17.2.3: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -7757,7 +7704,7 @@ snapshots: electron-to-chromium@1.5.166: {} - electron-to-chromium@1.5.207: {} + electron-to-chromium@1.5.218: {} emoji-regex-xs@1.0.0: {} @@ -7779,6 +7726,8 @@ snapshots: entities@4.5.0: {} + entities@6.0.1: {} + env-paths@3.0.0: {} error-stack-parser-es@1.0.5: {} @@ -7809,7 +7758,7 @@ snapshots: '@types/estree-jsx': 1.0.5 acorn: 8.15.0 esast-util-from-estree: 2.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 esbuild@0.25.5: optionalDependencies: @@ -7857,16 +7806,16 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-plugin-solid@0.14.5(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-solid@0.14.5(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 8.34.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.33.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + eslint: 9.39.1(jiti@2.4.2) estraverse: 5.3.0 is-html: 2.0.0 kebab-case: 1.0.2 known-css-properties: 0.30.0 style-to-object: 1.0.8 - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7879,25 +7828,24 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.33.0(jiti@2.4.2): + eslint@9.39.1(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.3.1 - '@eslint/core': 0.15.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.33.0 - '@eslint/plugin-kit': 0.3.5 - '@humanfs/node': 0.16.6 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -7961,9 +7909,9 @@ snapshots: dependencies: '@types/estree-jsx': 1.0.5 astring: 1.9.0 - source-map: 0.7.4 + source-map: 0.7.6 - estree-util-value-to-estree@3.2.1: + estree-util-value-to-estree@3.4.1: dependencies: '@types/estree': 1.0.8 @@ -7976,7 +7924,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -7990,7 +7938,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -8000,15 +7948,15 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - expressive-code-twoslash@0.4.0(@expressive-code/core@0.40.2)(expressive-code@0.40.2)(typescript@5.9.2): + expressive-code-twoslash@0.4.0(@expressive-code/core@0.40.2)(expressive-code@0.41.3)(typescript@5.9.3): dependencies: '@expressive-code/core': 0.40.2 - expressive-code: 0.40.2 + expressive-code: 0.41.3 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.1.0 mdast-util-to-hast: 13.2.0 - twoslash: 0.2.12(typescript@5.9.2) - typescript: 5.9.2 + twoslash: 0.2.12(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -8019,8 +7967,17 @@ snapshots: '@expressive-code/plugin-shiki': 0.40.2 '@expressive-code/plugin-text-markers': 0.40.2 + expressive-code@0.41.3: + dependencies: + '@expressive-code/core': 0.41.3 + '@expressive-code/plugin-frames': 0.41.3 + '@expressive-code/plugin-shiki': 0.41.3 + '@expressive-code/plugin-text-markers': 0.41.3 + exsolve@1.0.5: {} + exsolve@1.0.7: {} + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -8029,7 +7986,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.4.1 + debug: 4.4.3 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -8057,10 +8014,21 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-ignore@1.1.3: + dependencies: + grammex: 3.1.11 + string-escape-regex: 1.0.1 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -8073,13 +8041,13 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.4.3(picomatch@4.0.2): + fdir@6.4.6(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 - fdir@6.4.6(picomatch@4.0.2): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: - picomatch: 4.0.2 + picomatch: 4.0.3 fecha@4.2.3: {} @@ -8100,6 +8068,12 @@ snapshots: filter-obj@6.1.0: {} + find-up-json@2.0.5: + dependencies: + find-up-path: 1.0.1 + + find-up-path@1.0.1: {} + find-up-simple@1.0.1: {} find-up@5.0.0: @@ -8115,18 +8089,18 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.3 keyv: 4.5.4 - flatted@3.3.1: {} + flatted@3.3.3: {} fn.name@1.1.0: {} follow-redirects@1.15.9: {} - foreground-child@3.3.0: + foreground-child@3.3.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 format@0.2.2: {} @@ -8146,6 +8120,8 @@ snapshots: function-bind@1.1.2: {} + function-once@3.0.1: {} + gensync@1.0.0-beta.2: {} get-amd-module-type@6.0.1: @@ -8155,6 +8131,10 @@ snapshots: get-caller-file@2.0.5: {} + get-current-package@1.0.1: + dependencies: + find-up-json: 2.0.5 + get-east-asian-width@1.3.0: {} get-intrinsic@1.3.0: @@ -8172,8 +8152,6 @@ snapshots: get-port-please@3.1.2: {} - get-port@7.1.0: {} - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 @@ -8206,18 +8184,18 @@ snapshots: glob@10.4.5: dependencies: - foreground-child: 3.3.0 + foreground-child: 3.3.1 jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.0.2: + glob@11.0.3: dependencies: - foreground-child: 3.3.0 + foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.0.2 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -8228,7 +8206,7 @@ snapshots: globals@15.15.0: {} - globals@16.3.0: {} + globals@16.4.0: {} globby@14.1.0: dependencies: @@ -8247,8 +8225,12 @@ snapshots: graceful-fs@4.2.11: {} + grammex@3.1.11: {} + graphemer@1.4.0: {} + graphmatch@1.1.0: {} + gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -8282,13 +8264,13 @@ snapshots: dependencies: function-bind: 1.1.2 - hast-util-from-parse5@8.0.1: + hast-util-from-parse5@8.0.3: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 devlop: 1.1.0 - hastscript: 8.0.0 - property-information: 6.5.0 + hastscript: 9.0.1 + property-information: 7.1.0 vfile: 6.0.3 vfile-location: 5.0.3 web-namespaces: 2.0.1 @@ -8309,41 +8291,41 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hast-util-raw@9.0.4: + hast-util-raw@9.1.0: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.2.0 - hast-util-from-parse5: 8.0.1 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.2.0 - parse5: 7.2.0 + parse5: 7.3.0 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-select@6.0.3: + hast-util-select@6.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 bcp-47-match: 2.0.3 comma-separated-tokens: 2.0.3 - css-selector-parser: 3.0.5 + css-selector-parser: 3.1.3 devlop: 1.1.0 direction: 2.0.1 hast-util-has-property: 3.0.0 hast-util-to-string: 3.0.1 hast-util-whitespace: 3.0.0 nth-check: 2.1.1 - property-information: 6.5.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 unist-util-visit: 5.0.0 zwitch: 2.0.4 - hast-util-to-estree@3.1.0: + hast-util-to-estree@3.1.3: dependencies: '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 @@ -8356,9 +8338,9 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.5.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 + style-to-js: 1.1.18 unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: @@ -8373,12 +8355,12 @@ snapshots: hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.2.0 - property-information: 7.0.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-jsx-runtime@2.3.2: + hast-util-to-jsx-runtime@2.3.6: dependencies: '@types/estree': 1.0.8 '@types/hast': 3.0.4 @@ -8390,11 +8372,11 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.5.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.8 + style-to-js: 1.1.18 unist-util-position: 5.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 transitivePeerDependencies: - supports-color @@ -8423,20 +8405,12 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hastscript@8.0.0: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - - hastscript@9.0.0: + hastscript@9.0.1: dependencies: '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.5.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 hookable@5.5.3: {} @@ -8449,7 +8423,7 @@ snapshots: html-tags@3.3.1: {} - html-to-image@1.11.11: {} + html-to-image@1.11.13: {} html-void-elements@3.0.0: {} @@ -8481,7 +8455,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -8495,26 +8469,30 @@ snapshots: ignore@7.0.5: {} - import-fresh@3.3.0: + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + import-meta-resolve@4.2.0: {} + imurmurhash@0.1.4: {} index-to-position@1.1.0: {} inherits@2.0.4: {} - inline-style-parser@0.1.1: {} + ini-simple-parser@1.0.1: {} inline-style-parser@0.2.4: {} + ionstore@1.0.1: {} + ioredis@5.6.1: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.4.1 + debug: 4.4.3 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -8631,15 +8609,6 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 - jest-diff@29.7.0: - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-get-type@29.6.3: {} - jiti@1.21.6: {} jiti@2.4.2: {} @@ -8665,6 +8634,8 @@ snapshots: json-schema-traverse@0.4.1: {} + json-sorted-stringify@1.0.2: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} @@ -8673,6 +8644,8 @@ snapshots: jwt-decode@4.0.0: {} + kasi@1.1.1: {} + kebab-case@1.0.2: {} keyv@4.5.4: @@ -8733,11 +8706,11 @@ snapshots: untun: 0.1.3 uqr: 0.1.2 - local-pkg@1.1.1: + local-pkg@1.1.2: dependencies: - mlly: 1.7.4 - pkg-types: 2.1.0 - quansync: 0.2.10 + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 locate-path@6.0.0: dependencies: @@ -8749,16 +8722,12 @@ snapshots: lodash-es@4.17.21: {} - lodash.castarray@4.4.0: {} - lodash.debounce@4.0.8: {} lodash.defaults@4.2.0: {} lodash.isarguments@3.1.0: {} - lodash.isplainobject@4.0.6: {} - lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -8772,12 +8741,9 @@ snapshots: safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 - longest-streak@3.1.0: {} + lomemo@1.0.1: {} - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - optional: true + longest-streak@3.1.0: {} lru-cache@10.4.3: {} @@ -8789,61 +8755,62 @@ snapshots: luxon@3.6.1: {} - magic-string@0.30.17: + magic-string@0.30.19: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 magicast@0.2.11: dependencies: - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 - recast: 0.23.9 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + recast: 0.23.11 magicast@0.3.5: dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 source-map-js: 1.2.1 markdown-extensions@2.0.0: {} - markdown-table@3.0.3: {} + markdown-table@3.0.4: {} math-intrinsics@1.1.0: {} - mdast-util-directive@3.0.0: + mdast-util-directive@3.1.0: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 + ccount: 2.0.1 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 - parse-entities: 4.0.1 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.1 + unist-util-visit-parents: 6.0.2 transitivePeerDependencies: - supports-color - mdast-util-find-and-replace@3.0.1: + mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-decode-string: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color @@ -8854,7 +8821,7 @@ snapshots: devlop: 1.1.0 escape-string-regexp: 5.0.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: - supports-color @@ -8864,16 +8831,16 @@ snapshots: '@types/mdast': 4.0.4 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 - mdast-util-gfm-footnote@2.0.0: + mdast-util-gfm-footnote@2.1.0: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color @@ -8881,7 +8848,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8889,9 +8856,9 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - markdown-table: 3.0.3 + markdown-table: 3.0.4 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8900,7 +8867,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8908,11 +8875,11 @@ snapshots: dependencies: mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-footnote: 2.1.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8923,7 +8890,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8936,11 +8903,11 @@ snapshots: ccount: 2.0.1 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 - parse-entities: 4.0.1 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 stringify-entities: 4.0.4 unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 transitivePeerDependencies: - supports-color @@ -8950,7 +8917,7 @@ snapshots: mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8961,35 +8928,36 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.4 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.0 + '@ungap/structured-clone': 1.3.0 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.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 - mdast-util-to-markdown@2.1.0: + mdast-util-to-markdown@2.1.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 - micromark-util-decode-string: 2.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -9001,10 +8969,10 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/ungap__structured-clone': 1.2.0 - '@ungap/structured-clone': 1.2.0 + '@ungap/structured-clone': 1.3.0 github-slugger: 2.0.0 mdast-util-to-string: 4.0.0 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 unist-util-visit: 5.0.0 merge-anything@5.1.7: @@ -9021,286 +8989,284 @@ snapshots: micro-api-client@3.3.0: {} - micromark-core-commonmark@2.0.1: + micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 - micromark-factory-destination: 2.0.0 - micromark-factory-label: 2.0.0 - micromark-factory-space: 2.0.0 - micromark-factory-title: 2.0.0 - micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-html-tag-name: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-subtokenize: 2.0.1 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-directive@3.0.2: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - parse-entities: 4.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 micromark-extension-frontmatter@2.0.0: dependencies: fault: 2.0.1 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - micromark-util-character: 2.1.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-footnote@2.1.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-strikethrough@2.1.0: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-extension-gfm-table@2.1.0: + micromark-extension-gfm-table@2.1.1: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-tagfilter@2.0.0: dependencies: - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.2 micromark-extension-gfm-task-list-item@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm@3.0.0: dependencies: micromark-extension-gfm-autolink-literal: 2.1.0 micromark-extension-gfm-footnote: 2.1.0 micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-table: 2.1.1 micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 - micromark-extension-mdx-expression@3.0.0: + micromark-extension-mdx-expression@3.0.1: dependencies: '@types/estree': 1.0.8 devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-extension-mdx-jsx@3.0.1: + micromark-extension-mdx-jsx@3.0.2: dependencies: - '@types/acorn': 4.0.6 '@types/estree': 1.0.8 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - vfile-message: 4.0.2 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 micromark-extension-mdx-md@2.0.0: dependencies: - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.2 micromark-extension-mdxjs-esm@3.0.0: dependencies: '@types/estree': 1.0.8 devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 micromark-extension-mdxjs@3.0.0: dependencies: acorn: 8.15.0 acorn-jsx: 5.3.2(acorn@8.15.0) - micromark-extension-mdx-expression: 3.0.0 - micromark-extension-mdx-jsx: 3.0.1 + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 - micromark-factory-destination@2.0.0: + micromark-factory-destination@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-factory-label@2.0.0: + micromark-factory-label@2.0.1: dependencies: devlop: 1.1.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-factory-mdx-expression@2.0.2: + micromark-factory-mdx-expression@2.0.3: dependencies: '@types/estree': 1.0.8 devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.2 + vfile-message: 4.0.3 - micromark-factory-space@2.0.0: + micromark-factory-space@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 - micromark-factory-title@2.0.0: + micromark-factory-title@2.0.1: dependencies: - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-factory-whitespace@2.0.0: + micromark-factory-whitespace@2.0.1: dependencies: - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-util-character@2.1.0: + micromark-util-character@2.1.1: dependencies: - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-util-chunked@2.0.0: + micromark-util-chunked@2.0.1: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-classify-character@2.0.0: + micromark-util-classify-character@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-util-combine-extensions@2.0.0: + micromark-util-combine-extensions@2.0.1: dependencies: - micromark-util-chunked: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 - micromark-util-decode-numeric-character-reference@2.0.1: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-decode-string@2.0.0: + micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 2.1.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-symbol: 2.0.0 + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - micromark-util-encode@2.0.0: {} + micromark-util-encode@2.0.1: {} - micromark-util-events-to-acorn@2.0.2: + micromark-util-events-to-acorn@2.0.3: dependencies: - '@types/acorn': 4.0.6 '@types/estree': 1.0.8 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - vfile-message: 4.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 - micromark-util-html-tag-name@2.0.0: {} + micromark-util-html-tag-name@2.0.1: {} - micromark-util-normalize-identifier@2.0.0: + micromark-util-normalize-identifier@2.0.1: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-resolve-all@2.0.0: + micromark-util-resolve-all@2.0.1: dependencies: - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.2 - micromark-util-sanitize-uri@2.0.0: + micromark-util-sanitize-uri@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-encode: 2.0.0 - micromark-util-symbol: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.1: + micromark-util-subtokenize@2.1.0: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-util-symbol@2.0.0: {} + micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.0: {} + micromark-util-types@2.0.2: {} - micromark@4.0.0: + micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1 - decode-named-character-reference: 1.0.2 + debug: 4.4.3 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-encode: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-subtokenize: 2.0.1 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 transitivePeerDependencies: - supports-color @@ -9323,13 +9289,13 @@ snapshots: mimic-fn@4.0.0: {} - minimatch@10.0.2: + minimatch@10.0.3: dependencies: - brace-expansion: 4.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@5.1.6: dependencies: @@ -9337,7 +9303,7 @@ snapshots: minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -9351,18 +9317,25 @@ snapshots: mlly@1.7.2: dependencies: - acorn: 8.14.0 + acorn: 8.15.0 pathe: 1.1.2 pkg-types: 1.2.1 ufo: 1.6.1 mlly@1.7.4: dependencies: - acorn: 8.14.0 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.5.4 + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + module-definition@6.0.1: dependencies: ast-module-types: 6.0.1 @@ -9431,7 +9404,7 @@ snapshots: klona: 2.0.6 knitwork: 1.2.0 listhen: 1.9.0 - magic-string: 0.30.17 + magic-string: 0.30.19 magicast: 0.3.5 mime: 4.0.7 mlly: 1.7.4 @@ -9450,7 +9423,7 @@ snapshots: semver: 7.7.2 serve-placeholder: 2.0.2 serve-static: 2.2.0 - source-map: 0.7.4 + source-map: 0.7.6 std-env: 3.9.0 ufo: 1.6.1 ultrahtml: 1.6.0 @@ -9515,9 +9488,11 @@ snapshots: node-releases@2.0.19: {} + node-releases@2.0.21: {} + node-source-walk@7.0.1: dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.28.4 nopt@8.1.0: dependencies: @@ -9526,7 +9501,7 @@ snapshots: normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.2 + semver: 7.7.3 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -9550,7 +9525,7 @@ snapshots: citty: 0.1.6 consola: 3.4.2 pathe: 2.0.3 - pkg-types: 2.1.0 + pkg-types: 2.3.0 tinyexec: 0.3.2 object-assign@4.1.1: {} @@ -9642,21 +9617,18 @@ snapshots: package-json-from-dist@1.0.1: {} - package-manager-detector@0.2.10: - dependencies: - quansync: 0.2.10 + package-manager-detector@1.5.0: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-entities@4.0.1: + parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 - character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 @@ -9669,6 +9641,8 @@ snapshots: index-to-position: 1.1.0 type-fest: 4.41.0 + parse-numeric-range@1.3.0: {} + parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 @@ -9678,6 +9652,10 @@ snapshots: dependencies: entities: 4.5.0 + parse5@7.3.0: + dependencies: + entities: 6.0.1 + parseurl@1.3.3: {} path-exists@4.0.0: {} @@ -9718,20 +9696,27 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.3: {} + pify@2.3.0: {} + pioppo@1.2.1: + dependencies: + dettle: 1.0.5 + when-exit: 2.1.4 + pirates@4.0.6: {} pkg-types@1.2.1: dependencies: confbox: 0.1.8 - mlly: 1.7.2 + mlly: 1.8.0 pathe: 1.1.2 pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.4 + mlly: 1.8.0 pathe: 2.0.3 pkg-types@2.1.0: @@ -9740,6 +9725,12 @@ snapshots: exsolve: 1.0.5 pathe: 2.0.3 + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + postcss-import@15.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -9755,7 +9746,7 @@ snapshots: postcss-load-config@4.0.2(postcss@8.5.6): dependencies: lilconfig: 3.1.3 - yaml: 2.6.0 + yaml: 2.8.1 optionalDependencies: postcss: 8.5.6 @@ -9789,8 +9780,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - preact@10.24.3: {} - precinct@12.2.0: dependencies: '@dependents/detective-less': 5.0.1 @@ -9802,38 +9791,46 @@ snapshots: detective-sass: 6.0.1 detective-scss: 5.0.1 detective-stylus: 5.0.1 - detective-typescript: 14.0.0(typescript@5.9.2) - detective-vue2: 2.2.0(typescript@5.9.2) + detective-typescript: 14.0.0(typescript@5.9.3) + detective-vue2: 2.2.0(typescript@5.9.3) module-definition: 6.0.1 node-source-walk: 7.0.1 postcss: 8.5.6 - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.6.13(prettier@3.5.3): + prettier-plugin-tailwindcss@0.7.1(prettier@3.6.2): dependencies: - prettier: 3.5.3 - - prettier@3.5.3: {} + prettier: 3.6.2 - pretty-bytes@6.1.1: {} + prettier@3.6.2: {} - pretty-format@29.7.0: + prettier@4.0.0-alpha.10: dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 + '@prettier/cli': 0.6.0(prettier@4.0.0-alpha.10) + + pretty-bytes@6.1.1: {} process-nextick-args@2.0.1: {} process@0.11.10: {} + promise-make-counter@1.0.2: + dependencies: + promise-make-naked: 3.0.2 + + promise-make-naked@2.1.2: {} + + promise-make-naked@3.0.2: {} + + promise-resolve-timeout@2.0.1: {} + property-information@6.5.0: {} - property-information@7.0.0: {} + property-information@7.1.0: {} pump@3.0.2: dependencies: @@ -9846,7 +9843,7 @@ snapshots: dependencies: side-channel: 1.1.0 - quansync@0.2.10: {} + quansync@0.2.11: {} queue-microtask@1.2.3: {} @@ -9865,13 +9862,6 @@ snapshots: defu: 6.1.4 destr: 2.0.5 - react-is@18.3.1: {} - - react@18.3.1: - dependencies: - loose-envify: 1.4.0 - optional: true - read-cache@1.0.0: dependencies: pify: 2.3.0 @@ -9924,13 +9914,13 @@ snapshots: readdirp@4.1.2: {} - recast@0.23.9: + recast@0.23.11: dependencies: ast-types: 0.16.1 esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.8.0 + tslib: 2.8.1 recma-build-jsx@1.0.0: dependencies: @@ -9938,15 +9928,14 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.0(acorn@8.15.0): + recma-jsx@1.0.1(acorn@8.15.0): dependencies: + acorn: 8.15.0 acorn-jsx: 5.3.2(acorn@8.15.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 unified: 11.0.5 - transitivePeerDependencies: - - acorn recma-parse@1.0.0: dependencies: @@ -9990,7 +9979,7 @@ snapshots: rehype-autolink-headings@7.1.0: dependencies: '@types/hast': 3.0.4 - '@ungap/structured-clone': 1.2.0 + '@ungap/structured-clone': 1.3.0 hast-util-heading-rank: 3.0.0 hast-util-is-element: 3.0.0 unified: 11.0.5 @@ -10003,14 +9992,14 @@ snapshots: rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 - hast-util-raw: 9.0.4 + hast-util-raw: 9.1.0 vfile: 6.0.3 rehype-recma@1.0.0: dependencies: '@types/estree': 1.0.8 '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.0 + hast-util-to-estree: 3.1.3 transitivePeerDependencies: - supports-color @@ -10022,10 +10011,10 @@ snapshots: hast-util-to-string: 3.0.1 unist-util-visit: 5.0.0 - remark-directive@3.0.0: + remark-directive@3.0.1: dependencies: '@types/mdast': 4.0.4 - mdast-util-directive: 3.0.0 + mdast-util-directive: 3.1.0 micromark-extension-directive: 3.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -10040,7 +10029,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-gfm@4.0.0: + remark-gfm@4.0.1: dependencies: '@types/mdast': 4.0.4 mdast-util-gfm: 3.1.0 @@ -10051,7 +10040,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx@3.1.0: + remark-mdx@3.1.1: dependencies: mdast-util-mdx: 3.0.0 micromark-extension-mdxjs: 3.0.0 @@ -10062,12 +10051,12 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-rehype@11.1.1: + remark-rehype@11.1.2: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -10078,7 +10067,7 @@ snapshots: remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 unified: 11.0.5 remove-trailing-separator@1.1.0: {} @@ -10116,8 +10105,8 @@ snapshots: rollup-plugin-visualizer@5.14.0(rollup@4.43.0): dependencies: open: 8.4.2 - picomatch: 4.0.2 - source-map: 0.7.4 + picomatch: 4.0.3 + source-map: 0.7.6 yargs: 17.7.2 optionalDependencies: rollup: 4.43.0 @@ -10162,8 +10151,6 @@ snapshots: scule@1.3.0: {} - search-insights@2.17.3: {} - section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 @@ -10173,6 +10160,8 @@ snapshots: semver@7.7.2: {} + semver@7.7.3: {} + send@0.19.0: dependencies: debug: 2.6.9 @@ -10193,7 +10182,7 @@ snapshots: send@1.2.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -10211,15 +10200,13 @@ snapshots: dependencies: randombytes: 2.1.0 - seroval-plugins@1.1.1(seroval@1.1.1): - dependencies: - seroval: 1.1.1 - seroval-plugins@1.3.2(seroval@1.3.2): dependencies: seroval: 1.3.2 - seroval@1.1.1: {} + seroval-plugins@1.3.3(seroval@1.3.2): + dependencies: + seroval: 1.3.2 seroval@1.3.2: {} @@ -10264,14 +10251,14 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 - shiki@3.11.0: + shiki@3.14.0: dependencies: - '@shikijs/core': 3.11.0 - '@shikijs/engine-javascript': 3.11.0 - '@shikijs/engine-oniguruma': 3.11.0 - '@shikijs/langs': 3.11.0 - '@shikijs/themes': 3.11.0 - '@shikijs/types': 3.11.0 + '@shikijs/core': 3.14.0 + '@shikijs/engine-javascript': 3.14.0 + '@shikijs/engine-oniguruma': 3.14.0 + '@shikijs/langs': 3.14.0 + '@shikijs/themes': 3.14.0 + '@shikijs/types': 3.14.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -10305,20 +10292,10 @@ snapshots: signal-exit@4.1.0: {} - simple-git@3.27.0: - dependencies: - '@kwsites/file-exists': 1.1.1 - '@kwsites/promise-deferred': 1.1.1 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - sisteransi@1.0.5: {} - sitemap@8.0.0: dependencies: '@types/node': 17.0.45 @@ -10347,10 +10324,10 @@ snapshots: '@corvu/utils': 0.4.2(solid-js@1.9.9) solid-js: 1.9.9 - solid-mdx@0.0.7(solid-js@1.9.9)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)): + solid-mdx@0.0.7(solid-js@1.9.9)(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)): dependencies: solid-js: 1.9.9 - vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) solid-presence@0.1.8(solid-js@1.9.9): dependencies: @@ -10364,14 +10341,14 @@ snapshots: solid-refresh@0.6.3(solid-js@1.9.9): dependencies: - '@babel/generator': 7.25.7 - '@babel/helper-module-imports': 7.25.7 - '@babel/types': 7.25.8 + '@babel/generator': 7.28.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/types': 7.28.4 solid-js: 1.9.9 transitivePeerDependencies: - supports-color - solid-use@0.9.0(solid-js@1.9.9): + solid-use@0.9.1(solid-js@1.9.9): dependencies: solid-js: 1.9.9 @@ -10384,7 +10361,7 @@ snapshots: source-map@0.6.1: {} - source-map@0.7.4: {} + source-map@0.7.6: {} space-separated-tokens@2.0.2: {} @@ -10402,6 +10379,13 @@ snapshots: spdx-license-ids@3.0.21: {} + specialist@1.4.5: + dependencies: + tiny-bin: 1.11.3 + tiny-colors: 2.2.2 + tiny-parse-argv: 2.8.2 + tiny-updater: 3.5.3 + sprintf-js@1.0.3: {} stack-trace@0.0.10: {} @@ -10418,6 +10402,8 @@ snapshots: std-env@3.9.0: {} + stdin-blocker@2.0.1: {} + streamx@2.22.1: dependencies: fast-fifo: 1.3.2 @@ -10425,6 +10411,8 @@ snapshots: optionalDependencies: bare-events: 2.5.4 + string-escape-regex@1.0.1: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -10462,7 +10450,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.0 strip-bom-string@1.0.0: {} @@ -10474,9 +10462,19 @@ snapshots: dependencies: js-tokens: 9.0.1 - style-to-object@0.4.4: + strip-literal@3.1.0: dependencies: - inline-style-parser: 0.1.1 + js-tokens: 9.0.1 + + stubborn-fs@1.2.5: {} + + style-to-js@1.1.18: + dependencies: + style-to-object: 1.0.11 + + style-to-object@1.0.11: + dependencies: + inline-style-parser: 0.2.4 style-to-object@1.0.8: dependencies: @@ -10492,7 +10490,7 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 - supports-color@10.0.0: {} + supports-color@10.2.2: {} supports-color@5.5.0: dependencies: @@ -10551,7 +10549,7 @@ snapshots: terracotta@1.0.6(solid-js@1.9.9): dependencies: solid-js: 1.9.9 - solid-use: 0.9.0(solid-js@1.9.9) + solid-use: 0.9.1(solid-js@1.9.9) terser@5.42.0: dependencies: @@ -10574,20 +10572,78 @@ snapshots: dependencies: any-promise: 1.3.0 + tiny-bin@1.11.3: + dependencies: + ansi-purge: 1.1.0 + fast-string-width: 3.0.2 + get-current-package: 1.0.1 + tiny-colors: 2.2.2 + tiny-levenshtein: 1.1.0 + tiny-parse-argv: 2.8.2 + tiny-updater: 3.5.3 + + tiny-colors@2.2.2: {} + + tiny-cursor@2.0.1: + dependencies: + when-exit: 2.1.4 + + tiny-editorconfig@1.0.1: + dependencies: + ini-simple-parser: 1.0.1 + zeptomatch: 2.1.0 + tiny-invariant@1.3.3: {} - tinyexec@0.3.2: {} + tiny-jsonc@1.0.2: {} + + tiny-levenshtein@1.1.0: {} - tinyglobby@0.2.12: + tiny-parse-argv@2.8.2: {} + + tiny-readdir-glob@1.23.2: dependencies: - fdir: 6.4.3(picomatch@4.0.2) - picomatch: 4.0.2 + tiny-readdir: 2.7.4 + zeptomatch: 2.1.0 + zeptomatch-explode: 1.0.1 + zeptomatch-is-static: 1.0.1 + zeptomatch-unescape: 1.0.1 + + tiny-readdir@2.7.4: + dependencies: + promise-make-counter: 1.0.2 + + tiny-spinner@2.0.5: + dependencies: + stdin-blocker: 2.0.1 + tiny-colors: 2.2.2 + tiny-cursor: 2.0.1 + tiny-truncate: 1.0.5 + + tiny-truncate@1.0.5: + dependencies: + ansi-truncate: 1.4.0 + + tiny-updater@3.5.3: + dependencies: + ionstore: 1.0.1 + tiny-colors: 2.2.2 + when-exit: 2.1.4 + + tinyexec@0.3.2: {} + + tinyexec@1.0.1: {} tinyglobby@0.2.14: dependencies: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + tmp-promise@3.0.3: dependencies: tmp: 0.2.3 @@ -10612,23 +10668,21 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@5.9.2): + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: - typescript: 5.9.2 + typescript: 5.9.3 ts-interface-checker@0.1.13: {} - tslib@2.8.0: {} - tslib@2.8.1: {} twoslash-protocol@0.2.12: {} - twoslash@0.2.12(typescript@5.9.2): + twoslash@0.2.12(typescript@5.9.3): dependencies: - '@typescript/vfs': 1.6.1(typescript@5.9.2) + '@typescript/vfs': 1.6.1(typescript@5.9.3) twoslash-protocol: 0.2.12 - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10638,18 +10692,18 @@ snapshots: type-fest@4.41.0: {} - typescript-eslint@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2): + typescript-eslint@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.33.0(jiti@2.4.2) - typescript: 5.9.2 + '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.2(eslint@9.39.1(jiti@2.4.2))(typescript@5.9.3) + eslint: 9.39.1(jiti@2.4.2) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - typescript@5.9.2: {} + typescript@5.9.3: {} ufo@1.5.4: {} @@ -10657,20 +10711,18 @@ snapshots: ultrahtml@1.6.0: {} - ultramatter@0.0.4: {} - uncrypto@0.1.3: {} unctx@2.4.1: dependencies: acorn: 8.15.0 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.19 unplugin: 2.3.5 undici-types@5.28.4: {} - undici-types@7.10.0: {} + undici-types@7.16.0: {} unenv@1.10.0: dependencies: @@ -10702,39 +10754,39 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unimport@4.1.2: + unimport@4.2.0: dependencies: acorn: 8.15.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 - local-pkg: 1.1.1 - magic-string: 0.30.17 - mlly: 1.7.4 + local-pkg: 1.1.2 + magic-string: 0.30.19 + mlly: 1.8.0 pathe: 2.0.3 - picomatch: 4.0.2 - pkg-types: 1.3.1 + picomatch: 4.0.3 + pkg-types: 2.3.0 scule: 1.3.0 - strip-literal: 3.0.0 - tinyglobby: 0.2.14 - unplugin: 2.3.5 - unplugin-utils: 0.2.4 + strip-literal: 3.1.0 + tinyglobby: 0.2.15 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 unimport@5.0.1: dependencies: acorn: 8.15.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 - local-pkg: 1.1.1 - magic-string: 0.30.17 + local-pkg: 1.1.2 + magic-string: 0.30.19 mlly: 1.7.4 pathe: 2.0.3 - picomatch: 4.0.2 + picomatch: 4.0.3 pkg-types: 2.1.0 scule: 1.3.0 strip-literal: 3.0.0 - tinyglobby: 0.2.14 - unplugin: 2.3.5 - unplugin-utils: 0.2.4 + tinyglobby: 0.2.15 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 unist-builder@4.0.0: dependencies: @@ -10743,9 +10795,9 @@ snapshots: unist-util-find-after@5.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 - unist-util-is@6.0.0: + unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 @@ -10771,16 +10823,16 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@6.0.1: + unist-util-visit-parents@6.0.2: dependencies: '@types/unist': 3.0.3 - unist-util-is: 6.0.0 + unist-util-is: 6.0.1 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 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 unist@0.0.1: {} @@ -10788,22 +10840,22 @@ snapshots: dependencies: normalize-path: 2.1.1 - unplugin-auto-import@19.1.1: + unplugin-auto-import@19.3.0: dependencies: - local-pkg: 1.1.1 - magic-string: 0.30.17 - picomatch: 4.0.2 - unimport: 4.1.2 - unplugin: 2.3.5 - unplugin-utils: 0.2.4 + local-pkg: 1.1.2 + magic-string: 0.30.19 + picomatch: 4.0.3 + unimport: 4.2.0 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 - unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.16): + unplugin-icons@22.5.0(@vue/compiler-sfc@3.5.16): dependencies: - '@antfu/install-pkg': 1.0.0 - '@iconify/utils': 2.3.0 - debug: 4.4.1 - local-pkg: 1.1.1 - unplugin: 2.3.5 + '@antfu/install-pkg': 1.1.0 + '@iconify/utils': 3.0.2 + debug: 4.4.3 + local-pkg: 1.1.2 + unplugin: 2.3.10 optionalDependencies: '@vue/compiler-sfc': 3.5.16 transitivePeerDependencies: @@ -10812,17 +10864,29 @@ snapshots: unplugin-utils@0.2.4: dependencies: pathe: 2.0.3 - picomatch: 4.0.2 + picomatch: 4.0.3 + + unplugin-utils@0.2.5: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 unplugin@1.16.1: dependencies: acorn: 8.15.0 webpack-virtual-modules: 0.6.2 + unplugin@2.3.10: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + unplugin@2.3.5: dependencies: acorn: 8.15.0 - picomatch: 4.0.2 + picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 unstorage@1.16.0(db0@0.3.2)(ioredis@5.6.1): @@ -10856,7 +10920,7 @@ snapshots: unwasm@0.3.9: dependencies: knitwork: 1.2.0 - magic-string: 0.30.17 + magic-string: 0.30.19 mlly: 1.7.4 pathe: 1.1.2 pkg-types: 1.3.1 @@ -10868,9 +10932,9 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-browserslist-db@1.1.3(browserslist@4.25.3): + update-browserslist-db@1.1.3(browserslist@4.26.0): dependencies: - browserslist: 4.25.3 + browserslist: 4.26.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -10888,7 +10952,7 @@ snapshots: uuid@11.1.0: {} - validate-html-nesting@1.2.2: {} + validate-html-nesting@1.2.3: {} validate-npm-package-license@3.0.4: dependencies: @@ -10900,7 +10964,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 @@ -10908,9 +10972,9 @@ snapshots: vfile@6.0.3: dependencies: '@types/unist': 3.0.3 - vfile-message: 4.0.2 + vfile-message: 4.0.3 - vinxi@0.5.7(@types/node@24.3.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0): + vinxi@0.5.7(@types/node@24.10.0)(db0@0.3.2)(ioredis@5.6.1)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1): dependencies: '@babel/core': 7.25.8 '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) @@ -10944,7 +11008,7 @@ snapshots: unctx: 2.4.1 unenv: 1.10.0 unstorage: 1.16.0(db0@0.3.2)(ioredis@5.6.1) - vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) zod: 3.25.76 transitivePeerDependencies: - '@azure/app-configuration' @@ -10988,20 +11052,20 @@ snapshots: - xml2js - yaml - vite-plugin-solid@2.11.2(solid-js@1.9.9)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)): + vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.28.4 '@types/babel__core': 7.20.5 - babel-preset-solid: 1.9.2(@babel/core@7.25.8) + babel-preset-solid: 1.9.9(@babel/core@7.28.4)(solid-js@1.9.9) merge-anything: 5.1.7 solid-js: 1.9.9 solid-refresh: 0.6.3(solid-js@1.9.9) - vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) - vitefu: 1.0.5(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)) + vite: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) + vitefu: 1.1.1(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)) transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0): + vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.2) @@ -11010,15 +11074,15 @@ snapshots: rollup: 4.43.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.3.0 + '@types/node': 24.10.0 fsevents: 2.3.3 jiti: 2.4.2 terser: 5.42.0 - yaml: 2.8.0 + yaml: 2.8.1 - vitefu@1.0.5(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0)): + vitefu@1.1.1(vite@6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1)): optionalDependencies: - vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.10.0)(jiti@2.4.2)(terser@5.42.0)(yaml@2.8.1) web-namespaces@2.0.1: {} @@ -11028,11 +11092,15 @@ snapshots: webpack-virtual-modules@0.6.2: {} + webworker-shim@1.1.4: {} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + when-exit@2.1.4: {} + which@2.0.2: dependencies: isexe: 2.0.0 @@ -11067,6 +11135,11 @@ snapshots: word-wrap@1.2.5: {} + worktank@2.7.3: + dependencies: + promise-make-naked: 2.1.2 + webworker-shim: 1.1.4 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -11075,13 +11148,13 @@ snapshots: wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 5.1.2 strip-ansi: 7.1.0 wrap-ansi@9.0.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 7.2.0 strip-ansi: 7.1.0 @@ -11098,9 +11171,7 @@ snapshots: yallist@5.0.0: {} - yaml@2.6.0: {} - - yaml@2.8.0: {} + yaml@2.8.1: {} yargs-parser@21.1.1: {} @@ -11136,6 +11207,19 @@ snapshots: cookie: 1.0.2 youch-core: 0.3.2 + zeptomatch-escape@1.0.1: {} + + zeptomatch-explode@1.0.1: {} + + zeptomatch-is-static@1.0.1: {} + + zeptomatch-unescape@1.0.1: {} + + zeptomatch@2.1.0: + dependencies: + grammex: 3.1.11 + graphmatch: 1.1.0 + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 @@ -11144,4 +11228,6 @@ snapshots: zod@3.25.76: {} + zod@4.1.12: {} + zwitch@2.0.4: {} diff --git a/public/fonts/Geist-Bold.woff2 b/public/fonts/Geist-Bold.woff2 index d0562e48ec..46f524f4ff 100644 Binary files a/public/fonts/Geist-Bold.woff2 and b/public/fonts/Geist-Bold.woff2 differ diff --git a/public/fonts/Geist-Light.woff2 b/public/fonts/Geist-Light.woff2 index 56611204f7..91896380e0 100644 Binary files a/public/fonts/Geist-Light.woff2 and b/public/fonts/Geist-Light.woff2 differ diff --git a/public/fonts/Geist-Medium.woff2 b/public/fonts/Geist-Medium.woff2 index 76edd10515..ef6dbb2115 100644 Binary files a/public/fonts/Geist-Medium.woff2 and b/public/fonts/Geist-Medium.woff2 differ diff --git a/public/fonts/Geist-Regular.woff2 b/public/fonts/Geist-Regular.woff2 index 2ebd0097e7..0db0f1943d 100644 Binary files a/public/fonts/Geist-Regular.woff2 and b/public/fonts/Geist-Regular.woff2 differ diff --git a/public/fonts/Geist-SemiBold.woff2 b/public/fonts/Geist-SemiBold.woff2 index a6c53e8b06..8384523039 100644 Binary files a/public/fonts/Geist-SemiBold.woff2 and b/public/fonts/Geist-SemiBold.woff2 differ diff --git a/public/fonts/GeistMono-Bold.woff2 b/public/fonts/GeistMono-Bold.woff2 index 854b75ae2e..aa9768d27b 100644 Binary files a/public/fonts/GeistMono-Bold.woff2 and b/public/fonts/GeistMono-Bold.woff2 differ diff --git a/public/fonts/GeistMono-Medium.woff2 b/public/fonts/GeistMono-Medium.woff2 index aaf10d7ad1..bb58342017 100644 Binary files a/public/fonts/GeistMono-Medium.woff2 and b/public/fonts/GeistMono-Medium.woff2 differ diff --git a/public/fonts/GeistMono-Regular.woff2 b/public/fonts/GeistMono-Regular.woff2 index 1603e0eb79..c27eb886c1 100644 Binary files a/public/fonts/GeistMono-Regular.woff2 and b/public/fonts/GeistMono-Regular.woff2 differ diff --git a/public/fonts/GeistMono-SemiBold.woff2 b/public/fonts/GeistMono-SemiBold.woff2 index d973a8758b..6bf41ef479 100644 Binary files a/public/fonts/GeistMono-SemiBold.woff2 and b/public/fonts/GeistMono-SemiBold.woff2 differ diff --git a/public/llms.txt b/public/llms.txt new file mode 100644 index 0000000000..59c510b3f7 --- /dev/null +++ b/public/llms.txt @@ -0,0 +1,221 @@ +# SolidJS Documentation +> Solid is a JavaScript library built around signals. It prioritizes a simple and predictable development experience, making it a great choice for developers of all skill levels. These are the documention for the main official projects. +> - SolidJS: The core library for building reactive user interfaces. +> - SolidStart: A full-stack framework for building web applications. +> - Solid Router: A routing library for building web applications. +> - Solid Meta: A library for managing the HTML head and meta tags. + +## SolidJS + +- [Overview](https://docs.solidjs.com/) +- [Quick start](https://docs.solidjs.com/quick-start) +- [Intro to reactivity](https://docs.solidjs.com/concepts/intro-to-reactivity) +- [Understanding JSX](https://docs.solidjs.com/concepts/understanding-jsx) +- [Basics](https://docs.solidjs.com/concepts/components/basics) +- [Class and style](https://docs.solidjs.com/concepts/components/class-style) +- [Event handlers](https://docs.solidjs.com/concepts/components/event-handlers) +- [Props](https://docs.solidjs.com/concepts/components/props) +- [Signals](https://docs.solidjs.com/concepts/signals) +- [Conditional rendering](https://docs.solidjs.com/concepts/control-flow/conditional-rendering) +- [Dynamic](https://docs.solidjs.com/concepts/control-flow/dynamic) +- [List rendering](https://docs.solidjs.com/concepts/control-flow/list-rendering) +- [Portal](https://docs.solidjs.com/concepts/control-flow/portal) +- [Error boundary](https://docs.solidjs.com/concepts/control-flow/error-boundary) +- [Effects](https://docs.solidjs.com/concepts/effects) +- [Derived signals](https://docs.solidjs.com/concepts/derived-values/derived-signals) +- [Memos](https://docs.solidjs.com/concepts/derived-values/memos) +- [Context](https://docs.solidjs.com/concepts/context) +- [Stores](https://docs.solidjs.com/concepts/stores) +- [Refs](https://docs.solidjs.com/concepts/refs) +- [Fine-grained reactivity](https://docs.solidjs.com/advanced-concepts/fine-grained-reactivity) +- [Styling your components](https://docs.solidjs.com/guides/styling-your-components) +- [SASS](https://docs.solidjs.com/guides/styling-components/sass) +- [LESS](https://docs.solidjs.com/guides/styling-components/less) +- [CSS modules](https://docs.solidjs.com/guides/styling-components/css-modules) +- [Macaron](https://docs.solidjs.com/guides/styling-components/macaron) +- [Tailwind CSS](https://docs.solidjs.com/guides/styling-components/tailwind) +- [UnoCSS](https://docs.solidjs.com/guides/styling-components/uno) +- [State management](https://docs.solidjs.com/guides/state-management) +- [Routing & navigation](https://docs.solidjs.com/guides/routing-and-navigation) +- [Complex state management](https://docs.solidjs.com/guides/complex-state-management) +- [Fetching data](https://docs.solidjs.com/guides/fetching-data) +- [Testing](https://docs.solidjs.com/guides/testing) +- [Deploy your app](https://docs.solidjs.com/guides/deploying-your-app) +- [AWS via Flightcontrol](https://docs.solidjs.com/guides/deployment-options/aws-via-flightcontrol) +- [AWS via SST](https://docs.solidjs.com/guides/deployment-options/aws-via-sst) +- [Cloudflare](https://docs.solidjs.com/guides/deployment-options/cloudflare) +- [Firebase](https://docs.solidjs.com/guides/deployment-options/firebase) +- [Netlify](https://docs.solidjs.com/guides/deployment-options/netlify) +- [Railway](https://docs.solidjs.com/guides/deployment-options/railway) +- [Vercel](https://docs.solidjs.com/guides/deployment-options/vercel) +- [Stormkit](https://docs.solidjs.com/guides/deployment-options/stormkit) +- [Zerops](https://docs.solidjs.com/guides/deployment-options/zerops) +- [Environment variables](https://docs.solidjs.com/configuration/environment-variables) +- [TypeScript](https://docs.solidjs.com/configuration/typescript) +- [createEffect](https://docs.solidjs.com/reference/basic-reactivity/create-effect) +- [createMemo](https://docs.solidjs.com/reference/basic-reactivity/create-memo) +- [createResource](https://docs.solidjs.com/reference/basic-reactivity/create-resource) +- [createSignal](https://docs.solidjs.com/reference/basic-reactivity/create-signal) +- [children](https://docs.solidjs.com/reference/component-apis/children) +- [createContext](https://docs.solidjs.com/reference/component-apis/create-context) +- [createUniqueId](https://docs.solidjs.com/reference/component-apis/create-unique-id) +- [lazy](https://docs.solidjs.com/reference/component-apis/lazy) +- [useContext](https://docs.solidjs.com/reference/component-apis/use-context) +- [](https://docs.solidjs.com/reference/components/dynamic) +- [](https://docs.solidjs.com/reference/components/error-boundary) +- [](https://docs.solidjs.com/reference/components/for) +- [](https://docs.solidjs.com/reference/components/index-component) +- [](https://docs.solidjs.com/reference/components/no-hydration) +- [](https://docs.solidjs.com/reference/components/portal) +- [](https://docs.solidjs.com/reference/components/show) +- [](https://docs.solidjs.com/reference/components/suspense) +- [](https://docs.solidjs.com/reference/components/suspense-list) +- [ / ](https://docs.solidjs.com/reference/components/switch-and-match) +- [@once](https://docs.solidjs.com/reference/jsx-attributes/once) +- [attr:*](https://docs.solidjs.com/reference/jsx-attributes/attr) +- [bool:*](https://docs.solidjs.com/reference/jsx-attributes/bool) +- [classList](https://docs.solidjs.com/reference/jsx-attributes/classlist) +- [innerHTML](https://docs.solidjs.com/reference/jsx-attributes/innerhtml) +- [on:*](https://docs.solidjs.com/reference/jsx-attributes/on) +- [on*](https://docs.solidjs.com/reference/jsx-attributes/on_) +- [prop:*](https://docs.solidjs.com/reference/jsx-attributes/prop) +- [ref](https://docs.solidjs.com/reference/jsx-attributes/ref) +- [style](https://docs.solidjs.com/reference/jsx-attributes/style) +- [textContent](https://docs.solidjs.com/reference/jsx-attributes/textcontent) +- [use:*](https://docs.solidjs.com/reference/jsx-attributes/use) +- [onCleanup](https://docs.solidjs.com/reference/lifecycle/on-cleanup) +- [onMount](https://docs.solidjs.com/reference/lifecycle/on-mount) +- [batch](https://docs.solidjs.com/reference/reactive-utilities/batch) +- [catchError](https://docs.solidjs.com/reference/reactive-utilities/catch-error) +- [createRoot](https://docs.solidjs.com/reference/reactive-utilities/create-root) +- [from](https://docs.solidjs.com/reference/reactive-utilities/from) +- [getOwner](https://docs.solidjs.com/reference/reactive-utilities/get-owner) +- [indexArray](https://docs.solidjs.com/reference/reactive-utilities/index-array) +- [mapArray](https://docs.solidjs.com/reference/reactive-utilities/map-array) +- [mergeProps](https://docs.solidjs.com/reference/reactive-utilities/merge-props) +- [observable](https://docs.solidjs.com/reference/reactive-utilities/observable) +- [on](https://docs.solidjs.com/reference/reactive-utilities/on-util) +- [runWithOwner](https://docs.solidjs.com/reference/reactive-utilities/run-with-owner) +- [splitProps](https://docs.solidjs.com/reference/reactive-utilities/split-props) +- [startTransition](https://docs.solidjs.com/reference/reactive-utilities/start-transition) +- [untrack](https://docs.solidjs.com/reference/reactive-utilities/untrack) +- [useTransition](https://docs.solidjs.com/reference/reactive-utilities/use-transition) +- [DEV](https://docs.solidjs.com/reference/rendering/dev) +- [hydrate](https://docs.solidjs.com/reference/rendering/hydrate) +- [hydrationScript](https://docs.solidjs.com/reference/rendering/hydration-script) +- [isServer](https://docs.solidjs.com/reference/rendering/is-server) +- [render](https://docs.solidjs.com/reference/rendering/render) +- [renderToStream](https://docs.solidjs.com/reference/rendering/render-to-stream) +- [renderToString](https://docs.solidjs.com/reference/rendering/render-to-string) +- [renderToStringAsync](https://docs.solidjs.com/reference/rendering/render-to-string-async) +- [createComputed](https://docs.solidjs.com/reference/secondary-primitives/create-computed) +- [createDeferred](https://docs.solidjs.com/reference/secondary-primitives/create-deferred) +- [createReaction](https://docs.solidjs.com/reference/secondary-primitives/create-reaction) +- [createRenderEffect](https://docs.solidjs.com/reference/secondary-primitives/create-render-effect) +- [createSelector](https://docs.solidjs.com/reference/secondary-primitives/create-selector) +- [createMutable](https://docs.solidjs.com/reference/store-utilities/create-mutable) +- [createStore](https://docs.solidjs.com/reference/store-utilities/create-store) +- [modifyMutable](https://docs.solidjs.com/reference/store-utilities/modify-mutable) +- [produce](https://docs.solidjs.com/reference/store-utilities/produce) +- [reconcile](https://docs.solidjs.com/reference/store-utilities/reconcile) +- [unwrap](https://docs.solidjs.com/reference/store-utilities/unwrap) +- [getRequestEvent](https://docs.solidjs.com/reference/server-utilities/get-request-event) + +## SolidStart + +- [Overview](https://docs.solidjs.com/solid-start/) +- [Getting started](https://docs.solidjs.com/solid-start/getting-started) +- [Routing](https://docs.solidjs.com/solid-start/building-your-application/routing) +- [API routes](https://docs.solidjs.com/solid-start/building-your-application/api-routes) +- [CSS and styling](https://docs.solidjs.com/solid-start/building-your-application/css-and-styling) +- [Data loading](https://docs.solidjs.com/solid-start/building-your-application/data-loading) +- [Head and metadata](https://docs.solidjs.com/solid-start/building-your-application/head-and-metadata) +- [Route Pre-rendering](https://docs.solidjs.com/solid-start/building-your-application/route-prerendering) +- [Static assets](https://docs.solidjs.com/solid-start/building-your-application/static-assets) +- [Middleware](https://docs.solidjs.com/solid-start/advanced/middleware) +- [Sessions](https://docs.solidjs.com/solid-start/advanced/session) +- [Request events](https://docs.solidjs.com/solid-start/advanced/request-events) +- [Returning responses](https://docs.solidjs.com/solid-start/advanced/return-responses) +- [Auth](https://docs.solidjs.com/solid-start/advanced/auth) +- [WebSocket endpoint](https://docs.solidjs.com/solid-start/advanced/websocket) +- [Security](https://docs.solidjs.com/solid-start/guides/security) +- [Data fetching](https://docs.solidjs.com/solid-start/guides/data-fetching) +- [Data mutation](https://docs.solidjs.com/solid-start/guides/data-mutation) +- [Service workers](https://docs.solidjs.com/solid-start/guides/service-workers) +- [app.config.ts](https://docs.solidjs.com/solid-start/reference/entrypoints/app-config) +- [app.tsx](https://docs.solidjs.com/solid-start/reference/entrypoints/app) +- [entry-client.tsx](https://docs.solidjs.com/solid-start/reference/entrypoints/entry-client) +- [entry-server.tsx](https://docs.solidjs.com/solid-start/reference/entrypoints/entry-server) +- [defineConfig](https://docs.solidjs.com/solid-start/reference/config/define-config) +- [FileRoutes](https://docs.solidjs.com/solid-start/reference/routing/file-routes) +- [clientOnly](https://docs.solidjs.com/solid-start/reference/client/client-only) +- [mount](https://docs.solidjs.com/solid-start/reference/client/mount) +- [StartClient](https://docs.solidjs.com/solid-start/reference/client/start-client) +- ["use server"](https://docs.solidjs.com/solid-start/reference/server/use-server) +- [createHandler](https://docs.solidjs.com/solid-start/reference/server/create-handler) +- [createMiddleware](https://docs.solidjs.com/solid-start/reference/server/create-middleware) +- [GET](https://docs.solidjs.com/solid-start/reference/server/get) +- [getServerFunctionMeta](https://docs.solidjs.com/solid-start/reference/server/get-server-function-meta) +- [HttpHeader](https://docs.solidjs.com/solid-start/reference/server/http-header) +- [HttpStatusCode](https://docs.solidjs.com/solid-start/reference/server/http-status-code) +- [StartServer](https://docs.solidjs.com/solid-start/reference/server/start-server) + +## Solid Router + +- [Overview](https://docs.solidjs.com/solid-router/) +- [Installation and setup](https://docs.solidjs.com/solid-router/getting-started/installation-and-setup) +- [Component routing](https://docs.solidjs.com/solid-router/getting-started/component) +- [Config-based routing](https://docs.solidjs.com/solid-router/getting-started/config) +- [Navigation](https://docs.solidjs.com/solid-router/concepts/navigation) +- [Path parameters](https://docs.solidjs.com/solid-router/concepts/path-parameters) +- [Search parameters](https://docs.solidjs.com/solid-router/concepts/search-parameters) +- [Catch-all routes](https://docs.solidjs.com/solid-router/concepts/catch-all) +- [Nesting routes](https://docs.solidjs.com/solid-router/concepts/nesting) +- [Layouts](https://docs.solidjs.com/solid-router/concepts/layouts) +- [Alternative routers](https://docs.solidjs.com/solid-router/concepts/alternative-routers) +- [Actions](https://docs.solidjs.com/solid-router/concepts/actions) +- [Single page applications](https://docs.solidjs.com/solid-router/rendering-modes/spa) +- [Server side rendering](https://docs.solidjs.com/solid-router/rendering-modes/ssr) +- [Lazy loading](https://docs.solidjs.com/solid-router/advanced-concepts/lazy-loading) +- [Migration from v0.9.x](https://docs.solidjs.com/solid-router/guides/migration) +- [A](https://docs.solidjs.com/solid-router/reference/components/a) +- [HashRouter](https://docs.solidjs.com/solid-router/reference/components/hash-router) +- [MemoryRouter](https://docs.solidjs.com/solid-router/reference/components/memory-router) +- [Navigate](https://docs.solidjs.com/solid-router/reference/components/navigate) +- [Route](https://docs.solidjs.com/solid-router/reference/components/route) +- [Router](https://docs.solidjs.com/solid-router/reference/components/router) +- [action](https://docs.solidjs.com/solid-router/reference/data-apis/action) +- [cache](https://docs.solidjs.com/solid-router/reference/data-apis/cache) +- [createAsync](https://docs.solidjs.com/solid-router/reference/data-apis/create-async) +- [createAsyncStore](https://docs.solidjs.com/solid-router/reference/data-apis/create-async-store) +- [query](https://docs.solidjs.com/solid-router/reference/data-apis/query) +- [revalidate](https://docs.solidjs.com/solid-router/reference/data-apis/revalidate) +- [useAction](https://docs.solidjs.com/solid-router/reference/data-apis/use-action) +- [useSubmission](https://docs.solidjs.com/solid-router/reference/data-apis/use-submission) +- [useSubmissions](https://docs.solidjs.com/solid-router/reference/data-apis/use-submissions) +- [Preload](https://docs.solidjs.com/solid-router/reference/preload-functions/preload) +- [useBeforeLeave](https://docs.solidjs.com/solid-router/reference/primitives/use-before-leave) +- [useCurrentMatches](https://docs.solidjs.com/solid-router/reference/primitives/use-current-matches) +- [useIsRouting](https://docs.solidjs.com/solid-router/reference/primitives/use-is-routing) +- [useLocation](https://docs.solidjs.com/solid-router/reference/primitives/use-location) +- [useMatch](https://docs.solidjs.com/solid-router/reference/primitives/use-match) +- [useNavigate](https://docs.solidjs.com/solid-router/reference/primitives/use-navigate) +- [useParams](https://docs.solidjs.com/solid-router/reference/primitives/use-params) +- [usePreloadRoute](https://docs.solidjs.com/solid-router/reference/primitives/use-preload-route) +- [useSearchParams](https://docs.solidjs.com/solid-router/reference/primitives/use-search-params) +- [json](https://docs.solidjs.com/solid-router/reference/response-helpers/json) +- [redirect](https://docs.solidjs.com/solid-router/reference/response-helpers/redirect) +- [reload](https://docs.solidjs.com/solid-router/reference/response-helpers/reload) + +## Solid Meta + +- [Overview](https://docs.solidjs.com/solid-meta/) +- [Install and configure](https://docs.solidjs.com/solid-meta/getting-started/installation-and-setup) +- [Client setup](https://docs.solidjs.com/solid-meta/getting-started/client-setup) +- [Server setup](https://docs.solidjs.com/solid-meta/getting-started/server-setup) +- [Base](https://docs.solidjs.com/solid-meta/reference/meta/base) +- [Link](https://docs.solidjs.com/solid-meta/reference/meta/link) +- [Meta](https://docs.solidjs.com/solid-meta/reference/meta/meta) +- [MetaProvider](https://docs.solidjs.com/solid-meta/reference/meta/metaprovider) +- [Style](https://docs.solidjs.com/solid-meta/reference/meta/style) +- [Title](https://docs.solidjs.com/solid-meta/reference/meta/title) diff --git a/scripts/collections/index.mjs b/scripts/collections/index.mjs index 9edb962985..3ce8189f6b 100644 --- a/scripts/collections/index.mjs +++ b/scripts/collections/index.mjs @@ -72,5 +72,8 @@ export const COLLECTIONS_ROOT = "src/routes"; Object.keys(projectTrees).forEach((project) => writeFile(`${project}-entries.ts`, projectTrees[project]) ), + Object.keys(projectFlatEntries).forEach((project) => + writeFile(`${project}-flat-entries.js`, projectFlatEntries[project], true) + ), ]); })(); diff --git a/scripts/llms-gen.js b/scripts/llms-gen.js new file mode 100644 index 0000000000..7002ae76d9 --- /dev/null +++ b/scripts/llms-gen.js @@ -0,0 +1,63 @@ +import entries from "../.solid/entriesList.js"; +import startEntries from "../.solid/solid-start-flat-entries.js"; +import routerEntries from "../.solid/solid-router-flat-entries.js"; +import metaEntries from "../.solid/solid-meta-flat-entries.js"; +import fs from "fs"; + +const generateLinkArray = (routes) => { + return routes.map((route) => ({ + title: route.title, + url: `https://docs.solidjs.com${route.path}`, + })); +}; + +const formatSection = (title, links) => { + const formattedLinks = links + .map((link) => `- [${link.title}](${link.url})`) + .join("\n"); + return `## ${title}\n\n${formattedLinks}`; +}; + +(async () => { + // SolidJS Core + const coreLinks = [ + ...generateLinkArray(entries.learn), + ...generateLinkArray(entries.reference), + ]; + + // SolidStart + const startLinks = [ + ...generateLinkArray(startEntries.learn), + ...generateLinkArray(startEntries.reference), + ]; + + // Solid Router + const routerLinks = [ + ...generateLinkArray(routerEntries.learn), + ...generateLinkArray(routerEntries.reference), + ]; + + // Solid Meta + const metaLinks = [ + ...generateLinkArray(metaEntries.learn), + ...generateLinkArray(metaEntries.reference), + ]; + + const output = `# SolidJS Documentation +> Solid is a JavaScript library built around signals. It prioritizes a simple and predictable development experience, making it a great choice for developers of all skill levels. These are the documention for the main official projects. +> - SolidJS: The core library for building reactive user interfaces. +> - SolidStart: A full-stack framework for building web applications. +> - Solid Router: A routing library for building web applications. +> - Solid Meta: A library for managing the HTML head and meta tags. + +${formatSection("SolidJS", coreLinks)} + +${formatSection("SolidStart", startLinks)} + +${formatSection("Solid Router", routerLinks)} + +${formatSection("Solid Meta", metaLinks)} +`; + + fs.writeFileSync("public/llms.txt", output, { encoding: "utf-8" }); +})(); diff --git a/src/middleware/legacy-routes-redirect.ts b/src/middleware/legacy-routes-redirect.ts index fdf371f9b0..647d1b38b8 100644 --- a/src/middleware/legacy-routes-redirect.ts +++ b/src/middleware/legacy-routes-redirect.ts @@ -180,6 +180,8 @@ const LEGACY_ROUTES = { "/solid-router/reference/response-helpers/revalidate": "/solid-router/reference/data-apis/revalidate", + + "/solid-start/guides/data-loading": "/solid-start/guides/data-fetching", } as const; function isLegacyRoute(path: string): path is keyof typeof LEGACY_ROUTES { diff --git a/src/routes/advanced-concepts/fine-grained-reactivity.mdx b/src/routes/advanced-concepts/fine-grained-reactivity.mdx index 7907f064c8..873d2255b4 100644 --- a/src/routes/advanced-concepts/fine-grained-reactivity.mdx +++ b/src/routes/advanced-concepts/fine-grained-reactivity.mdx @@ -1,5 +1,19 @@ --- title: Fine-grained reactivity +use_cases: >- + optimizing performance, reducing re-renders, understanding solid fundamentals, + building efficient apps, custom reactive systems +tags: + - reactivity + - performance + - signals + - effects + - optimization + - fundamentals +version: '1.0' +description: >- + Master Solid's fine-grained reactivity system for targeted UI updates, optimal + performance, and efficient state management patterns. --- Reactivity ensures automatic responses to data changes, eliminating the need for manual updates to the user interface (UI). diff --git a/src/routes/concepts/components/basics.mdx b/src/routes/concepts/components/basics.mdx index 570f481082..2466012ce4 100644 --- a/src/routes/concepts/components/basics.mdx +++ b/src/routes/concepts/components/basics.mdx @@ -1,6 +1,20 @@ --- title: Basics order: 4 +use_cases: >- + starting new projects, creating components, understanding component structure, + building ui blocks, component organization +tags: + - components + - basics + - jsx + - lifecycle + - imports + - structure +version: '1.0' +description: >- + Learn Solid component fundamentals: creating reusable UI blocks, component + trees, lifecycles, and proper import/export patterns. --- Components are the building blocks of Solid applications. diff --git a/src/routes/concepts/components/class-style.mdx b/src/routes/concepts/components/class-style.mdx index a334d1e72a..487bd9ec4d 100644 --- a/src/routes/concepts/components/class-style.mdx +++ b/src/routes/concepts/components/class-style.mdx @@ -1,6 +1,20 @@ --- title: Class and style order: 2 +use_cases: >- + styling components, dynamic theming, conditional styling, css integration, + responsive design, ui customization +tags: + - styling + - css + - classes + - themes + - dynamic + - ui +version: '1.0' +description: >- + Style Solid components with CSS classes and inline styles. Learn dynamic + styling, classList usage, and theme implementation. --- Similar to HTML, Solid uses `class` and `style` attributes to style elements via [CSS (Cascading Style Sheets)](https://developer.mozilla.org/en-US/docs/Glossary/CSS). @@ -37,9 +51,8 @@ This is because they are not reusable, and they can be difficult to maintain ove The `class` attribute allows you to style one or more elements through CSS rules. This provides a more structured approach to styling, as it allows you to reuse styles across multiple elements. -Classes are defined in CSS files, which are then imported into the component files that use them. -You can import these files using the `import` statement at the top of your component file. -Once imported into a component, the classes are scoped to that component and any of its children. +Classes are defined in CSS files. You can import these files using the `import` statement at the top of your component file. +The CSS file's contents will be inserted into a style tag in the document head. ```jsx import "./Card.css"; diff --git a/src/routes/concepts/components/event-handlers.mdx b/src/routes/concepts/components/event-handlers.mdx index 7173101047..14d881cf37 100644 --- a/src/routes/concepts/components/event-handlers.mdx +++ b/src/routes/concepts/components/event-handlers.mdx @@ -1,6 +1,20 @@ --- title: Event handlers order: 3 +use_cases: >- + user interactions, click handling, form inputs, keyboard events, custom + events, touch gestures, event optimization +tags: + - events + - interactions + - handlers + - delegation + - performance + - dom +version: '1.0' +description: >- + Handle user interactions in Solid with event delegation and native events for + optimal performance and resource management. --- Event handlers are functions that are called in response to specific events occurring in the browser, such as when a user clicks or taps on an element. diff --git a/src/routes/concepts/components/props.mdx b/src/routes/concepts/components/props.mdx index 12e13afcce..981f987c87 100644 --- a/src/routes/concepts/components/props.mdx +++ b/src/routes/concepts/components/props.mdx @@ -1,5 +1,19 @@ --- title: Props +use_cases: >- + passing data between components, parent-child communication, component + configuration, default values, prop management +tags: + - props + - components + - data + - communication + - mergeprops + - splitprops +version: '1.0' +description: >- + Pass and manage component props in Solid while maintaining reactivity. Learn + mergeProps, splitProps, and best practices. --- Props are a way to pass state from a parent component to a child component. diff --git a/src/routes/concepts/context.mdx b/src/routes/concepts/context.mdx index 714ae7c266..2e5121985b 100644 --- a/src/routes/concepts/context.mdx +++ b/src/routes/concepts/context.mdx @@ -1,6 +1,20 @@ --- -title: "Context" +title: Context order: 5 +use_cases: >- + global state management, avoiding prop drilling, theme providers, + authentication state, shared data across components +tags: + - context + - state + - global + - providers + - sharing + - management +version: '1.0' +description: >- + Share data across component trees with Solid's Context API. Avoid prop + drilling and manage global application state effectively. --- Context provides a way to pass data through the component tree without having to pass props down manually at every level. diff --git a/src/routes/concepts/control-flow/conditional-rendering.mdx b/src/routes/concepts/control-flow/conditional-rendering.mdx index eecbdfe141..a3e1e906b6 100644 --- a/src/routes/concepts/control-flow/conditional-rendering.mdx +++ b/src/routes/concepts/control-flow/conditional-rendering.mdx @@ -1,6 +1,20 @@ --- -title: "Conditional rendering" +title: Conditional rendering order: 1 +use_cases: >- + showing/hiding content, loading states, error displays, user permissions, + dynamic ui, feature toggles +tags: + - conditional + - rendering + - show + - switch + - match + - ui +version: '1.0' +description: >- + Conditionally render UI elements in Solid using Show, Switch, and Match + components for clean, readable conditional logic. --- Conditional rendering is the process of displaying different UI elements based on certain conditions. diff --git a/src/routes/concepts/control-flow/dynamic.mdx b/src/routes/concepts/control-flow/dynamic.mdx index 671eda05b1..fb3a68530e 100644 --- a/src/routes/concepts/control-flow/dynamic.mdx +++ b/src/routes/concepts/control-flow/dynamic.mdx @@ -1,6 +1,20 @@ --- -title: "Dynamic" +title: Dynamic order: 2 +use_cases: >- + dynamic component selection, polymorphic components, runtime component + switching, flexible ui rendering, component factories +tags: + - dynamic + - components + - rendering + - polymorphic + - runtime + - flexible +version: '1.0' +description: >- + Render components dynamically at runtime with Solid's Dynamic component. Build + flexible UIs with runtime component selection. --- `` is a Solid component that allows you to render components dynamically based on data. diff --git a/src/routes/concepts/control-flow/error-boundary.mdx b/src/routes/concepts/control-flow/error-boundary.mdx index 961dd29419..6951d57e25 100644 --- a/src/routes/concepts/control-flow/error-boundary.mdx +++ b/src/routes/concepts/control-flow/error-boundary.mdx @@ -1,6 +1,20 @@ --- -title: "Error boundary" +title: Error boundary order: 5 +use_cases: >- + error handling, crash prevention, user-friendly errors, app stability, error + recovery, debugging production issues +tags: + - errors + - boundary + - handling + - recovery + - stability + - debugging +version: '1.0' +description: >- + Catch and handle rendering errors gracefully with ErrorBoundary. Prevent app + crashes and provide user-friendly error recovery. --- By default, if part of an application throws an error during rendering, the entire application can crash, resulting in Solid removing its UI from the screen. diff --git a/src/routes/concepts/control-flow/list-rendering.mdx b/src/routes/concepts/control-flow/list-rendering.mdx index 3227d985b8..e6324b01a4 100644 --- a/src/routes/concepts/control-flow/list-rendering.mdx +++ b/src/routes/concepts/control-flow/list-rendering.mdx @@ -1,6 +1,21 @@ --- -title: "List rendering" +title: List rendering order: 3 +use_cases: >- + rendering arrays, dynamic lists, data iteration, tables, repeating elements, + collection display, performance optimization +tags: + - lists + - arrays + - for + - index + - iteration + - rendering + - performance +version: '1.0' +description: >- + Efficiently render dynamic lists in Solid using For and Index components. + Optimize performance for different data scenarios. --- List rendering allows you to generate multiple elements from a collection of data, such as an array or object, where each element corresponds to an item in the collection. @@ -149,4 +164,4 @@ function FormList() { ) } -``` \ No newline at end of file +``` diff --git a/src/routes/concepts/control-flow/portal.mdx b/src/routes/concepts/control-flow/portal.mdx index 3c44995e4f..5058db311e 100644 --- a/src/routes/concepts/control-flow/portal.mdx +++ b/src/routes/concepts/control-flow/portal.mdx @@ -1,6 +1,20 @@ --- -title: "Portal" +title: Portal order: 3 +use_cases: >- + modals, popups, tooltips, dropdowns, z-index issues, overflow clipping, + rendering outside parent container +tags: + - portal + - modal + - popup + - dom + - z-index + - overflow +version: '1.0' +description: >- + Learn how Portal renders elements outside the normal DOM flow to solve z-index + and overflow issues for modals and popups. --- When an element requires rendering outside of the usual document flow, challenges related to stacking contents and z-index can interfere with the desired intention or look of an application. diff --git a/src/routes/concepts/derived-values/derived-signals.mdx b/src/routes/concepts/derived-values/derived-signals.mdx index e0086fb456..03716adbdf 100644 --- a/src/routes/concepts/derived-values/derived-signals.mdx +++ b/src/routes/concepts/derived-values/derived-signals.mdx @@ -1,6 +1,19 @@ --- title: Derived signals order: 1 +use_cases: >- + computed values, reactive calculations, dependent state, dynamic values from + signals +tags: + - signals + - reactivity + - derived + - computed + - state +version: '1.0' +description: >- + Create reactive derived values that automatically update when their + dependencies change using Solid's derived signals. --- Derived signals are functions that rely on one or more [signals](/concepts/signals) to produce a value. diff --git a/src/routes/concepts/derived-values/memos.mdx b/src/routes/concepts/derived-values/memos.mdx index 1c80f75ea7..78213deb67 100644 --- a/src/routes/concepts/derived-values/memos.mdx +++ b/src/routes/concepts/derived-values/memos.mdx @@ -1,6 +1,20 @@ --- title: Memos order: 2 +use_cases: >- + expensive computations, caching results, optimizing performance, derived + state, avoiding re-calculations +tags: + - memo + - performance + - caching + - optimization + - reactivity + - computed +version: '1.0' +description: >- + Optimize expensive computations with memos that cache results and only + recalculate when dependencies actually change. --- Memos are a type of reactive value that can be used to memoize derived state or expensive computations. diff --git a/src/routes/concepts/effects.mdx b/src/routes/concepts/effects.mdx index f1e2cd54ad..adb73f395a 100644 --- a/src/routes/concepts/effects.mdx +++ b/src/routes/concepts/effects.mdx @@ -1,6 +1,19 @@ --- title: Effects order: 4 +use_cases: >- + side effects, dom manipulation, api calls, subscriptions, logging, reacting to + state changes +tags: + - effects + - side-effects + - reactivity + - lifecycle + - subscriptions +version: '1.0' +description: >- + Manage side effects like DOM updates, API calls, and subscriptions that + respond automatically to reactive state changes. --- Effects are functions that are triggered when the signals they depend on change. @@ -24,11 +37,17 @@ createEffect(() => { In this example, an effect is created that logs the current value of `count` to the console. When the value of `count` changes, the effect is triggered, causing it to run again and log the new value of `count`. +:::note +Effects are primarily intended for handling side effects that do not write to the reactive system. +It's best to avoid setting signals within effects, as this can lead to additional rendering or even infinite loops if not managed carefully. +Instead, it is recommended to use [createMemo](/reference/basic-reactivity/create-memo) to compute new values that rely on other reactive values. +::: + ## Managing dependencies Effects can be set to observe any number of dependencies. Dependencies are what allow an effect to track changes and respond accordingly. -These can include signals, variables, props, context, or any other reactive values. +These can include signals, props, context, or any other reactive values. When any of these change, the effect is notified and will run again to update its state. Upon initialization, an effect will run _once_, regardless of whether it has any dependencies. diff --git a/src/routes/concepts/intro-to-reactivity.mdx b/src/routes/concepts/intro-to-reactivity.mdx index 5b885169d2..49685357ff 100644 --- a/src/routes/concepts/intro-to-reactivity.mdx +++ b/src/routes/concepts/intro-to-reactivity.mdx @@ -1,6 +1,20 @@ --- -title: "Intro to reactivity" +title: Intro to reactivity order: 1 +use_cases: >- + learning reactivity, understanding signals, reactive principles, state + management basics, getting started +tags: + - reactivity + - signals + - fundamentals + - state + - subscribers + - basics +version: '1.0' +description: >- + Master Solid's reactive system fundamentals: signals, subscribers, and + automatic UI updates for responsive applications. --- **Note**: While this guide is useful for understanding reactive systems, it does use some Solid-specific terminology. @@ -127,9 +141,9 @@ setCount(1); // `count` is not being tracked, so the console log will not update when `count` changes. ``` -Since initialization is a **one-time event**, if a signal is accessed _outside of a tracking scope_, it will not be tracked. +Initialization, or creation is a **one-time event** that doesn't cause tracking. To track a signal, it must be accessed within the scope of a subscriber. -Reactive primitives, such as [effects](/concepts/effects), can be used to create subscribers. +Reactive primitives, such as [memos](/concepts/derived-values/memos) can be used to create derived values from signals or other memos, and [effects](/concepts/effects) to create subscribers that use the reactive graph output once it's settled. ```jsx const [count, setCount] = createSignal(0); diff --git a/src/routes/concepts/refs.mdx b/src/routes/concepts/refs.mdx index ad07eaede5..b6d0cc0198 100644 --- a/src/routes/concepts/refs.mdx +++ b/src/routes/concepts/refs.mdx @@ -1,5 +1,19 @@ --- title: Refs +use_cases: >- + dom access, element references, focus management, third-party libraries, + canvas manipulation, forwarding refs +tags: + - refs + - dom + - elements + - directives + - access + - forward +version: '1.0' +description: >- + Access and manipulate DOM elements directly using refs, forward refs between + components, and create custom directives. --- Refs, or references, are a special attribute that can be attached to any element, and are used to reference a DOM element or a component instance. diff --git a/src/routes/concepts/signals.mdx b/src/routes/concepts/signals.mdx index aa59b65157..ec43c0b374 100644 --- a/src/routes/concepts/signals.mdx +++ b/src/routes/concepts/signals.mdx @@ -1,6 +1,20 @@ --- title: Signals order: 2 +use_cases: >- + state management, reactive values, component state, updating ui, tracking + changes, basic reactivity +tags: + - signals + - state + - reactivity + - getter + - setter + - fundamentals +version: '1.0' +description: >- + Create reactive state with signals - the foundation of Solid's reactivity + system for automatic UI updates and tracking. --- Signals are the primary means of [managing state](/concepts/intro-to-reactivity#state-management) in your Solid application. diff --git a/src/routes/concepts/stores.mdx b/src/routes/concepts/stores.mdx index 748ada6ae9..33d7b727ae 100644 --- a/src/routes/concepts/stores.mdx +++ b/src/routes/concepts/stores.mdx @@ -1,11 +1,26 @@ --- title: Stores order: 6 +use_cases: >- + complex state, nested objects, arrays, shared state, fine-grained updates, + state trees, global state +tags: + - stores + - state + - objects + - arrays + - nested + - produce + - reconcile +version: '1.0' +description: >- + Manage complex nested state efficiently with stores that provide fine-grained + reactivity for objects and arrays in Solid. --- -Similar to [signals](/concepts/signals), stores are a state management primitive. -However, while signals manage a single piece of state, stores create a centralized location to reduce code redundancy. -Within Solid, these stores can spawn a collection of reactive signals, each corresponding to a particular property which can be useful when working with complex state. +Stores are a state management primitive that provide a centralized way to handle shared data and reduce redundancy. +Unlike [signals](/concepts/signals), which track a single value and trigger a full re-render when updated, stores maintain fine-grained reactivity by updating only the properties that change. +They can produce a collection of reactive signals, each linked to an individual property, making them well-suited for managing complex state efficiently. ## Creating a store @@ -253,8 +268,10 @@ Instead of relying on discovering individual indices, path syntax introduces sev ### Appending new values -To append new values to an array in a store, use the setter function with the spread operator (`...`) to create a new array that includes the existing items and the new ones. -For appending a single element, you can instead leverage the "path syntax" by specifying the array’s length as the index to set. +To append values to an array in a store, use the setter function with the spread operator (`...`) or the path syntax. Both methods add an element to the array but differ in how they modify it and their reactivity behavior. + +The spread operator creates a new array by copying the existing elements and adding the new one, effectively replacing the entire `store.users` array. +This replacement triggers reactivity for all effects that depend on the array or its properties. ```jsx setStore("users", (otherUsers) => [ @@ -266,9 +283,12 @@ setStore("users", (otherUsers) => [ loggedIn: false, }, ]) +``` -// can become +The path syntax adds the new element by assigning it to the index equal to `store.users.length`, directly modifying the existing array. +This triggers reactivity only for effects that depend on the new index or properties like `store.users.length`, making updates more efficient and targeted. +```jsx setStore("users", store.users.length, { id: 3, username: "michael584", diff --git a/src/routes/concepts/understanding-jsx.mdx b/src/routes/concepts/understanding-jsx.mdx index 8dea799786..f6d16dfd21 100644 --- a/src/routes/concepts/understanding-jsx.mdx +++ b/src/routes/concepts/understanding-jsx.mdx @@ -1,6 +1,20 @@ --- title: Understanding JSX order: 2 +use_cases: >- + writing components, html in javascript, dynamic content, templating, props + passing, event handling +tags: + - jsx + - components + - templates + - props + - html + - syntax +version: '1.0' +description: >- + Write HTML-like syntax in JavaScript with JSX to create reactive components + with dynamic expressions and event handlers. --- JSX is an extension for JavaScript. diff --git a/src/routes/configuration/environment-variables.mdx b/src/routes/configuration/environment-variables.mdx index 292a9210ab..bb6c650211 100644 --- a/src/routes/configuration/environment-variables.mdx +++ b/src/routes/configuration/environment-variables.mdx @@ -1,5 +1,19 @@ --- title: Environment variables +use_cases: >- + api keys, configuration, secrets management, build-time config, + environment-specific settings +tags: + - environment + - variables + - config + - vite + - secrets + - deployment +version: '1.0' +description: >- + Configure public and private environment variables in Solid apps using Vite's + built-in support for secure configuration. --- Solid is built on top of [Vite](https://vitejs.dev/), which offers a convenient way to handle environment variables. diff --git a/src/routes/configuration/typescript.mdx b/src/routes/configuration/typescript.mdx index 61b1a82af7..d35d2515a5 100644 --- a/src/routes/configuration/typescript.mdx +++ b/src/routes/configuration/typescript.mdx @@ -1,5 +1,20 @@ --- title: TypeScript +use_cases: >- + type safety, code reliability, large projects, team collaboration, api + documentation, migrating from javascript +tags: + - typescript + - types + - migration + - configuration + - jsx + - development + - tooling +version: '1.0' +description: >- + Learn to configure TypeScript with SolidJS for enhanced type safety, better + IDE support, and reliable component development. --- [TypeScript](https://www.typescriptlang.org/) is a superset of JavaScript that enhances code reliability and predictability through the introduction of [static types](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html). diff --git a/src/routes/guides/complex-state-management.mdx b/src/routes/guides/complex-state-management.mdx index 068ab6e76c..05f2af8f60 100644 --- a/src/routes/guides/complex-state-management.mdx +++ b/src/routes/guides/complex-state-management.mdx @@ -1,6 +1,20 @@ --- title: Complex state management order: 5 +use_cases: >- + scaling applications, multiple components, backend communication, state + synchronization, prop drilling, shared state +tags: + - stores + - state + - context + - scaling + - components + - management +version: '1.0' +description: >- + Master complex state management in Solid using stores and context to build + scalable, maintainable applications efficiently. --- As applications grow and start to involve many components, more intricate user interactions, and possibly communication with backend services, you may find that staying organized with more [basic state management methods](/guides/state-management) can become difficult to maintain. diff --git a/src/routes/guides/deploying-your-app.mdx b/src/routes/guides/deploying-your-app.mdx index 74eb708ae1..1bd269567b 100644 --- a/src/routes/guides/deploying-your-app.mdx +++ b/src/routes/guides/deploying-your-app.mdx @@ -1,6 +1,17 @@ --- title: Deploy your app order: 9 +use_cases: 'production deployment, hosting, going live, app publishing, cloud deployment' +tags: + - deployment + - hosting + - production + - cloud + - publishing +version: '1.0' +description: >- + Deploy your Solid application to popular hosting platforms including + Cloudflare, Vercel, Netlify, AWS, and more with guides. --- Are you ready to deploy your Solid application? Follow our guides for different deployment services. diff --git a/src/routes/guides/deployment-options/aws-via-flightcontrol.mdx b/src/routes/guides/deployment-options/aws-via-flightcontrol.mdx index 2b094ecd31..4d312f9675 100644 --- a/src/routes/guides/deployment-options/aws-via-flightcontrol.mdx +++ b/src/routes/guides/deployment-options/aws-via-flightcontrol.mdx @@ -2,6 +2,20 @@ title: AWS via Flightcontrol order: 1 mainNavExclude: true +use_cases: >- + aws deployment, automated deployments, continuous integration, github + integration, cloud hosting +tags: + - aws + - deployment + - flightcontrol + - automation + - github + - hosting +version: '1.0' +description: >- + Deploy Solid apps to AWS with Flightcontrol's automated platform featuring + GitHub integration and continuous deployment. --- [Flightcontrol](https://www.flightcontrol.dev/) is a platform that fully automates deployments to Amazon Web Services (AWS). diff --git a/src/routes/guides/deployment-options/aws-via-sst.mdx b/src/routes/guides/deployment-options/aws-via-sst.mdx index 3af978a202..a06d3a432d 100644 --- a/src/routes/guides/deployment-options/aws-via-sst.mdx +++ b/src/routes/guides/deployment-options/aws-via-sst.mdx @@ -2,6 +2,20 @@ title: AWS via SST order: 1 mainNavExclude: true +use_cases: >- + serverless deployment, aws lambda, container deployment, cloud infrastructure, + production deployment +tags: + - aws + - sst + - serverless + - lambda + - deployment + - containers +version: '1.0' +description: >- + Deploy SolidStart apps to AWS Lambda or containers using SST framework with + streamlined configuration and deployment. --- [SST](https://sst.dev/) is a framework for deploying applications to any cloud provider. It has a built-in way to deploy SolidStart apps to AWS Lambda. For additional details, you can [visit their docs](https://sst.dev/docs/). diff --git a/src/routes/guides/deployment-options/cloudflare.mdx b/src/routes/guides/deployment-options/cloudflare.mdx index b7deb79c4a..8128f5b3fc 100644 --- a/src/routes/guides/deployment-options/cloudflare.mdx +++ b/src/routes/guides/deployment-options/cloudflare.mdx @@ -2,6 +2,20 @@ title: Cloudflare order: 2 mainNavExclude: true +use_cases: >- + static site hosting, jamstack deployment, edge deployment, cdn hosting, web + publishing +tags: + - cloudflare + - pages + - deployment + - wrangler + - hosting + - jamstack +version: '1.0' +description: >- + Deploy Solid apps to Cloudflare Pages for fast, global edge hosting with + built-in CDN and simple Git integration setup. --- [Cloudflare Pages](https://pages.cloudflare.com/) is a JAMstack platform for frontend developers, where JAMstack stands for JavaScript, APIs, and Markup. @@ -80,7 +94,3 @@ wrangler pages deploy dist After running these commands, your project should be live. While the terminal may provide a link, it's more reliable to check your Cloudflare Pages dashboard for the deployed URL, which usually follows the format `project-name.pages.dev`. - -**Note:** -Make sure to navigate to the `Speed` -> `Optimization settings` section in your Cloudflare website dashboard and disable the `Auto Minify` option. -This is important as minification and comment removal can interfere with hydration. diff --git a/src/routes/guides/deployment-options/firebase.mdx b/src/routes/guides/deployment-options/firebase.mdx index 4908e29b72..30626e6668 100644 --- a/src/routes/guides/deployment-options/firebase.mdx +++ b/src/routes/guides/deployment-options/firebase.mdx @@ -2,6 +2,20 @@ title: Firebase order: 3 mainNavExclude: true +use_cases: >- + google cloud hosting, static hosting, firebase integration, web app + deployment, production hosting +tags: + - firebase + - google + - deployment + - hosting + - cli + - static +version: '1.0' +description: >- + Host your Solid application on Firebase with Google's infrastructure for + reliable static site hosting and easy deployment. --- [Firebase](https://firebase.google.com/) is an all-in-one app development platform by Google, offering a range of services from real-time databases to user authentication. diff --git a/src/routes/guides/deployment-options/netlify.mdx b/src/routes/guides/deployment-options/netlify.mdx index bff4a337bf..86cd1719bf 100644 --- a/src/routes/guides/deployment-options/netlify.mdx +++ b/src/routes/guides/deployment-options/netlify.mdx @@ -2,6 +2,20 @@ title: Netlify order: 4 mainNavExclude: true +use_cases: >- + static site hosting, continuous deployment, git integration, web publishing, + jamstack hosting +tags: + - netlify + - deployment + - hosting + - git + - cli + - static +version: '1.0' +description: >- + Deploy Solid apps to Netlify with automatic builds from Git, instant + rollbacks, and powerful deployment features included. --- [Netlify](https://www.netlify.com/) is a widely-used hosting platform suitable for various types of projects. diff --git a/src/routes/guides/deployment-options/railway.mdx b/src/routes/guides/deployment-options/railway.mdx index fdc29fd7f6..0d263cb7a8 100644 --- a/src/routes/guides/deployment-options/railway.mdx +++ b/src/routes/guides/deployment-options/railway.mdx @@ -2,6 +2,20 @@ title: Railway order: 5 mainNavExclude: true +use_cases: >- + web app deployment, cloud hosting, github deployment, production hosting, + quick deployment +tags: + - railway + - deployment + - hosting + - cloud + - github + - cli +version: '1.0' +description: >- + Deploy Solid projects to Railway platform with GitHub integration, custom + domains, and straightforward deployment process. --- [Railway](https://railway.app/) is a well-known platform for deploying a variety of web and cloud-based projects. diff --git a/src/routes/guides/deployment-options/stormkit.mdx b/src/routes/guides/deployment-options/stormkit.mdx index 3c8b997493..204a655f56 100644 --- a/src/routes/guides/deployment-options/stormkit.mdx +++ b/src/routes/guides/deployment-options/stormkit.mdx @@ -2,6 +2,20 @@ title: Stormkit order: 7 mainNavExclude: true +use_cases: >- + spa deployment, serverless functions, static hosting, git deployment, + production hosting +tags: + - stormkit + - deployment + - hosting + - serverless + - spa + - static +version: '1.0' +description: >- + Deploy Solid apps as static sites or SPAs on Stormkit with serverless + functions support and Git provider integration. --- [Stormkit](https://www.stormkit.io) is a deployment platform for static websites, single-page applications (SPAs), and serverless functions. diff --git a/src/routes/guides/deployment-options/vercel.mdx b/src/routes/guides/deployment-options/vercel.mdx index 7a68e272ce..56a3b32108 100644 --- a/src/routes/guides/deployment-options/vercel.mdx +++ b/src/routes/guides/deployment-options/vercel.mdx @@ -2,6 +2,20 @@ title: Vercel order: 6 mainNavExclude: true +use_cases: >- + deploying to production, hosting solid apps, ci/cd setup, automatic + deployments, serverless functions +tags: + - deployment + - hosting + - vercel + - production + - ci/cd + - serverless +version: '1.0' +description: >- + Deploy SolidStart apps to Vercel with automatic builds, serverless functions, + and GitHub integration for seamless production hosting. --- [Vercel](https://vercel.com/) is a widely-used platform specialized in hosting frontend projects. diff --git a/src/routes/guides/deployment-options/zerops.mdx b/src/routes/guides/deployment-options/zerops.mdx index bdad800a57..e952bf18b4 100644 --- a/src/routes/guides/deployment-options/zerops.mdx +++ b/src/routes/guides/deployment-options/zerops.mdx @@ -2,6 +2,21 @@ title: Zerops order: 7 mainNavExclude: true +use_cases: >- + deploying solid apps, static site hosting, ssr deployment, node.js hosting, + production deployment +tags: + - deployment + - hosting + - zerops + - static + - ssr + - node.js + - production +version: '1.0' +description: >- + Deploy SolidStart apps to Zerops cloud platform with support for both static + sites and SSR Node.js applications in production. --- [Zerops](https://zerops.io) is a dev-first cloud platform that can be used to deploy both Static and SSR Solid Node.js Apps. diff --git a/src/routes/guides/fetching-data.mdx b/src/routes/guides/fetching-data.mdx index 8bf0f9e24e..d191fcbf16 100644 --- a/src/routes/guides/fetching-data.mdx +++ b/src/routes/guides/fetching-data.mdx @@ -1,6 +1,21 @@ --- title: Fetching data order: 3 +use_cases: >- + api calls, async data loading, server communication, external data fetching, + loading states, error handling +tags: + - data + - fetching + - async + - api + - createresource + - suspense + - loading +version: '1.0' +description: >- + Master data fetching in Solid with createResource for async operations, + loading states, error handling, and Suspense boundaries. --- For most modern web applications, data fetching is a common task. diff --git a/src/routes/guides/routing-and-navigation.mdx b/src/routes/guides/routing-and-navigation.mdx index 1772310ba5..9e3d8ad0d5 100644 --- a/src/routes/guides/routing-and-navigation.mdx +++ b/src/routes/guides/routing-and-navigation.mdx @@ -1,6 +1,21 @@ --- title: Routing & navigation order: 4 +use_cases: >- + page navigation, url routing, spa routing, dynamic routes, nested layouts, + route parameters, lazy loading pages +tags: + - routing + - navigation + - routes + - spa + - lazy-loading + - parameters + - layouts +version: '1.0' +description: >- + Implement client-side routing in Solid apps with dynamic routes, nested + layouts, route parameters, and lazy-loaded components. --- [Solid Router](/solid-router) simplifies routing in Solid applications to help developers manage navigation and rendering by defining routes using JSX or objects passed via props. @@ -275,8 +290,7 @@ Instead of checking for the presence of a parameter, this allows for more comple ```jsx import { lazy } from "solid-js"; import { render } from "solid-js/web"; -import { Router, Route } from "@solidjs/router"; -import type { SegmentValidators } from "./types"; +import { Router, Route, type MatchFilters } from "@solidjs/router"; const User = lazy(() => import("./pages/User")); @@ -493,7 +507,7 @@ render( ``` `[id].jsx` contains the component that gets rendered. -When you wrap the function within [`createAsync`](/solid-router/reference/data-apis/create-async) with the imported function, it will yield [a signal](/routes/concepts/signals) once the anticipated promise resolves. +When you wrap the function within [`createAsync`](/solid-router/reference/data-apis/create-async) with the imported function, it will yield [a signal](/concepts/signals) once the anticipated promise resolves. ```jsx // [id].jsx diff --git a/src/routes/guides/state-management.mdx b/src/routes/guides/state-management.mdx index b24814b165..1b6af93850 100644 --- a/src/routes/guides/state-management.mdx +++ b/src/routes/guides/state-management.mdx @@ -1,6 +1,21 @@ --- title: State management order: 2 +use_cases: >- + managing app state, component communication, data flow, reactive updates, + shared state, derived values +tags: + - state + - signals + - reactivity + - data-flow + - memos + - effects + - management +version: '1.0' +description: >- + Learn Solid's state management with signals, derived values, memos, and + effects for reactive data flow and component updates. --- State management is the process of handling and manipulating data that affects the behavior and presentation of a web application. diff --git a/src/routes/guides/styling-components/css-modules.mdx b/src/routes/guides/styling-components/css-modules.mdx index 98c704d8b0..5d48a0fe6a 100644 --- a/src/routes/guides/styling-components/css-modules.mdx +++ b/src/routes/guides/styling-components/css-modules.mdx @@ -2,6 +2,20 @@ title: CSS modules order: 3 mainNavExclude: true +use_cases: >- + component styling, scoped styles, style encapsulation, preventing css + conflicts, modular css +tags: + - styling + - css + - modules + - scoped + - components + - encapsulation +version: '1.0' +description: >- + Use CSS Modules in Solid for locally scoped styles, preventing global + conflicts and ensuring component style encapsulation. --- CSS Modules are CSS files where class names, animations, and media queries are scoped locally by default. diff --git a/src/routes/guides/styling-components/less.mdx b/src/routes/guides/styling-components/less.mdx index 7509fe9169..ce55726fee 100644 --- a/src/routes/guides/styling-components/less.mdx +++ b/src/routes/guides/styling-components/less.mdx @@ -2,6 +2,20 @@ title: LESS order: 2 mainNavExclude: true +use_cases: >- + css preprocessing, style variables, mixins, nested styles, programmatic + styling +tags: + - styling + - less + - preprocessor + - variables + - mixins + - css +version: '1.0' +description: >- + Integrate LESS preprocessor in Solid apps for variables, mixins, and + programmatic CSS features to write cleaner stylesheets. --- [LESS](https://lesscss.org/) is a preprocessor based on JavaScript. diff --git a/src/routes/guides/styling-components/macaron.mdx b/src/routes/guides/styling-components/macaron.mdx index 16ac4ad9ce..24af235bfb 100644 --- a/src/routes/guides/styling-components/macaron.mdx +++ b/src/routes/guides/styling-components/macaron.mdx @@ -2,6 +2,20 @@ title: Macaron order: 4 mainNavExclude: true +use_cases: >- + css-in-js styling, type-safe styles, styled components, variant-based styling, + compile-time css +tags: + - styling + - css-in-js + - macaron + - styled-components + - typescript + - variants +version: '1.0' +description: >- + Style Solid components with Macaron's compile-time CSS-in-JS, offering + type-safe styled components and variant-based styling. --- [Macaron](https://macaron.js.org/) is compile-time CSS-in-JS library that offers type safety. diff --git a/src/routes/guides/styling-components/sass.mdx b/src/routes/guides/styling-components/sass.mdx index becc12cd2f..e03d3b3746 100644 --- a/src/routes/guides/styling-components/sass.mdx +++ b/src/routes/guides/styling-components/sass.mdx @@ -2,6 +2,21 @@ title: SASS order: 1 mainNavExclude: true +use_cases: >- + css preprocessing, nested styles, style variables, mixins, scss syntax, + modular styling +tags: + - styling + - sass + - scss + - preprocessor + - variables + - css + - mixins +version: '1.0' +description: >- + Configure SASS/SCSS in Solid projects for advanced CSS preprocessing with + variables, nesting, mixins, and modular stylesheets. --- [SASS](https://sass-lang.com/) is a popular CSS preprocessor that makes authoring CSS easier. diff --git a/src/routes/guides/styling-components/tailwind-v3.mdx b/src/routes/guides/styling-components/tailwind-v3.mdx index 3ae214d9a4..75daec0184 100644 --- a/src/routes/guides/styling-components/tailwind-v3.mdx +++ b/src/routes/guides/styling-components/tailwind-v3.mdx @@ -2,6 +2,20 @@ title: Tailwind CSS v3 order: 7 mainNavExclude: true +use_cases: >- + utility-first css, rapid prototyping, responsive design, consistent styling, + atomic css classes +tags: + - styling + - tailwind + - utility-css + - responsive + - postcss + - atomic-css +version: '1.0' +description: >- + Set up Tailwind CSS v3 in Solid apps for utility-first styling, rapid + development, and consistent responsive design patterns. --- [Tailwind CSS v3](https://v3.tailwindcss.com/) is an on-demand utility CSS library that integrates seamlessly with Solid as a built-in PostCSS plugin. diff --git a/src/routes/guides/styling-components/tailwind.mdx b/src/routes/guides/styling-components/tailwind.mdx index 5bee798414..8513340375 100644 --- a/src/routes/guides/styling-components/tailwind.mdx +++ b/src/routes/guides/styling-components/tailwind.mdx @@ -2,6 +2,20 @@ title: Tailwind CSS order: 5 mainNavExclude: true +use_cases: >- + styling components, utility classes, rapid ui development, responsive design, + production builds +tags: + - styling + - css + - tailwind + - postcss + - utilities + - design +version: '1.0' +description: >- + Set up Tailwind CSS v4 in your Solid app for utility-first styling. Configure + PostCSS, import styles, and build responsive UIs efficiently. --- :::note diff --git a/src/routes/guides/styling-components/uno.mdx b/src/routes/guides/styling-components/uno.mdx index e79499cc37..71db755fd8 100644 --- a/src/routes/guides/styling-components/uno.mdx +++ b/src/routes/guides/styling-components/uno.mdx @@ -2,6 +2,19 @@ title: UnoCSS order: 6 mainNavExclude: true +use_cases: >- + styling components, utility css, on-demand styles, vite integration, atomic + css +tags: + - styling + - css + - unocss + - vite + - utilities +version: '1.0' +description: >- + Integrate UnoCSS with Solid for on-demand utility CSS. Configure Vite plugin, + import styles, and create efficient atomic CSS designs quickly. --- [UnoCSS](https://unocss.dev/) is an on-demand utility CSS library that integrates seamlessly with Solid as a Vite plugin. diff --git a/src/routes/guides/styling-your-components.mdx b/src/routes/guides/styling-your-components.mdx index 611acbf3f2..4858702bc4 100644 --- a/src/routes/guides/styling-your-components.mdx +++ b/src/routes/guides/styling-your-components.mdx @@ -1,6 +1,19 @@ --- title: Styling your components order: 1 +use_cases: >- + styling components, choosing css solutions, css frameworks, preprocessors, + css-in-js +tags: + - styling + - css + - preprocessors + - css-in-js + - frameworks +version: '1.0' +description: >- + Explore Solid's flexible styling options: CSS preprocessors, CSS Modules, + CSS-in-JS, and utility frameworks for component styling needs. --- Solid provides flexible and versatile ways to style your components. diff --git a/src/routes/guides/testing.mdx b/src/routes/guides/testing.mdx index 5452f276ba..c649b1ca00 100644 --- a/src/routes/guides/testing.mdx +++ b/src/routes/guides/testing.mdx @@ -1,6 +1,19 @@ --- title: Testing order: 6 +use_cases: >- + testing components, unit tests, integration tests, user interactions, test + coverage, quality assurance +tags: + - testing + - vitest + - components + - unit-tests + - quality +version: '1.0' +description: >- + Test Solid apps with Vitest and Testing Library. Write component tests, + simulate user interactions, and ensure code quality effectively. --- Testing your Solid applications is important to inspiring confidence in your codebase through preventing regressions. diff --git a/src/routes/index.mdx b/src/routes/index.mdx index bc137a50ef..d288af1652 100644 --- a/src/routes/index.mdx +++ b/src/routes/index.mdx @@ -1,6 +1,19 @@ --- title: Overview mainNavExclude: true +use_cases: >- + getting started, learning solid, understanding framework, first project, + introduction +tags: + - introduction + - overview + - getting-started + - basics + - framework +version: '1.0' +description: >- + Solid is a reactive JavaScript framework for building fast, efficient UIs. + Learn about fine-grained reactivity and modern web development. --- # Overview diff --git a/src/routes/pt-br/index.mdx b/src/routes/pt-br/index.mdx index 04694517ec..b8f18df577 100644 --- a/src/routes/pt-br/index.mdx +++ b/src/routes/pt-br/index.mdx @@ -1,6 +1,19 @@ --- title: Sumário mainNavExclude: true +use_cases: >- + getting started, learning solid, understanding framework, first project, + introduction +tags: + - introduction + - overview + - getting-started + - basics + - framework +version: '1.0' +description: >- + Solid is a reactive JavaScript framework for building fast, efficient UIs. + Learn about fine-grained reactivity and modern web development. --- # Sumário diff --git a/src/routes/pt-br/quick-start.mdx b/src/routes/pt-br/quick-start.mdx index 17eaf23fe1..2ea5251b7c 100644 --- a/src/routes/pt-br/quick-start.mdx +++ b/src/routes/pt-br/quick-start.mdx @@ -1,5 +1,18 @@ --- title: Começo rápido +use_cases: >- + starting new project, project setup, first app, development environment, + templates +tags: + - quickstart + - setup + - templates + - getting-started + - playground +version: '1.0' +description: >- + Start building with Solid quickly. Try the playground, create projects with + templates, and get your first Solid app running in minutes. --- ## Solid playgrounds diff --git a/src/routes/pt-br/solid-router/index.mdx b/src/routes/pt-br/solid-router/index.mdx index 52656a5aba..b87c1bba67 100644 --- a/src/routes/pt-br/solid-router/index.mdx +++ b/src/routes/pt-br/solid-router/index.mdx @@ -1,6 +1,19 @@ --- title: Sumário mainNavExclude: true +use_cases: >- + getting started, learning solid, understanding framework, first project, + introduction +tags: + - introduction + - overview + - getting-started + - basics + - framework +version: '1.0' +description: >- + Solid is a reactive JavaScript framework for building fast, efficient UIs. + Learn about fine-grained reactivity and modern web development. --- # Roteador diff --git a/src/routes/pt-br/solid-router/quick-start.mdx b/src/routes/pt-br/solid-router/quick-start.mdx index 17eaf23fe1..2ea5251b7c 100644 --- a/src/routes/pt-br/solid-router/quick-start.mdx +++ b/src/routes/pt-br/solid-router/quick-start.mdx @@ -1,5 +1,18 @@ --- title: Começo rápido +use_cases: >- + starting new project, project setup, first app, development environment, + templates +tags: + - quickstart + - setup + - templates + - getting-started + - playground +version: '1.0' +description: >- + Start building with Solid quickly. Try the playground, create projects with + templates, and get your first Solid app running in minutes. --- ## Solid playgrounds diff --git a/src/routes/quick-start.mdx b/src/routes/quick-start.mdx index c04a9c7b5d..e29b3298ac 100644 --- a/src/routes/quick-start.mdx +++ b/src/routes/quick-start.mdx @@ -1,5 +1,18 @@ --- title: Quick start +use_cases: >- + starting new project, project setup, first app, development environment, + templates +tags: + - quickstart + - setup + - templates + - getting-started + - playground +version: '1.0' +description: >- + Start building with Solid quickly. Try the playground, create projects with + templates, and get your first Solid app running in minutes. --- ## Try Solid online diff --git a/src/routes/reference/basic-reactivity/create-effect.mdx b/src/routes/reference/basic-reactivity/create-effect.mdx index d935019670..84ee13f122 100644 --- a/src/routes/reference/basic-reactivity/create-effect.mdx +++ b/src/routes/reference/basic-reactivity/create-effect.mdx @@ -1,104 +1,174 @@ --- title: createEffect +use_cases: >- + dom manipulation, side effects, manual dom updates, vanilla js integration, + cleanup operations, logging changes +tags: + - effects + - dom + - side-effects + - reactivity + - lifecycle + - cleanup +version: "1.0" +description: >- + Learn how to use createEffect to run side effects when reactive dependencies + change. Perfect for DOM manipulation and external library integration. --- -```tsx -import { createEffect } from "solid-js" +The `createEffect` primitive creates a reactive computation. +It automatically tracks reactive values, such as [signals](/concepts/signals), accessed within the provided function. +This function will re-run whenever any of its dependencies change. -function createEffect(fn: (v: T) => T, value?: T): void +## Execution Timing -``` +### Initial Run -Effects are a general way to make arbitrary code ("side effects") run whenever dependencies change, e.g., to modify the DOM manually. -`createEffect` creates a new computation that runs the given function in a tracking scope, thus automatically tracking its dependencies, and automatically reruns the function whenever the dependencies update. +- The initial run of effects is **scheduled to occur after the current rendering phase completes**. +- It runs after all synchronous code in a component has finished and DOM elements have been created, but **before the browser paints them on the screen**. +- **[Refs](/concepts/refs) are set** before the first run, even though DOM nodes may not yet be attached to the main document tree. + This is relevant when using the [`children`](/reference/component-apis/children) helper. -For example: +### Subsequent Runs -```tsx -const [a, setA] = createSignal(initialValue) +- After the initial run, the effect **re-runs whenever any tracked dependency changes**. +- When multiple dependencies change within the same batch, the effect **runs once per batch**. +- The **order of runs** among multiple effects is **not guaranteed**. +- Effects always run **after** all pure computations (such as [memos](/concepts/derived-values/memos)) within the same update cycle. -// effect that depends on signal `a` -createEffect(() => doSideEffect(a())) -``` +### Server-Side Rendering -The effect will run whenever `a` changes value. +- Effects **never run during SSR**. +- Effects also **do not run during the initial client hydration**. -The effect will also run once, immediately after it is created, to initialize the DOM to the correct state. This is called the "mounting" phase. -However, we recommend using `onMount` instead, which is a more explicit way to express this. +## Import -The effect callback can return a value, which will be passed as the `prev` argument to the next invocation of the effect. -This is useful for memoizing values that are expensive to compute. For example: +```ts +import { createEffect } from "solid-js"; +``` -```tsx -const [a, setA] = createSignal(initialValue) - -// effect that depends on signal `a` -createEffect((prevSum) => { - // do something with `a` and `prevSum` - const sum = a() + b() - if (sum !== prevSum) console.log("sum changed to", sum) - return sum -}, 0) -// ^ the initial value of the effect is 0 +## Type + +```ts +function createEffect( + fn: EffectFunction, Next> +): void; +function createEffect( + fn: EffectFunction, + value: Init, + options?: { name?: string } +): void; +function createEffect( + fn: EffectFunction, + value?: Init, + options?: { name?: string } +): void; ``` -Effects are meant primarily for side effects that read but don't write to the reactive system: it's best to avoid setting signals in effects, which without care can cause additional rendering or even infinite effect loops. Instead, prefer using [createMemo](/reference/basic-reactivity/create-memo) to compute new values that depend on other reactive values, so the reactive system knows what depends on what, and can optimize accordingly. -If you do end up setting a signal within an effect, computations subscribed to that signal will be executed only once the effect completes; see [`batch`](/reference/reactive-utilities/batch) for more detail. +## Parameters -The first execution of the effect function is not immediate; it's scheduled to run after the current rendering phase (e.g., after calling the function passed to [render](/reference/rendering/render), [createRoot](/reference/reactive-utilities/create-root), or [runWithOwner](/reference/reactive-utilities/run-with-owner)). -If you want to wait for the first execution to occur, use [queueMicrotask](https://developer.mozilla.org/en-US/docs/Web/API/queueMicrotask) (which runs before the browser renders the DOM) or `await Promise.resolve()` or `setTimeout(..., 0)` (which runs after browser rendering). +### `fn` -```tsx -// assume this code is in a component function, so is part of a rendering phase -const [count, setCount] = createSignal(0) - -// this effect prints count at the beginning and when it changes -createEffect(() => console.log("count =", count())) -// effect won't run yet -console.log("hello") -setCount(1) // effect still won't run yet -setCount(2) // effect still won't run yet - -queueMicrotask(() => { - // now `count = 2` will print - console.log("microtask") - setCount(3) // immediately prints `count = 3` - console.log("goodbye") -}) - -// --- overall output: --- -// hello -// count = 2 -// microtask -// count = 3 -// goodbye -``` +- **Type:** `EffectFunction | EffectFunction` +- **Required:** Yes + +A function to be executed as the effect. + +It receives the value returned from the previous run, or the initial `value` during the first run. +The value returned by `fn` is passed to the next run. + +### `value` + +- **Type:** `Init` +- **Required:** No -This delay in first execution is useful because it means an effect defined in a component scope runs after the JSX returned by the component gets added to the DOM. -In particular, [refs](/reference/jsx-attributes/ref) will already be set. -Thus you can use an effect to manipulate the DOM manually, call vanilla JS libraries, or other side effects. +The initial value passed to `fn` during its first run. -Note that the first run of the effect still runs before the browser renders the DOM to the screen (similar to React's `useLayoutEffect`). -If you need to wait until after rendering (e.g., to measure the rendering), you can use `await Promise.resolve()` (or `Promise.resolve().then(...)`), but note that subsequent use of reactive state (such as signals) will not trigger the effect to rerun, as tracking is not possible after an async function uses `await`. -Thus you should use all dependencies before the promise. +### `options` -If you'd rather an effect run immediately even for its first run, use [createRenderEffect](/reference/secondary-primitives/create-render-effect) or [createComputed](/reference/secondary-primitives/create-computed). +- **Type:** `{ name?: string }` +- **Required:** No + +An optional configuration object with the following properties: + +#### `name` + +- **Type:** `string` +- **Required:** No + +A name for the effect, which can be useful for identification in debugging tools like the [Solid Debugger](https://github.com/thetarnav/solid-devtools). + +## Return value + +`createEffect` does not return a value. + +## Examples + +### Basic Usage + +```tsx +import { createSignal, createEffect } from "solid-js"; + +function Counter() { + const [count, setCount] = createSignal(0); + + // Every time count changes, this effect re-runs. + createEffect(() => { + console.log("Count incremented! New value: ", count()); + }); + + return ( +
+

Count: {count()}

+ +
+ ); +} +``` -You can clean up your side effects in between executions of the effect function by calling [onCleanup](/reference/lifecycle/on-cleanup) inside the effect function. -Such a cleanup function gets called both in between effect executions and when the effect gets disposed (e.g., the containing component unmounts). -For example: +### Execution Timing ```tsx -// listen to event dynamically given by eventName signal -createEffect(() => { - const event = eventName() - const callback = (e) => console.log(e) - ref.addEventListener(event, callback) - onCleanup(() => ref.removeEventListener(event, callback)) -}) +import { createSignal, createEffect, createRenderEffect } from "solid-js"; + +function Counter() { + const [count, setCount] = createSignal(0); + + // This is part of the component's synchronous execution. + console.log("Hello from counter"); + + // This effect is scheduled to run after the initial render is complete. + createEffect(() => { + console.log("Effect:", count()); + }); + + // By contrast, a render effect runs synchronously during the render phase. + createRenderEffect(() => { + console.log("Render effect:", count()); + }); + + // Setting a signal during the render phase re-runs render effects, but not effects, which are + // still scheduled. + setCount(1); + + // A microtask is scheduled to run after the current synchronous code (the render phase) finishes. + queueMicrotask(() => { + // Now that rendering is complete, signal updates will trigger effects immediately. + setCount(2); + }); +} + +// Output: +// Hello from counter +// Render effect: 0 +// Render effect: 1 +// Effect: 1 +// Render effect: 2 +// Effect: 2 ``` -## Arguments +## Related -- `fn` - The function to run in a tracking scope. It can return a value, which will be passed as the `prev` argument to the next invocation of the effect. -- `value` - The initial value of the effect. This is useful for memoizing values that are expensive to compute. +- [`createRenderEffect`](/reference/secondary-primitives/create-render-effect) +- [`onCleanup`](/reference/lifecycle/on-cleanup) +- [`onMount`](/reference/lifecycle/on-mount) diff --git a/src/routes/reference/basic-reactivity/create-memo.mdx b/src/routes/reference/basic-reactivity/create-memo.mdx index 58f21b1401..b193040c4b 100644 --- a/src/routes/reference/basic-reactivity/create-memo.mdx +++ b/src/routes/reference/basic-reactivity/create-memo.mdx @@ -1,5 +1,19 @@ --- title: createMemo +use_cases: >- + expensive computations, derived values, performance optimization, caching + calculations, preventing duplicate work +tags: + - memoization + - performance + - optimization + - derived-state + - caching + - reactivity +version: '1.0' +description: >- + Use createMemo to efficiently compute and cache derived values. Prevent + expensive recalculations and optimize your Solid.js application's performance. --- Memos let you efficiently use a derived value in many reactive computations. diff --git a/src/routes/reference/basic-reactivity/create-resource.mdx b/src/routes/reference/basic-reactivity/create-resource.mdx index c53db92e39..2ebcfb4deb 100644 --- a/src/routes/reference/basic-reactivity/create-resource.mdx +++ b/src/routes/reference/basic-reactivity/create-resource.mdx @@ -1,5 +1,20 @@ --- title: createResource +use_cases: >- + data fetching, api calls, async operations, loading states, error handling, + server data, suspense boundaries +tags: + - async + - fetching + - api + - suspense + - loading + - error-handling + - ssr +version: '1.0' +description: >- + Fetch async data with createResource. Handles loading states, errors, and + integrates with Suspense for seamless data fetching in Solid.js applications. --- `createResource` takes an asynchronous fetcher function and returns a signal that is updated with the resulting data when the fetcher completes. diff --git a/src/routes/reference/basic-reactivity/create-signal.mdx b/src/routes/reference/basic-reactivity/create-signal.mdx index 6a56a40ef3..f6de896ac9 100644 --- a/src/routes/reference/basic-reactivity/create-signal.mdx +++ b/src/routes/reference/basic-reactivity/create-signal.mdx @@ -1,5 +1,18 @@ --- title: createSignal +use_cases: >- + state management, reactive values, component state, form inputs, counters, + toggles, any reactive data +tags: + - signals + - state + - reactivity + - core + - primitives +version: '1.0' +description: >- + Create reactive state with createSignal, Solid's fundamental primitive. Track + values that change over time and automatically update your UI when they do. --- Signals are the most basic reactive primitive. diff --git a/src/routes/reference/component-apis/children.mdx b/src/routes/reference/component-apis/children.mdx index bf90388d6c..486aff74a1 100644 --- a/src/routes/reference/component-apis/children.mdx +++ b/src/routes/reference/component-apis/children.mdx @@ -1,5 +1,19 @@ --- title: children +use_cases: >- + complex children manipulation, reusing children, avoiding duplicate dom, + children transformation, conditional children rendering +tags: + - children + - props + - components + - jsx + - composition + - helpers +version: '1.0' +description: >- + Use the children helper for complex child manipulation in Solid.js. Resolve, + reuse, and transform component children without creating duplicate DOM. --- ```tsx diff --git a/src/routes/reference/component-apis/create-context.mdx b/src/routes/reference/component-apis/create-context.mdx index fb16345759..e2e5d1a55f 100644 --- a/src/routes/reference/component-apis/create-context.mdx +++ b/src/routes/reference/component-apis/create-context.mdx @@ -1,6 +1,19 @@ --- title: createContext order: 5 +use_cases: >- + prop drilling, global state, theme providers, user authentication, app-wide + settings, dependency injection +tags: + - context + - providers + - global-state + - props + - dependency-injection +version: '1.0' +description: >- + Create context providers with createContext to share data across components + without prop drilling. Perfect for themes, auth, and global app state. --- diff --git a/src/routes/reference/component-apis/create-unique-id.mdx b/src/routes/reference/component-apis/create-unique-id.mdx index 65088f3748..82c1c88e06 100644 --- a/src/routes/reference/component-apis/create-unique-id.mdx +++ b/src/routes/reference/component-apis/create-unique-id.mdx @@ -1,5 +1,18 @@ --- title: createUniqueId +use_cases: >- + form elements, accessibility, aria labels, ssr compatibility, html id + generation, unique identifiers +tags: + - ids + - accessibility + - ssr + - forms + - utilities +version: '1.0' +description: >- + Generate unique IDs that are stable across server and client with + createUniqueId. Essential for accessible forms and SSR-compatible components. --- ```ts diff --git a/src/routes/reference/component-apis/lazy.mdx b/src/routes/reference/component-apis/lazy.mdx index d6b7144330..0760a518ba 100644 --- a/src/routes/reference/component-apis/lazy.mdx +++ b/src/routes/reference/component-apis/lazy.mdx @@ -1,5 +1,19 @@ --- title: lazy +use_cases: >- + code splitting, performance optimization, reducing bundle size, dynamic + imports, route-based splitting, lazy loading +tags: + - lazy-loading + - code-splitting + - performance + - suspense + - optimization + - imports +version: '1.0' +description: >- + Lazy load components with code splitting to reduce bundle size and improve + performance. Components load on-demand and integrate with Suspense. --- ```ts diff --git a/src/routes/reference/component-apis/use-context.mdx b/src/routes/reference/component-apis/use-context.mdx index e4eb550686..fdc7155cd7 100644 --- a/src/routes/reference/component-apis/use-context.mdx +++ b/src/routes/reference/component-apis/use-context.mdx @@ -1,5 +1,18 @@ --- title: useContext +use_cases: >- + consuming context, accessing global state, avoiding prop drilling, theme + access, auth state, shared data +tags: + - context + - providers + - global-state + - hooks + - consumption +version: '1.0' +description: >- + Access context values with useContext to consume data from parent providers. + Avoid prop drilling and access shared state throughout your component tree. --- Used to grab context within a context provider scope to allow for deep passing of props without having to pass them through each Component function. @@ -35,4 +48,4 @@ import { type Context } from "solid-js" function useContext(context: Context): T -``` \ No newline at end of file +``` diff --git a/src/routes/reference/components/dynamic.mdx b/src/routes/reference/components/dynamic.mdx index d219595082..ec766c8f16 100644 --- a/src/routes/reference/components/dynamic.mdx +++ b/src/routes/reference/components/dynamic.mdx @@ -1,6 +1,20 @@ --- title: order: 5 +use_cases: >- + dynamic components, conditional rendering, polymorphic components, runtime + component selection, flexible ui, component switching +tags: + - dynamic + - components + - jsx + - polymorphic + - rendering + - conditional +version: '1.0' +description: >- + Render components dynamically at runtime with the Dynamic component. Perfect + for polymorphic components and conditional component rendering. --- This component lets you insert an arbitrary Component or tag and passes the props through to it. diff --git a/src/routes/reference/components/error-boundary.mdx b/src/routes/reference/components/error-boundary.mdx index bcdae26a3e..578bfcdb09 100644 --- a/src/routes/reference/components/error-boundary.mdx +++ b/src/routes/reference/components/error-boundary.mdx @@ -1,6 +1,20 @@ --- title: order: 5 +use_cases: >- + error handling, production apps, preventing crashes, user experience, + debugging, fallback ui +tags: + - error-handling + - components + - debugging + - fallback + - production + - stability +version: '1.0' +description: >- + Catch and handle rendering errors in SolidJS components with ErrorBoundary. + Display fallback UI when errors occur in children components. --- The `` component catches errors that occur during the rendering or updating of its children and shows a fallback UI instead. diff --git a/src/routes/reference/components/for.mdx b/src/routes/reference/components/for.mdx index a02434702c..1d17940811 100644 --- a/src/routes/reference/components/for.mdx +++ b/src/routes/reference/components/for.mdx @@ -1,6 +1,20 @@ --- title: order: 5 +use_cases: >- + rendering lists, dynamic arrays, data iteration, collections, tables, + repeating elements +tags: + - lists + - iteration + - components + - arrays + - rendering + - performance +version: '1.0' +description: >- + Efficiently render lists in SolidJS with the For component. Provides keyed + iteration with minimal DOM updates for dynamic array rendering. --- The `` component is used to render a list of items. It is similar to the `.map()` function in JavaScript. diff --git a/src/routes/reference/components/index-component.mdx b/src/routes/reference/components/index-component.mdx index f3f6b6427f..d511b9c8c2 100644 --- a/src/routes/reference/components/index-component.mdx +++ b/src/routes/reference/components/index-component.mdx @@ -1,5 +1,19 @@ --- title: +use_cases: >- + primitive arrays, non-keyed lists, index-based rendering, static positions, + simple lists +tags: + - lists + - iteration + - components + - arrays + - primitives + - index +version: '1.0' +description: >- + Render non-keyed lists in SolidJS with Index component. Perfect for primitive + arrays where index position matters more than item identity. --- Non-keyed list iteration (rendered nodes are keyed to an array index). This is useful when there is no conceptual key, like if the data consists of primitives and it is the index that is fixed rather than the value. @@ -58,4 +72,4 @@ Optional second argument is an index number: | :------- | :------------------------------------ | :-------------------------------------------------------------- | | each | `readonly T[]` | The array to iterate over. | | fallback | `JSX.Element` | Optional fallback element to render while the array is loading. | -| children | `(item: () => T, index: number) => U` | The function that renders the children. | \ No newline at end of file +| children | `(item: () => T, index: number) => U` | The function that renders the children. | diff --git a/src/routes/reference/components/no-hydration.mdx b/src/routes/reference/components/no-hydration.mdx index 347380d399..3c5c4fa508 100644 --- a/src/routes/reference/components/no-hydration.mdx +++ b/src/routes/reference/components/no-hydration.mdx @@ -1,5 +1,19 @@ --- title: +use_cases: >- + static content, ssr optimization, performance, reducing bundle size, + server-only rendering +tags: + - ssr + - hydration + - optimization + - performance + - static + - server-rendering +version: '1.0' +description: >- + Prevent client-side hydration for static content in SolidJS. Optimize + performance by skipping hydration for server-rendered static elements. --- The `` component prevents the client-side hydration process from being applied to its children. diff --git a/src/routes/reference/components/portal.mdx b/src/routes/reference/components/portal.mdx index 1e49844309..e6b763560b 100644 --- a/src/routes/reference/components/portal.mdx +++ b/src/routes/reference/components/portal.mdx @@ -1,5 +1,17 @@ --- title: +use_cases: 'modals, tooltips, overlays, popups, dropdowns, ui layers, escape dom hierarchy' +tags: + - portal + - modals + - dom + - overlays + - tooltips + - components +version: '1.0' +description: >- + Render SolidJS components outside parent DOM hierarchy with Portal. Perfect + for modals, tooltips, and overlays that need to escape layout. --- `` is a component that allows you to render children into a DOM node that exists outside the DOM hierarchy of the parent component. diff --git a/src/routes/reference/components/show.mdx b/src/routes/reference/components/show.mdx index 1a9788ab02..adcf4d2a13 100644 --- a/src/routes/reference/components/show.mdx +++ b/src/routes/reference/components/show.mdx @@ -1,6 +1,20 @@ --- title: order: 5 +use_cases: >- + conditional rendering, toggling ui, feature flags, loading states, user + permissions, responsive design +tags: + - conditional + - rendering + - components + - control-flow + - ui + - toggle +version: '1.0' +description: >- + Conditionally render UI elements in SolidJS with Show component. Display + content based on truthy conditions with optional fallback support. --- The `` component is used for conditionally rendering UI elements. diff --git a/src/routes/reference/components/suspense-list.mdx b/src/routes/reference/components/suspense-list.mdx index 38bc42b37b..d370c18255 100644 --- a/src/routes/reference/components/suspense-list.mdx +++ b/src/routes/reference/components/suspense-list.mdx @@ -1,6 +1,20 @@ --- title: order: 5 +use_cases: >- + coordinating loading, multiple async, loading sequences, layout stability, + parallel data fetching +tags: + - suspense + - async + - loading + - coordination + - experimental + - components +version: '1.0' +description: >- + Coordinate multiple Suspense components in SolidJS. Control reveal order and + manage loading states for parallel async operations smoothly. --- SuspenseList allows for coordinating multiple parallel Suspense and SuspenseList components. It controls the order in which content is revealed to reduce layout thrashing and has an option to collapse or hide fallback states. diff --git a/src/routes/reference/components/suspense.mdx b/src/routes/reference/components/suspense.mdx index dd433d1dc3..ddd676164f 100644 --- a/src/routes/reference/components/suspense.mdx +++ b/src/routes/reference/components/suspense.mdx @@ -1,6 +1,20 @@ --- title: order: 5 +use_cases: >- + async data, loading states, data fetching, api calls, lazy loading, user + experience +tags: + - suspense + - async + - loading + - resources + - components + - data-fetching +version: '1.0' +description: >- + Handle async operations elegantly in SolidJS with Suspense. Show loading + states while resources load without blocking UI rendering. --- A component that tracks all resources read under it and shows a fallback placeholder state until they are resolved. What makes `Suspense` different than `Show` is that it is non-blocking in the sense that both branches exist at the same time even if not currently in the DOM. This means that the fallback can be rendered while the children are loading. This is useful for loading states and other asynchronous operations. diff --git a/src/routes/reference/components/switch-and-match.mdx b/src/routes/reference/components/switch-and-match.mdx index f733467b5b..643451affa 100644 --- a/src/routes/reference/components/switch-and-match.mdx +++ b/src/routes/reference/components/switch-and-match.mdx @@ -1,6 +1,20 @@ --- title: / order: 5 +use_cases: >- + multiple conditions, routing, complex branching, state machines, multi-way + decisions, replacing if-else chains +tags: + - conditional + - routing + - control-flow + - components + - branching + - switch +version: '1.0' +description: >- + Handle multiple exclusive conditions in SolidJS with Switch and Match. Clean + alternative to if-else chains for complex conditional rendering. --- Useful for when there are more than 2 mutual exclusive conditions. It is a more flexible version of the if-else-if-else-if-else-... chain. diff --git a/src/routes/reference/jsx-attributes/attr.mdx b/src/routes/reference/jsx-attributes/attr.mdx index 934b911fea..3c8c625aef 100644 --- a/src/routes/reference/jsx-attributes/attr.mdx +++ b/src/routes/reference/jsx-attributes/attr.mdx @@ -1,5 +1,19 @@ --- -title: attr:* +title: 'attr:*' +use_cases: >- + web components, custom elements, forcing attributes, html attributes, dom + properties +tags: + - attributes + - web-components + - dom + - props + - typescript + - custom-elements +version: '1.0' +description: >- + Force props as HTML attributes instead of properties in SolidJS. Essential for + Web Components and custom element attribute handling. --- Forces the prop to be treated as an attribute instead of a property. diff --git a/src/routes/reference/jsx-attributes/bool.mdx b/src/routes/reference/jsx-attributes/bool.mdx index 94a682099c..a9fcae0182 100644 --- a/src/routes/reference/jsx-attributes/bool.mdx +++ b/src/routes/reference/jsx-attributes/bool.mdx @@ -1,5 +1,18 @@ --- -title: bool:* +title: 'bool:*' +use_cases: >- + web components, custom elements, conditional attributes, boolean attributes, + dynamic attribute presence +tags: + - attributes + - web-components + - boolean + - conditional + - dynamic +version: '1.0' +description: >- + Control attribute presence with bool:* directive in SolidJS. Add or remove + attributes dynamically based on truthy/falsy values for web components. --- `bool:*` controls the presence of an attribute in an element. diff --git a/src/routes/reference/jsx-attributes/classlist.mdx b/src/routes/reference/jsx-attributes/classlist.mdx index e98d525752..770702e992 100644 --- a/src/routes/reference/jsx-attributes/classlist.mdx +++ b/src/routes/reference/jsx-attributes/classlist.mdx @@ -1,6 +1,20 @@ --- title: classList order: 1 +use_cases: >- + styling components, dynamic classes, conditional styles, toggling classes, + reactive styling +tags: + - styling + - css + - classes + - reactive + - conditional + - dom +version: '1.0' +description: >- + Manage element classes dynamically in SolidJS with class and classList + attributes. Toggle multiple classes reactively based on application state. --- Solid offers two attributes to set the class of an element: `class` and `classList`. diff --git a/src/routes/reference/jsx-attributes/innerhtml.mdx b/src/routes/reference/jsx-attributes/innerhtml.mdx index 9c8162a8ca..f0adac24ad 100644 --- a/src/routes/reference/jsx-attributes/innerhtml.mdx +++ b/src/routes/reference/jsx-attributes/innerhtml.mdx @@ -1,5 +1,18 @@ --- title: innerHTML +use_cases: >- + rendering html strings, dynamic html content, third-party html, legacy content + migration, sanitized markup +tags: + - html + - dom + - security + - content + - markup +version: '1.0' +description: >- + Set raw HTML content in SolidJS elements using innerHTML attribute and render + HTML strings dynamically. --- The `innerHTML` attribute is equivalent to the [`innerHTML` DOM property](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML). diff --git a/src/routes/reference/jsx-attributes/on.mdx b/src/routes/reference/jsx-attributes/on.mdx index c7e8ee4ec4..1c3a96bbc4 100644 --- a/src/routes/reference/jsx-attributes/on.mdx +++ b/src/routes/reference/jsx-attributes/on.mdx @@ -1,6 +1,20 @@ --- -title: on:* +title: 'on:*' order: 4 +use_cases: >- + custom events, non-bubbling events, capture phase handling, passive listeners, + special event options +tags: + - events + - listeners + - dom + - capture + - passive + - handlers +version: '1.0' +description: >- + Attach non-delegated event handlers with on:* in SolidJS. Control capture, + passive, and once options for advanced event handling requirements. --- For events with capital letters, listener options, or if you need to attach event handlers directly to a DOM element instead of optimized delegating via the document, use `on:*` in place of `on*`. diff --git a/src/routes/reference/jsx-attributes/on_.mdx b/src/routes/reference/jsx-attributes/on_.mdx index c274af4775..06a7fa0fed 100644 --- a/src/routes/reference/jsx-attributes/on_.mdx +++ b/src/routes/reference/jsx-attributes/on_.mdx @@ -1,6 +1,20 @@ --- title: on* order: 3 +use_cases: >- + user interactions, click handlers, form events, keyboard input, mouse events, + touch handling +tags: + - events + - handlers + - interactions + - click + - input + - delegation +version: '1.0' +description: >- + Handle user events efficiently in SolidJS with onClick and other event + handlers. Optimized delegation system for improved performance at scale. --- Event handlers in Solid typically take the form of `onclick` or `onClick` depending on style. diff --git a/src/routes/reference/jsx-attributes/once.mdx b/src/routes/reference/jsx-attributes/once.mdx index bd86337550..5d4c2faa14 100644 --- a/src/routes/reference/jsx-attributes/once.mdx +++ b/src/routes/reference/jsx-attributes/once.mdx @@ -1,6 +1,19 @@ --- -title: "@once" +title: '@once' order: 5 +use_cases: >- + performance optimization, static props, non-reactive values, compile-time + optimization, reducing overhead +tags: + - optimization + - performance + - static + - compiler + - jsx +version: '1.0' +description: >- + Optimize SolidJS components with @once decorator for static values. Prevent + unnecessary reactive wrapping and improve runtime performance. --- Solid's compiler uses a heuristic for reactive wrapping and lazy evaluation of JSX expressions. Does it contain a function call, a property access, or JSX? If yes we wrap it in a getter when passed to components or in an effect if passed to native elements. diff --git a/src/routes/reference/jsx-attributes/prop.mdx b/src/routes/reference/jsx-attributes/prop.mdx index 3195a22753..fc651731f6 100644 --- a/src/routes/reference/jsx-attributes/prop.mdx +++ b/src/routes/reference/jsx-attributes/prop.mdx @@ -1,6 +1,19 @@ --- -title: prop:* +title: 'prop:*' order: 6 +use_cases: >- + dom properties, scrolltop manipulation, custom properties, property vs + attribute, direct property access +tags: + - properties + - dom + - attributes + - manipulation + - custom +version: '1.0' +description: >- + Force DOM property assignment with prop:* in SolidJS. Set properties directly + instead of attributes for specific DOM manipulation needs. --- Forces the prop to be treated as a property instead of an attribute. diff --git a/src/routes/reference/jsx-attributes/ref.mdx b/src/routes/reference/jsx-attributes/ref.mdx index 630806570f..b4848ecea0 100644 --- a/src/routes/reference/jsx-attributes/ref.mdx +++ b/src/routes/reference/jsx-attributes/ref.mdx @@ -1,6 +1,20 @@ --- title: ref order: 7 +use_cases: >- + dom access, element manipulation, focus management, measurements, third-party + libraries, animations +tags: + - refs + - dom + - elements + - access + - manipulation + - components +version: '1.0' +description: >- + Access DOM elements directly in SolidJS with refs. Get references to rendered + elements for imperative operations and third-party integrations. --- Refs are a way of getting access to underlying DOM elements in our JSX. While it is true one could just assign an element to a variable, it is more optimal to leave components in the flow of JSX. Refs are assigned at render time but before the elements are connected to the DOM. They come in 2 flavors. diff --git a/src/routes/reference/jsx-attributes/style.mdx b/src/routes/reference/jsx-attributes/style.mdx index 4a65409b88..750ef6e504 100644 --- a/src/routes/reference/jsx-attributes/style.mdx +++ b/src/routes/reference/jsx-attributes/style.mdx @@ -1,6 +1,20 @@ --- title: style order: 7 +use_cases: >- + inline styling, dynamic styles, css variables, responsive design, theme + customization, animated styles +tags: + - styling + - css + - inline + - variables + - dynamic + - properties +version: '1.0' +description: >- + Apply dynamic inline styles in SolidJS with string or object syntax. Set CSS + properties and variables reactively for responsive component styling. --- Solid's style attribute lets you provide either a CSS string or an object where keys are CSS property names: diff --git a/src/routes/reference/jsx-attributes/textcontent.mdx b/src/routes/reference/jsx-attributes/textcontent.mdx index bb80437b86..03def76afb 100644 --- a/src/routes/reference/jsx-attributes/textcontent.mdx +++ b/src/routes/reference/jsx-attributes/textcontent.mdx @@ -1,5 +1,18 @@ --- title: textContent +use_cases: >- + text-only content, performance optimization, plain text rendering, avoiding + html parsing, simple text updates +tags: + - text + - performance + - content + - optimization + - dom +version: '1.0' +description: >- + Optimize text rendering with textContent in SolidJS. Bypass diffing for + text-only content and improve performance for simple text updates. --- The `textContent` attribute is equivalent to the [`textContent` DOM property](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent). diff --git a/src/routes/reference/jsx-attributes/use.mdx b/src/routes/reference/jsx-attributes/use.mdx index b622f82c23..f07d715e08 100644 --- a/src/routes/reference/jsx-attributes/use.mdx +++ b/src/routes/reference/jsx-attributes/use.mdx @@ -1,40 +1,107 @@ --- -title: use:* +title: 'use:*' order: 5 +use_cases: >- + complex dom interactions, tooltips, form handling, two-way data binding, + reusable element behaviors, custom input components +tags: + - directives + - dom + - forms + - bindings + - components + - typescript +version: '1.0' +description: >- + Create custom directives in SolidJS to attach reusable behaviors to DOM + elements. Perfect for tooltips, form handling, and two-way data binding. --- -These are custom directives. In a sense this is just syntax sugar over ref but allows us to easily attach multiple directives to a single element. A directive is a function with the following signature: +Custom directives attach reusable behavior to DOM elements, acting as syntactic sugar over `ref`. They’re ideal for complex DOM interactions like scrolling, tooltips, or form handling, which are cumbersome to repeat in JSX. + +A directive is a function with the following signature ```ts -function directive(element: Element, accessor: () => any): void +function directive(element: HTMLElement, accessor: Accessor): void; ``` Directive functions are called at render time but before being added to the DOM. You can do whatever you'd like in them including create signals, effects, register clean-up etc. +## Example + +A `model` directive for two-way data binding + ```tsx -const [name, setName] = createSignal("") +import type { Accessor, Signal } from "solid-js"; -function model(el, value) { - const [field, setField] = value() - createRenderEffect(() => (el.value = field())) - el.addEventListener("input", (e) => setField(e.target.value)) -}; +function model(element: HTMLInputElement, value: Accessor>) { + const [field, setField] = value(); + createRenderEffect(() => (element.value = field())); + element.addEventListener("input", ({ target }) => setField(target.value)); +} + +const [name, setName] = createSignal(""); - +; ``` -To register with TypeScript extend the JSX namespace. +## TypeScript Support + +To type custom directives, extend the `DirectiveFunctions` interface ```ts +declare module "solid-js" { + namespace JSX { + interface DirectiveFunctions { + model: typeof model; + } + } +} +``` + +If you just want to constrain the second argument to the directive function, you can extend the older `Directives` interface + +```tsx declare module "solid-js" { namespace JSX { interface Directives { - model: [() => any, (v: any) => any] + model: Signal; } } } ``` +## Avoiding Tree-Shaking + +When importing a directive `d` from another module and using it only as `use:d`, TypeScript (via [babel-preset-typescript](https://babeljs.io/docs/babel-preset-typescript)) may remove the import, as it doesn’t recognize `use:d` as a reference to `d`. +To prevent this: + +1. Use the `onlyRemoveTypeImports: true` option in `babel-preset-typescript`. For `vite-plugin-solid`, add this to `vite.config.ts` + + ```ts + import solidPlugin from "vite-plugin-solid"; + + export default { + plugins: [ + solidPlugin({ + typescript: { onlyRemoveTypeImports: true } + }) + ], + }; + ``` + + Note: This requires consistent use of `export type` and `import type` in your codebase to avoid issues. + +2. Add a fake access like `false && d;` in the module + + ```tsx + import { model } from "./directives"; + false && model; // Prevents tree-shaking + ; + ``` + + This is removed by bundlers like Terser, unlike a plain `model;` which may remain in the bundle. + :::caution[Limitations] Directives only work with native HTML elements (HTML/SVG/MathML/Custom Elements). Directives are not forwarded and **won't work in user defined components**, such as `` [see also](https://github.com/solidjs/solid/discussions/722) diff --git a/src/routes/reference/lifecycle/on-cleanup.mdx b/src/routes/reference/lifecycle/on-cleanup.mdx index 1472442f53..3cd9b5a248 100644 --- a/src/routes/reference/lifecycle/on-cleanup.mdx +++ b/src/routes/reference/lifecycle/on-cleanup.mdx @@ -1,6 +1,19 @@ --- title: onCleanup order: 5 +use_cases: >- + component unmounting, memory leak prevention, event listener cleanup, side + effect cleanup, resource disposal +tags: + - lifecycle + - cleanup + - memory + - events + - disposal +version: '1.0' +description: >- + Register cleanup methods in SolidJS to prevent memory leaks. Executes when + components unmount or tracking scopes dispose. Essential for proper cleanup. --- `onCleanup` registers a cleanup method that executes on disposal and recalculation of the current tracking scope. diff --git a/src/routes/reference/lifecycle/on-mount.mdx b/src/routes/reference/lifecycle/on-mount.mdx index 9d59843dd4..75bd44c3de 100644 --- a/src/routes/reference/lifecycle/on-mount.mdx +++ b/src/routes/reference/lifecycle/on-mount.mdx @@ -1,6 +1,19 @@ --- title: onMount order: 5 +use_cases: >- + initial setup, dom refs access, one-time initialization, component mounting, + element manipulation after render +tags: + - lifecycle + - mounting + - refs + - dom + - initialization +version: '1.0' +description: >- + Run code after SolidJS components mount to the DOM. Perfect for accessing + refs, setting up third-party libraries, and one-time initializations. --- Registers a method that runs after initial rendering is done and the elements are mounted to the page. diff --git a/src/routes/reference/reactive-utilities/batch.mdx b/src/routes/reference/reactive-utilities/batch.mdx index 1763c98198..4a6c977057 100644 --- a/src/routes/reference/reactive-utilities/batch.mdx +++ b/src/routes/reference/reactive-utilities/batch.mdx @@ -1,5 +1,18 @@ --- title: batch +use_cases: >- + performance optimization, multiple signal updates, reducing re-renders, bulk + state changes, avoiding unnecessary recalculations +tags: + - performance + - optimization + - signals + - batching + - updates +version: '1.0' +description: >- + Batch multiple signal updates in SolidJS to improve performance by reducing + recalculations. Essential for optimizing complex state changes. --- ```ts diff --git a/src/routes/reference/reactive-utilities/catch-error.mdx b/src/routes/reference/reactive-utilities/catch-error.mdx index 49d1db3882..7b2222267a 100644 --- a/src/routes/reference/reactive-utilities/catch-error.mdx +++ b/src/routes/reference/reactive-utilities/catch-error.mdx @@ -1,5 +1,17 @@ --- title: catchError +use_cases: >- + error handling, error boundaries, exception management, debugging, graceful + error recovery +tags: + - errors + - debugging + - exceptions + - handlers +version: '1.0' +description: >- + Wrap SolidJS code with error handlers to catch and handle exceptions + gracefully. Create error boundaries for robust error management in components. --- :::note diff --git a/src/routes/reference/reactive-utilities/create-root.mdx b/src/routes/reference/reactive-utilities/create-root.mdx index 588664d273..cd633a8ab6 100644 --- a/src/routes/reference/reactive-utilities/create-root.mdx +++ b/src/routes/reference/reactive-utilities/create-root.mdx @@ -1,16 +1,129 @@ --- title: createRoot +use_cases: >- + memory management, nested tracking scopes, non-auto-disposing scopes, manual + cleanup control, top-level code wrapping +tags: + - roots + - memory + - scopes + - disposal + - tracking +version: "1.0" +description: >- + Create non-tracked owner scopes in SolidJS for manual memory management. + Essential for nested tracking scopes and preventing auto-disposal. --- +The `createRoot` function creates a new owned context, which requires explicit disposal of computations it owns. + +## Import + +```ts +import { createRoot } from "solid-js"; +``` + +## Type + +```ts +function createRoot( + fn: (dispose: () => void) => T, + detachedOwner?: Owner +): T; +``` + +## Parameters + +### `fn` + +- **Type:** `(dispose: () => void) => T` +- **Required:** Yes + +The function executes within a newly created owned context. +The computations created within this function are managed by the root and will only be disposed of when the provided `dispose` function is called. + +If a function is passed without a `dispose` parameter, an unowned root is created. +In this case, the computations are not managed for disposal, which may lead to memory leaks. + +This function itself does not track dependencies and only runs once. + +### `detachedOwner` + +- **Type:** `Owner` +- **Required:** No + +An optional owner that establishes the root's position in the ownership hierarchy. +When provided, the root becomes owned by this owner and inherits its contextual state (such as [contexts](/concepts/context)). + +## Return Value + +`createRoot` returns the value returned by the `fn` function. + +## Examples + +### Basic Usage + +```ts +import { createSignal, createEffect, createRoot } from "solid-js"; + +function createCounter(initial = 0) { + const [count, setCount] = createSignal(initial); + + createEffect(() => { + console.log(`Count changed, new value: ${count()}`); + }); + + function increment() { + setCount((c) => c + 1); + } + + function reset() { + setCount(initial); + } + + return { count, increment, reset }; +} + +test("createCounter works correctly", () => { + createRoot((dispose) => { + const { count, increment, reset } = createCounter(10); + + expect(count()).toBe(10); + increment(); + expect(count()).toBe(11); + reset(); + expect(count()).toBe(10); + + dispose(); + }); +}); +``` + +### Returning Values + ```ts -import { createRoot } from "solid-js" +import { createRoot, createSignal, onCleanup } from "solid-js"; + +const counter = createRoot((dispose) => { + const [count, setCount] = createSignal(0); + + onCleanup(() => { + console.log("Dispose was called!"); + }); -function createRoot(fn: (dispose: () => void) => T): T + return { + value: count, + increment: () => setCount((c) => c + 1), + dispose, + }; +}); +console.log(counter.value()); // 0 +counter.increment(); +console.log(counter.value()); // 1 +counter.dispose(); // Logs "Dispose was called!" ``` -Creates a new non-tracked owner scope that doesn't auto-dispose. -This is useful for nested tracking scopes that you do not wish to release when the parent re-evaluates. +## Related -All Solid code should be wrapped in one of these top level as they ensure that all memory/computations are freed up. -Normally you do not need to worry about this as createRoot is embedded into all render entry functions. +- [`render`](/reference/rendering/render) diff --git a/src/routes/reference/reactive-utilities/from.mdx b/src/routes/reference/reactive-utilities/from.mdx index ad45aea13a..33d889da6f 100644 --- a/src/routes/reference/reactive-utilities/from.mdx +++ b/src/routes/reference/reactive-utilities/from.mdx @@ -1,5 +1,18 @@ --- title: from +use_cases: >- + rxjs interop, svelte stores integration, external observables, third-party + state management, converting subscriptions to signals +tags: + - interop + - rxjs + - observables + - signals + - integration +version: '1.0' +description: >- + Convert RxJS observables and external producers into SolidJS signals. Seamless + integration with third-party reactive libraries and state managers. --- ```tsx diff --git a/src/routes/reference/reactive-utilities/get-owner.mdx b/src/routes/reference/reactive-utilities/get-owner.mdx index 7c1f595048..2528efe55d 100644 --- a/src/routes/reference/reactive-utilities/get-owner.mdx +++ b/src/routes/reference/reactive-utilities/get-owner.mdx @@ -1,5 +1,18 @@ --- title: getOwner +use_cases: >- + advanced tracking control, custom cleanup logic, understanding component + hierarchy, debugging ownership chains, manual scope management +tags: + - ownership + - tracking + - scopes + - cleanup + - debugging +version: '1.0' +description: >- + Access the current tracking scope owner in SolidJS for advanced control over + cleanup and disposal. Essential for custom reactive primitives. --- ```tsx diff --git a/src/routes/reference/reactive-utilities/index-array.mdx b/src/routes/reference/reactive-utilities/index-array.mdx index a8b6036eef..75143c192e 100644 --- a/src/routes/reference/reactive-utilities/index-array.mdx +++ b/src/routes/reference/reactive-utilities/index-array.mdx @@ -1,5 +1,18 @@ --- title: indexArray +use_cases: >- + rendering lists by index, stable item references, index-based list operations, + optimized list rendering +tags: + - arrays + - lists + - index + - rendering + - optimization +version: '1.0' +description: >- + Map arrays by index in SolidJS where items are signals and indices are + constant. Optimized helper for index-based list rendering patterns. --- ```tsx diff --git a/src/routes/reference/reactive-utilities/map-array.mdx b/src/routes/reference/reactive-utilities/map-array.mdx index 78e2dbfd4a..576a06e730 100644 --- a/src/routes/reference/reactive-utilities/map-array.mdx +++ b/src/routes/reference/reactive-utilities/map-array.mdx @@ -1,5 +1,18 @@ --- title: mapArray +use_cases: >- + efficient list rendering, dynamic arrays, cached list transformations, + optimized updates, for loop alternatives +tags: + - arrays + - lists + - rendering + - caching + - optimization +version: '1.0' +description: >- + Efficiently map reactive arrays in SolidJS with cached transformations. + Reduces unnecessary re-renders by tracking items by reference. --- ```ts diff --git a/src/routes/reference/reactive-utilities/merge-props.mdx b/src/routes/reference/reactive-utilities/merge-props.mdx index 5027201f13..0f2eb3ac6b 100644 --- a/src/routes/reference/reactive-utilities/merge-props.mdx +++ b/src/routes/reference/reactive-utilities/merge-props.mdx @@ -1,5 +1,19 @@ --- title: mergeProps +use_cases: >- + component props, default values, prop cloning, prop merging, component + configuration +tags: + - props + - components + - reactivity + - defaults + - cloning + - merging +version: '1.0' +description: >- + Learn how to merge reactive props in SolidJS for setting component defaults, + cloning props objects, and combining multiple prop sources dynamically. --- ```ts diff --git a/src/routes/reference/reactive-utilities/observable.mdx b/src/routes/reference/reactive-utilities/observable.mdx index 4e1bf23dfa..671cef0a8c 100644 --- a/src/routes/reference/reactive-utilities/observable.mdx +++ b/src/routes/reference/reactive-utilities/observable.mdx @@ -1,5 +1,19 @@ --- title: observable +use_cases: >- + rxjs integration, observable patterns, signal interop, third-party libraries, + reactive streams +tags: + - observables + - rxjs + - signals + - integration + - reactive + - streams +version: '1.0' +description: >- + Convert SolidJS signals to Observables for seamless integration with RxJS and + other reactive libraries using the observable utility function. --- ```ts diff --git a/src/routes/reference/reactive-utilities/on-util.mdx b/src/routes/reference/reactive-utilities/on-util.mdx index 1a8c45a889..f364da0c88 100644 --- a/src/routes/reference/reactive-utilities/on-util.mdx +++ b/src/routes/reference/reactive-utilities/on-util.mdx @@ -1,5 +1,19 @@ --- -title: on +title: 'on' +use_cases: >- + explicit dependencies, effect control, conditional tracking, deferred + execution, store tracking +tags: + - effects + - dependencies + - tracking + - stores + - reactive + - defer +version: '1.0' +description: >- + Control effect dependencies explicitly with SolidJS's on utility. Define when + effects run and manage tracking behavior for precise reactivity. --- ```ts diff --git a/src/routes/reference/reactive-utilities/run-with-owner.mdx b/src/routes/reference/reactive-utilities/run-with-owner.mdx index 10638849f6..91d50b88fe 100644 --- a/src/routes/reference/reactive-utilities/run-with-owner.mdx +++ b/src/routes/reference/reactive-utilities/run-with-owner.mdx @@ -1,6 +1,20 @@ --- title: runWithOwner order: 5 +use_cases: >- + async operations, manual cleanup, context access, ownership control, + setTimeout callbacks, lifecycle management +tags: + - async + - ownership + - context + - cleanup + - lifecycle + - effects +version: '1.0' +description: >- + Execute code under a specific owner in SolidJS for proper cleanup and context + access, especially in async operations and setTimeout callbacks. --- ```ts diff --git a/src/routes/reference/reactive-utilities/split-props.mdx b/src/routes/reference/reactive-utilities/split-props.mdx index 3841792ce2..91310091ee 100644 --- a/src/routes/reference/reactive-utilities/split-props.mdx +++ b/src/routes/reference/reactive-utilities/split-props.mdx @@ -1,5 +1,18 @@ --- title: splitProps +use_cases: >- + prop forwarding, component composition, prop separation, child components, + prop destructuring +tags: + - props + - components + - composition + - destructuring + - reactive +version: '1.0' +description: >- + Split reactive props objects by keys in SolidJS. Perfect for consuming + specific props while forwarding others to child components efficiently. --- ```ts @@ -37,7 +50,7 @@ Because `splitProps` takes any number of arrays, we can split a props object as Let's say a component was passed six props: ```tsx -; + // ... function MyComponent(props) { diff --git a/src/routes/reference/reactive-utilities/start-transition.mdx b/src/routes/reference/reactive-utilities/start-transition.mdx index 2abdf9dadd..731e550e2c 100644 --- a/src/routes/reference/reactive-utilities/start-transition.mdx +++ b/src/routes/reference/reactive-utilities/start-transition.mdx @@ -1,5 +1,18 @@ --- title: startTransition +use_cases: >- + async updates, performance optimization, non-blocking updates, transition + control +tags: + - transitions + - async + - performance + - updates + - batching +version: '1.0' +description: >- + Start transitions in SolidJS without pending state tracking. Batch async + updates for improved performance and smoother user interactions. --- ```ts diff --git a/src/routes/reference/reactive-utilities/untrack.mdx b/src/routes/reference/reactive-utilities/untrack.mdx index 136ed1d832..73d77452e8 100644 --- a/src/routes/reference/reactive-utilities/untrack.mdx +++ b/src/routes/reference/reactive-utilities/untrack.mdx @@ -1,5 +1,19 @@ --- title: untrack +use_cases: >- + static values, initial values, default props, performance optimization, + non-reactive access +tags: + - tracking + - performance + - props + - reactivity + - optimization + - defaults +version: '1.0' +description: >- + Prevent dependency tracking for static values in SolidJS. Optimize performance + by excluding non-updating props from reactive tracking scope. --- Ignores tracking any of the dependencies in the executing code block and returns the value. This helper is useful when a certain `prop` will never update and thus it is ok to use it outside of the tracking scope. diff --git a/src/routes/reference/reactive-utilities/use-transition.mdx b/src/routes/reference/reactive-utilities/use-transition.mdx index 97b085731f..b19f4082da 100644 --- a/src/routes/reference/reactive-utilities/use-transition.mdx +++ b/src/routes/reference/reactive-utilities/use-transition.mdx @@ -1,5 +1,19 @@ --- title: useTransition +use_cases: >- + async batching, loading states, suspense integration, concurrent updates, ui + transitions +tags: + - transitions + - async + - suspense + - loading + - batching + - concurrent +version: '1.0' +description: >- + Batch async updates with transitions in SolidJS. Track pending states and + defer commits until all async processes complete for smooth UI updates. --- ```ts diff --git a/src/routes/reference/rendering/dev.mdx b/src/routes/reference/rendering/dev.mdx index 39cf81e4fa..3258fd5a9c 100644 --- a/src/routes/reference/rendering/dev.mdx +++ b/src/routes/reference/rendering/dev.mdx @@ -1,5 +1,18 @@ --- title: DEV +use_cases: >- + development debugging, build optimization, library development, conditional + code, dev-only features +tags: + - development + - debugging + - builds + - optimization + - conditional +version: '1.0' +description: >- + Access development-only features in SolidJS with the DEV export. Enable + additional checks and debugging tools that are removed in production. --- ```ts diff --git a/src/routes/reference/rendering/hydrate.mdx b/src/routes/reference/rendering/hydrate.mdx index 31ce37db1f..f6c87b4fb5 100644 --- a/src/routes/reference/rendering/hydrate.mdx +++ b/src/routes/reference/rendering/hydrate.mdx @@ -1,5 +1,18 @@ --- title: hydrate +use_cases: >- + ssr hydration, client initialization, server-rendered apps, spa startup, dom + rehydration +tags: + - hydration + - ssr + - rendering + - initialization + - dom +version: '1.0' +description: >- + Hydrate server-rendered HTML with SolidJS client-side code. Essential for + initializing SSR applications and attaching interactivity to static HTML. --- ```ts @@ -29,4 +42,4 @@ const dispose = hydrate(App, document.getElementById("app")) | fn | `() => JSX.Element`| Function that returns the application code. | | node | MountableElement | DOM Element to mount the application to | | options.renderId | string | | -| options.owner | unknown | | \ No newline at end of file +| options.owner | unknown | | diff --git a/src/routes/reference/rendering/hydration-script.mdx b/src/routes/reference/rendering/hydration-script.mdx index 3448d9041c..e555a88dbc 100644 --- a/src/routes/reference/rendering/hydration-script.mdx +++ b/src/routes/reference/rendering/hydration-script.mdx @@ -1,5 +1,18 @@ --- title: hydrationScript +use_cases: >- + ssr hydration, server-side rendering, initial page load optimization, + capturing events before js loads +tags: + - ssr + - hydration + - performance + - events + - bootstrap +version: '1.0' +description: >- + Bootstrap client-side hydration in SSR apps with HydrationScript. Capture and + replay events before JavaScript loads for seamless user experience. --- ```ts diff --git a/src/routes/reference/rendering/is-server.mdx b/src/routes/reference/rendering/is-server.mdx index 4a8539ab26..d9acbc88f2 100644 --- a/src/routes/reference/rendering/is-server.mdx +++ b/src/routes/reference/rendering/is-server.mdx @@ -1,5 +1,18 @@ --- title: isServer +use_cases: >- + conditional rendering, ssr vs client code, bundle optimization, + environment-specific logic, code splitting +tags: + - ssr + - environment + - bundling + - optimization + - conditional +version: '1.0' +description: >- + Detect server or browser environment with isServer. Optimize bundle sizes by + conditionally including code for specific runtime environments. --- ```ts diff --git a/src/routes/reference/rendering/render-to-stream.mdx b/src/routes/reference/rendering/render-to-stream.mdx index d51076eb53..bd4b9903a1 100644 --- a/src/routes/reference/rendering/render-to-stream.mdx +++ b/src/routes/reference/rendering/render-to-stream.mdx @@ -1,5 +1,18 @@ --- title: renderToStream +use_cases: >- + streaming ssr, progressive rendering, async data loading, suspense boundaries, + large page optimization +tags: + - ssr + - streaming + - async + - suspense + - performance +version: '1.0' +description: >- + Stream HTML progressively with renderToStream. Render content synchronously + then stream async resources as they complete for faster loading. --- ```ts diff --git a/src/routes/reference/rendering/render-to-string-async.mdx b/src/routes/reference/rendering/render-to-string-async.mdx index 16c2509eb2..2c7e02d792 100644 --- a/src/routes/reference/rendering/render-to-string-async.mdx +++ b/src/routes/reference/rendering/render-to-string-async.mdx @@ -1,5 +1,18 @@ --- title: renderToStringAsync +use_cases: >- + ssr with async data, suspense resolution, complete page rendering, data + serialization, seo optimization +tags: + - ssr + - async + - suspense + - serialization + - rendering +version: '1.0' +description: >- + Render complete HTML with async data using renderToStringAsync. Waits for all + Suspense boundaries before returning serialized results. --- ```ts diff --git a/src/routes/reference/rendering/render-to-string.mdx b/src/routes/reference/rendering/render-to-string.mdx index 454b0c9718..9af70f6f10 100644 --- a/src/routes/reference/rendering/render-to-string.mdx +++ b/src/routes/reference/rendering/render-to-string.mdx @@ -1,5 +1,18 @@ --- title: renderToString +use_cases: >- + basic ssr, static site generation, synchronous rendering, progressive + hydration, seo pages +tags: + - ssr + - rendering + - hydration + - synchronous + - static +version: '1.0' +description: >- + Generate HTML strings synchronously with renderToString. Perfect for SSR with + progressive hydration and static site generation needs. --- ```ts diff --git a/src/routes/reference/rendering/render.mdx b/src/routes/reference/rendering/render.mdx index f30f5b2976..f4234bbd23 100644 --- a/src/routes/reference/rendering/render.mdx +++ b/src/routes/reference/rendering/render.mdx @@ -1,5 +1,19 @@ --- title: render +use_cases: >- + app initialization, mounting components, spa entry point, client-side + rendering, dom manipulation +tags: + - mounting + - initialization + - spa + - dom + - client + - entry +version: '1.0' +description: >- + Mount your Solid app to the DOM with render. The essential browser entry point + for initializing and disposing client-side applications. --- ```ts @@ -31,4 +45,4 @@ It's important that the first argument is a function: do not pass JSX directly ( | Argument | Type | Description | | -------------------- | ------------------- | ----------------------------------------------- | | code | `() => JSX.Element` | Function that returns the application code. | -| element | MountableElement | DOM Element to mount the application to | \ No newline at end of file +| element | MountableElement | DOM Element to mount the application to | diff --git a/src/routes/reference/secondary-primitives/create-computed.mdx b/src/routes/reference/secondary-primitives/create-computed.mdx index bd565ff381..90b6026938 100644 --- a/src/routes/reference/secondary-primitives/create-computed.mdx +++ b/src/routes/reference/secondary-primitives/create-computed.mdx @@ -1,5 +1,18 @@ --- title: createComputed +use_cases: >- + immediate reactivity, building primitives, side effects with dependencies, + reactive updates, custom reactive patterns +tags: + - reactivity + - computation + - primitives + - effects + - tracking +version: '1.0' +description: >- + Create immediate reactive computations with createComputed. Build custom + primitives and handle side effects that respond to dependencies. --- ```ts diff --git a/src/routes/reference/secondary-primitives/create-deferred.mdx b/src/routes/reference/secondary-primitives/create-deferred.mdx index d62f43b088..b62280db09 100644 --- a/src/routes/reference/secondary-primitives/create-deferred.mdx +++ b/src/routes/reference/secondary-primitives/create-deferred.mdx @@ -1,5 +1,18 @@ --- title: createDeferred +use_cases: >- + performance optimization, idle updates, non-critical ui updates, debouncing + changes, reducing re-renders +tags: + - performance + - optimization + - deferred + - idle + - updates +version: '1.0' +description: >- + Defer reactive updates until browser idle with createDeferred. Optimize + performance by batching non-critical changes with timeout control. --- ```ts diff --git a/src/routes/reference/secondary-primitives/create-reaction.mdx b/src/routes/reference/secondary-primitives/create-reaction.mdx index 9a49a35c1f..2317cfc010 100644 --- a/src/routes/reference/secondary-primitives/create-reaction.mdx +++ b/src/routes/reference/secondary-primitives/create-reaction.mdx @@ -1,5 +1,18 @@ --- title: createReaction +use_cases: >- + custom tracking logic, one-time reactions, separating tracking from execution, + advanced reactive patterns +tags: + - reactivity + - tracking + - custom + - effects + - advanced +version: '1.0' +description: >- + Separate tracking from execution with createReaction. Create one-time reactive + side effects that run on first dependency change only. --- ```ts diff --git a/src/routes/reference/secondary-primitives/create-render-effect.mdx b/src/routes/reference/secondary-primitives/create-render-effect.mdx index bf8a77852f..03ba5016b5 100644 --- a/src/routes/reference/secondary-primitives/create-render-effect.mdx +++ b/src/routes/reference/secondary-primitives/create-render-effect.mdx @@ -1,57 +1,173 @@ --- title: createRenderEffect +use_cases: >- + dom manipulation during render, immediate effects, rendering phase logic, + ref-independent effects, custom rendering +tags: + - rendering + - effects + - dom + - immediate + - refs + - lifecycle +version: "1.0" +description: >- + Execute effects immediately during rendering with createRenderEffect. Run side + effects as DOM creates, before refs are set or connected. --- +The `createRenderEffect` primitive creates a reactive computation that automatically tracks reactive values, such as [signals](/concepts/signals), accessed within the provided function. +This function re-runs whenever any of its dependencies change. + +## Execution Timing + +### Initial Run + +- A render effect runs **synchronously during the current rendering phase**, while DOM elements are being created or updated. +- It **runs before elements are mounted** to the DOM. +- **[Refs](/concepts/refs) are not set** during this initial run. + +### Subsequent Runs + +- After the initial render, the render effect **re-runs whenever any of its tracked dependencies change**. +- Re-runs occur **after** all pure computations (such as [memos](/concepts/derived-values/memos)) have completed within the same update cycle. +- When multiple dependencies change within the same batch, the render effect **runs once per batch**. +- The **order of re-runs** among multiple render effects is **not guaranteed**. + +### Server-Side Rendering + +- During SSR, render effects **run once on the server**, since they are part of the synchronous rendering phase. +- On the client, an initial run still occurs during the client rendering phase to initialize the reactive system; + that client initial run is separate from the server run. +- After hydration, subsequent runs occur on the client when dependencies change. + +## Import + ```ts -import { createRenderEffect } from "solid-js" +import { createRenderEffect } from "solid-js"; +``` -function createRenderEffect(fn: (v: T) => T, value?: T): void +## Type +```ts +function createRenderEffect( + fn: EffectFunction, Next> +): void; +function createRenderEffect( + fn: EffectFunction, + value: Init, + options?: { name?: string } +): void; +function createRenderEffect( + fn: EffectFunction, + value?: Init, + options?: { name?: string } +): void; ``` -A render effect is a computation similar to a regular effect (as created by [`createEffect`](/reference/basic-reactivity/create-effect)), but differs in when Solid schedules the first execution of the effect function. -While `createEffect` waits for the current rendering phase to be complete, `createRenderEffect` immediately calls the function. -Thus the effect runs as DOM elements are being created and updated, but possibly before specific elements of interest have been created, and probably before those elements have been connected to the document. -In particular, **refs** will not be set before the initial effect call. -Indeed, Solid uses `createRenderEffect` to implement the rendering phase itself, including setting of **refs**. +## Parameters -Reactive updates to render effects are identical to effects: they queue up in response to a reactive change (e.g., a single signal update, or a batch of changes, or collective changes during an entire render phase) and run in a single [`batch`](/reference/reactive-utilities/batch) afterward (together with effects). -In particular, all signal updates within a render effect are batched. +### `fn` -Here is an example of the behavior. (Compare with the example in [`createEffect`](/reference/basic-reactivity/create-effect).) +- **Type:** `EffectFunction | EffectFunction` +- **Required:** Yes -```ts -// assume this code is in a component function, so is part of a rendering phase -const [count, setCount] = createSignal(0) - -// this effect prints count at the beginning and when it changes -createRenderEffect(() => console.log("count =", count())) -// render effect runs immediately, printing `count = 0` -console.log("hello") -setCount(1) // effect won't run yet -setCount(2) // effect won't run yet - -queueMicrotask(() => { - // now `count = 2` will print - console.log("microtask") - setCount(3) // immediately prints `count = 3` - console.log("goodbye") -}) - -// --- overall output: --- -// count = 0 [this is the only added line compared to createEffect] -// hello -// count = 2 -// microtask -// count = 3 -// goodbye +A function to be executed as the render effect. + +It receives the value returned from the previous run, or the initial `value` during the first run. +The value returned by `fn` is passed to the next run. + +### `value` + +- **Type:** `Init` +- **Required:** No + +The initial value passed to `fn` during its first run. + +### `options` + +- **Type:** `{ name?: string }` +- **Required:** No + +An optional configuration object with the following properties: + +#### `name` + +- **Type:** `string` +- **Required:** No + +A name for the render effect, which can be useful for identification in debugging tools like the [Solid Debugger](https://github.com/thetarnav/solid-devtools). + +## Return value + +`createRenderEffect` does not return a value. + +## Examples + +### Basic Usage + +```tsx +import { createSignal, createRenderEffect } from "solid-js"; + +function Counter() { + const [count, setCount] = createSignal(0); + + // This runs immediately during render, and re-runs when the count changes. + createRenderEffect(() => { + console.log("Count: ", count()); + }); + + return ( +
+

Count: {count()}

+ +
+ ); +} ``` -Just like `createEffect`, the effect function gets called with an argument equal to the value returned from the effect function's last execution, or on the first call, equal to the optional second argument of `createRenderEffect`. +### Execution Timing + +```tsx +import { createSignal, createEffect, createRenderEffect } from "solid-js"; + +function Counter() { + const [count, setCount] = createSignal(0); + + // This is part of the component's synchronous execution. + console.log("Hello from counter"); + + // This effect is scheduled to run after the initial render is complete. + createEffect(() => { + console.log("Effect:", count()); + }); + + // By contrast, a render effect runs synchronously during the render phase. + createRenderEffect(() => { + console.log("Render effect:", count()); + }); + + // Setting a signal during the render phase re-runs render effects, but not effects, which are + // still scheduled. + setCount(1); + + // A microtask is scheduled to run after the current synchronous code (the render phase) finishes. + queueMicrotask(() => { + // Now that rendering is complete, signal updates will trigger effects immediately. + setCount(2); + }); +} + +// Output: +// Hello from counter +// Render effect: 0 +// Render effect: 1 +// Effect: 1 +// Render effect: 2 +// Effect: 2 +``` -## Arguments +## Related -| Name | Type | Description | -| :------ | :------------ | :----------------------------------------------------- | -| `fn` | `(v: T) => T` | The effect function to be called. | -| `value` | `T` | The initial value to be passed to the effect function. | +- [`createEffect`](/reference/basic-reactivity/create-effect) +- [`onCleanup`](/reference/lifecycle/on-cleanup) diff --git a/src/routes/reference/secondary-primitives/create-selector.mdx b/src/routes/reference/secondary-primitives/create-selector.mdx index 8b5c0ade0b..f258ab131c 100644 --- a/src/routes/reference/secondary-primitives/create-selector.mdx +++ b/src/routes/reference/secondary-primitives/create-selector.mdx @@ -1,5 +1,18 @@ --- title: createSelector +use_cases: >- + selection states, active items, dropdown menus, tab navigation, list + highlighting, performance optimization +tags: + - reactivity + - performance + - selection + - ui-state + - optimization +version: '1.0' +description: >- + Optimize selection state with createSelector. Reduce DOM updates from n to 2 + when tracking active items in lists, tabs, or dropdowns. --- ```ts diff --git a/src/routes/reference/server-utilities/get-request-event.mdx b/src/routes/reference/server-utilities/get-request-event.mdx index 1a409b8882..32af8e61c2 100644 --- a/src/routes/reference/server-utilities/get-request-event.mdx +++ b/src/routes/reference/server-utilities/get-request-event.mdx @@ -1,5 +1,19 @@ --- title: getRequestEvent +use_cases: >- + server-side rendering, authentication, headers manipulation, cookies, server + functions, request context access +tags: + - server + - ssr + - request + - headers + - authentication + - context +version: '1.0' +description: >- + Access server request context with getRequestEvent. Read headers, set cookies, + and manage response status in SSR and server functions. --- Solid uses Async Local Storage as a way of injecting the request context anywhere on the server. diff --git a/src/routes/reference/store-utilities/create-mutable.mdx b/src/routes/reference/store-utilities/create-mutable.mdx index 97b92394e6..df4903b790 100644 --- a/src/routes/reference/store-utilities/create-mutable.mdx +++ b/src/routes/reference/store-utilities/create-mutable.mdx @@ -1,5 +1,18 @@ --- title: createMutable +use_cases: >- + mobx migration, vue compatibility, external system integration, mutable state + patterns, proxy-based reactivity +tags: + - store + - mutable + - proxy + - state + - compatibility +version: '1.0' +description: >- + Create mutable proxy stores with automatic deep tracking. Ideal for MobX/Vue + compatibility or integrating external mutable systems. --- `createMutable` creates a new mutable Store proxy object that provides a way to selectively trigger updates only when values change. diff --git a/src/routes/reference/store-utilities/create-store.mdx b/src/routes/reference/store-utilities/create-store.mdx index c084231aac..a114bf9abb 100644 --- a/src/routes/reference/store-utilities/create-store.mdx +++ b/src/routes/reference/store-utilities/create-store.mdx @@ -1,5 +1,18 @@ --- title: createStore +use_cases: >- + complex state management, nested data, arrays and objects, derived values, + application state +tags: + - store + - state + - data-structures + - objects + - arrays +version: '1.0' +description: >- + Manage complex application state with createStore. Handle nested objects, + arrays, and derived values with fine-grained reactivity. --- Stores were intentionally designed to manage data structures like objects and arrays but are capable of handling other data types, such as strings and numbers. diff --git a/src/routes/reference/store-utilities/modify-mutable.mdx b/src/routes/reference/store-utilities/modify-mutable.mdx index ac56213047..fb3d982a2d 100644 --- a/src/routes/reference/store-utilities/modify-mutable.mdx +++ b/src/routes/reference/store-utilities/modify-mutable.mdx @@ -1,5 +1,18 @@ --- title: modifyMutable +use_cases: >- + batch updates, mutable store modifications, performance optimization, multiple + field changes, reconciliation +tags: + - store + - mutable + - batch + - performance + - updates +version: '1.0' +description: >- + Batch multiple mutable store changes with modifyMutable. Update multiple + fields in one render cycle for better performance. --- `modifyMutable` streamlines the process of making multiple changes to a mutable Store, as obtained through the use of [`createMutable`](/reference/store-utilities/create-mutable). diff --git a/src/routes/reference/store-utilities/produce.mdx b/src/routes/reference/store-utilities/produce.mdx index 612769d9ae..d7d080885f 100644 --- a/src/routes/reference/store-utilities/produce.mdx +++ b/src/routes/reference/store-utilities/produce.mdx @@ -1,5 +1,18 @@ --- title: produce +use_cases: >- + immutable updates, immer-style mutations, store modifications, complex state + changes, nested updates +tags: + - store + - immutable + - updates + - immer + - mutations +version: '1.0' +description: >- + Use Immer-inspired produce API to mutate Solid stores immutably. Simplify + complex nested updates with familiar mutation syntax. --- `produce` is an [Immer](https://immerjs.github.io/immer/) inspired API for Solid's Store objects that allows the store to be mutated inside the `produce` function. diff --git a/src/routes/reference/store-utilities/reconcile.mdx b/src/routes/reference/store-utilities/reconcile.mdx index cfd0e7d946..345356f33e 100644 --- a/src/routes/reference/store-utilities/reconcile.mdx +++ b/src/routes/reference/store-utilities/reconcile.mdx @@ -1,5 +1,18 @@ --- title: reconcile +use_cases: >- + api responses, data synchronization, immutable data diffing, observable + subscriptions, large data updates +tags: + - store + - diffing + - api + - synchronization + - immutable +version: '1.0' +description: >- + Efficiently diff and merge data changes with reconcile. Perfect for syncing + API responses or handling immutable data updates. --- `reconcile` is designed for diffing data changes in situations where granular updates cannot be applied. diff --git a/src/routes/reference/store-utilities/unwrap.mdx b/src/routes/reference/store-utilities/unwrap.mdx index 64742a17ef..6e610bfee4 100644 --- a/src/routes/reference/store-utilities/unwrap.mdx +++ b/src/routes/reference/store-utilities/unwrap.mdx @@ -1,5 +1,18 @@ --- title: unwrap +use_cases: >- + raw data access, proxy removal, debugging, third-party integration, data + serialization +tags: + - store + - proxy + - data + - debugging + - utilities +version: '1.0' +description: >- + Extract raw data from Solid stores without proxy wrapping. Essential for + debugging, serialization, or third-party integrations. --- `unwrap` returns the underlying data in the store without a proxy. diff --git a/src/routes/solid-meta/getting-started/client-setup.mdx b/src/routes/solid-meta/getting-started/client-setup.mdx index 32bc50c839..03b628c4d4 100644 --- a/src/routes/solid-meta/getting-started/client-setup.mdx +++ b/src/routes/solid-meta/getting-started/client-setup.mdx @@ -1,6 +1,19 @@ --- title: Client setup order: 2 +use_cases: >- + seo, meta tags, document head management, social media tags, page titles, + canonical urls +tags: + - meta + - seo + - head + - client + - tags +version: '1.0' +description: >- + Manage document head tags in Solid apps. Add titles, meta tags, and links + dynamically for better SEO and social media sharing. --- You can inject a tag into the `` by rendering one of the head tag components when necessary. diff --git a/src/routes/solid-meta/getting-started/installation-and-setup.mdx b/src/routes/solid-meta/getting-started/installation-and-setup.mdx index 223501dc2c..304c6af61c 100644 --- a/src/routes/solid-meta/getting-started/installation-and-setup.mdx +++ b/src/routes/solid-meta/getting-started/installation-and-setup.mdx @@ -1,6 +1,19 @@ --- title: Install and configure order: 1 +use_cases: >- + initial setup, meta tags configuration, seo setup, head management setup, ssr + meta tags +tags: + - setup + - installation + - meta + - configuration + - seo +version: '1.0' +description: >- + Install and configure @solidjs/meta for head tag management. Set up dynamic + titles, meta tags, and SEO optimization in Solid apps. --- :::note[Prerequisites] diff --git a/src/routes/solid-meta/getting-started/server-setup.mdx b/src/routes/solid-meta/getting-started/server-setup.mdx index 19a0bc6914..d03ee6ad63 100644 --- a/src/routes/solid-meta/getting-started/server-setup.mdx +++ b/src/routes/solid-meta/getting-started/server-setup.mdx @@ -1,6 +1,20 @@ --- title: Server setup order: 3 +use_cases: >- + ssr setup, server rendering, meta tags on server, seo optimization, initial + page load +tags: + - ssr + - server + - meta + - seo + - setup + - rendering +version: '1.0' +description: >- + Configure server-side rendering for Solid Meta tags with MetaProvider. Learn + to properly inject head tags in SSR for optimal SEO and performance. --- For server setup, wrap your application with [`MetaProvider`](/solid-meta/reference/meta/metaprovider) on the server. diff --git a/src/routes/solid-meta/index.mdx b/src/routes/solid-meta/index.mdx index 3cee39418a..61137e8d6e 100644 --- a/src/routes/solid-meta/index.mdx +++ b/src/routes/solid-meta/index.mdx @@ -1,6 +1,19 @@ --- title: Overview mainNavExclude: true +use_cases: >- + managing head tags, seo optimization, document metadata, dynamic meta tags, + ssr meta management +tags: + - meta + - head + - seo + - ssr + - overview +version: '1.0' +description: >- + Solid Meta provides asynchronous SSR-ready document head management. Define + meta tags at any component level for flexible SEO and metadata control. --- # Overview diff --git a/src/routes/solid-meta/reference/meta/base.mdx b/src/routes/solid-meta/reference/meta/base.mdx index f0be6b9f92..01d9f561f3 100644 --- a/src/routes/solid-meta/reference/meta/base.mdx +++ b/src/routes/solid-meta/reference/meta/base.mdx @@ -1,6 +1,19 @@ --- title: Base order: 5 +use_cases: >- + setting base url, relative urls, external resources, multi-page apps, cdn + assets +tags: + - base + - url + - meta + - head + - routing +version: '1.0' +description: >- + Set the base URL for all relative URLs in your Solid app with the Base + component. Essential for apps with complex routing or external resources. --- `Base` is a component that specifies the base URL for all relative URLs in the document. @@ -26,4 +39,4 @@ export default function Root() { ); } -``` \ No newline at end of file +``` diff --git a/src/routes/solid-meta/reference/meta/link.mdx b/src/routes/solid-meta/reference/meta/link.mdx index e925f1dc94..917059fd79 100644 --- a/src/routes/solid-meta/reference/meta/link.mdx +++ b/src/routes/solid-meta/reference/meta/link.mdx @@ -1,6 +1,18 @@ --- title: Link order: 2 +use_cases: 'adding favicon, stylesheets, external resources, preloading assets, web fonts' +tags: + - link + - favicon + - stylesheet + - assets + - head + - resources +version: '1.0' +description: >- + Add external resources like stylesheets and favicons to your Solid app. Learn + to use the Link component for optimal resource loading and icons. --- The Link component establishes a connection between the page and an external resource. diff --git a/src/routes/solid-meta/reference/meta/meta.mdx b/src/routes/solid-meta/reference/meta/meta.mdx index 13e077da5d..3574132b91 100644 --- a/src/routes/solid-meta/reference/meta/meta.mdx +++ b/src/routes/solid-meta/reference/meta/meta.mdx @@ -1,6 +1,20 @@ --- title: Meta order: 3 +use_cases: >- + seo optimization, social media tags, viewport settings, charset configuration, + open graph +tags: + - meta + - seo + - viewport + - metadata + - head + - tags +version: '1.0' +description: >- + Add SEO and viewport metadata to your Solid app with the Meta component. + Configure description, keywords, and social media tags for better reach. --- The `` component represents metadata that cannot be represented by other HTML elements. @@ -31,4 +45,4 @@ export default function Root() { ); } -``` \ No newline at end of file +``` diff --git a/src/routes/solid-meta/reference/meta/metaprovider.mdx b/src/routes/solid-meta/reference/meta/metaprovider.mdx index d9932fa276..dc86d8d8bb 100644 --- a/src/routes/solid-meta/reference/meta/metaprovider.mdx +++ b/src/routes/solid-meta/reference/meta/metaprovider.mdx @@ -1,6 +1,20 @@ --- title: MetaProvider order: 6 +use_cases: >- + initializing meta tags, wrapping app, head management setup, meta context, + always in meta apps +tags: + - provider + - meta + - setup + - context + - wrapper + - head +version: '1.0' +description: >- + MetaProvider wraps your Solid app to enable head tag management. Essential + parent component for all metadata components to function properly. --- `MetaProvider` is a parent component responsible for wrapping all the metadata components. @@ -10,4 +24,4 @@ All components that are contained within this will be added to the application ` import { MetaProvider } from "@solidjs/meta"; // add meta components; -``` \ No newline at end of file +``` diff --git a/src/routes/solid-meta/reference/meta/style.mdx b/src/routes/solid-meta/reference/meta/style.mdx index 4d049ab3e9..d95ce239d0 100644 --- a/src/routes/solid-meta/reference/meta/style.mdx +++ b/src/routes/solid-meta/reference/meta/style.mdx @@ -1,6 +1,17 @@ --- title: Style order: 4 +use_cases: 'inline styles, critical css, theme styles, dynamic styling, css-in-js' +tags: + - style + - css + - inline + - styling + - head +version: '1.0' +description: >- + Add inline CSS styles to your Solid app's head with the Style component. + Useful for critical CSS and dynamic styling needs in your application. --- `Style` is a component that adds the [`style`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style) element to your document's `head`. diff --git a/src/routes/solid-meta/reference/meta/title.mdx b/src/routes/solid-meta/reference/meta/title.mdx index 01df789260..19399de756 100644 --- a/src/routes/solid-meta/reference/meta/title.mdx +++ b/src/routes/solid-meta/reference/meta/title.mdx @@ -1,6 +1,19 @@ --- title: Title order: 1 +use_cases: >- + page titles, seo optimization, browser tab text, dynamic titles, navigation + context +tags: + - title + - seo + - head + - meta + - browser +version: '1.0' +description: >- + Set dynamic page titles in your Solid app with the Title component. Essential + for SEO and providing context in browser tabs and bookmarks. --- `Title` is a component that renders the [`title`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title) element. @@ -24,4 +37,4 @@ export default function Root() { ); } -``` \ No newline at end of file +``` diff --git a/src/routes/solid-router/advanced-concepts/lazy-loading.mdx b/src/routes/solid-router/advanced-concepts/lazy-loading.mdx index 2ef9d89a41..d2c9539aed 100644 --- a/src/routes/solid-router/advanced-concepts/lazy-loading.mdx +++ b/src/routes/solid-router/advanced-concepts/lazy-loading.mdx @@ -1,6 +1,20 @@ ---- -title: Lazy loading ---- +--- +title: Lazy loading +use_cases: >- + optimizing bundle size, code splitting, reducing initial load, large apps, + performance optimization +tags: + - lazy + - performance + - routing + - optimization + - splitting + - loading +version: '1.0' +description: >- + Implement lazy loading in Solid Router to reduce initial bundle size. Load + components on-demand for better performance in large applications. +--- Lazy loading allows you to load only the necessary resources when they are needed. This can be useful when you have a large application with a lot of routes and components, and you want to reduce the initial load time. diff --git a/src/routes/solid-router/concepts/actions.mdx b/src/routes/solid-router/concepts/actions.mdx index 53a96da9c5..a04eaea673 100644 --- a/src/routes/solid-router/concepts/actions.mdx +++ b/src/routes/solid-router/concepts/actions.mdx @@ -1,152 +1,461 @@ --- -title: "Actions" +title: Actions +use_cases: >- + form submissions, data mutations, server communication, user input handling, + api calls, crud operations +tags: + - actions + - forms + - data + - api + - server + - submission + - mutations +version: '1.0' +description: >- + Handle form submissions and server mutations with Solid Router actions. Build + isomorphic data flows with progressive enhancement support. --- -When developing applications, it is common to need to communicate new information to the server based on user interactions. -Actions are Solid Router’s solution to this problem. +Many user interactions in an application involve changing data on the server. +These **mutations** can be challenging to manage, as they require updates to the application's state and proper error handling. +Actions simplify managing data mutations. -## What are actions? +Actions provide several benefits: -Actions are asynchronous processing functions that allow you to submit data to your server and receive a response. -They are isomorphic, meaning they can run either on the server or the client, depending on what is needed. -This flexibility makes actions a powerful tool for managing and tracking data submissions. +- **Integrated state management:** + Solid Router automatically tracks the execution state of an action, simplifying reactive UI feedback. +- **Automatic data revalidation:** + After an action successfully completes, Solid Router revalidates relevant [`queries`](/solid-router/concepts/queries), ensuring the UI reflects the latest data. +- **Progressive enhancement:** + When used with HTML forms, actions enable functionality even if JavaScript is not yet loaded. -### How actions work +## Defining actions -Actions represent the server-side part of an [HTML form](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form). -They handle submissions through POST requests, allowing you to easily use HTML forms to send data. +Actions are defined by wrapping the data-mutation logic with the [`action` function](/solid-router/reference/data-apis/action). -When a user performs an action, such as submitting a form, the data is sent to the server for processing via an action. +```tsx +import { action } from "@solidjs/router"; + +const createTicketAction = action(async (subject: string) => { + const response = await fetch("https://my-api.com/support/tickets", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ subject }), + }); + + if (!response.ok) { + const errorData = await response.json(); + return { ok: false, message: errorData.message }; + } + + return { ok: true }; +}, "createTicket"); +``` + +In this example, an action is defined that creates a support ticket using a remote API. + +## Using actions + +Actions can be triggered in two ways: using a HTML [`
` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form) or programmatically using the [`useAction` primitive](/solid-router/reference/data-apis/use-action). -### Benefits of using actions +The recommended approach is to use a `` element. +This ensures a robust user experience with progressive enhancement, since the form works even without JavaScript. -1. **Isomorphic**: Since actions can run on both the server and client, you can optimize performance by choosing the best execution environment for your needs. -2. **Asynchronous processing**: Actions handle data submissions asynchronously, ensuring that your application remains responsive. -3. **Simplified data handling**: By using actions, the process of managing and tracking data submissions can be streamlined, reducing the complexity of your application. +For cases where a form is not suitable, the [`useAction` primitive](/solid-router/reference/data-apis/use-action) can be used to trigger the action programmatically. -## Creating actions +### With the `` element -To create an action, use the `action` function from the `@solidjs/router` package. -This function takes an asynchronous function as an argument and returns a new function that can be used to submit data. +Solid Router extends the standard HTML `` element to work with actions. +Form submissions can be handled using action by passing an action to the `action` prop. + +Consider these points when using actions with ``: + +1. The `` element **must** have `method="post"`. +2. The action function will automatically receive the form's data as a [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) object as its first parameter. +3. For SSR environments, a unique name **must** be provided as the second parameter to the `action` function. + This name is used by Solid Router to identify and serialize the action across the client and server. ```tsx import { action } from "@solidjs/router"; -const echo = action(async (message: string) => { - // Simulates an asynchronous operation, such as an API call - await new Promise((resolve, reject) => setTimeout(resolve, 1000)); - console.log(message); -}); +const submitFeedbackAction = action(async (formData: FormData) => { + const message = formData.get("message")?.toString(); + // ... Sends the feedback to the server. +}, "submitFeedback"); + +function FeedbackForm() { + return ( + +