diff --git a/.cspell/custom-words.txt b/.cspell/custom-words.txt index 7418171ad..96dfcdd72 100644 --- a/.cspell/custom-words.txt +++ b/.cspell/custom-words.txt @@ -11,3 +11,44 @@ ungroup toc sunlounger monstera + +# Search tags and terms used in icon and category metadata +ageusia +artboard +barbeque +choy +ecommerce +enby +flexbox +futbol +gddr +glassmorphism +gltf +interpoint +interpunct +middot +mistwarp +mlops +moleskine +nonbinary +pantone +parfum +phonendoscope +quadcopter +reapproval +rubygems +showreel +solera +timesheets +turbowarp +unbook +unguard +unkeys +unlabel +unprevented +unqueue +unsalvageable +unshield +unstar +vitamizer +wayfinding diff --git a/.github/conventional-commit-types.json b/.github/conventional-commit-types.json new file mode 100644 index 000000000..c63ef34d1 --- /dev/null +++ b/.github/conventional-commit-types.json @@ -0,0 +1,12 @@ +[ + "fix", + "feat", + "perf", + "refactor", + "test", + "style", + "docs", + "ci", + "build", + "chore" +] diff --git a/.github/instructions/metadata.instructions.md b/.github/instructions/metadata.instructions.md index ea5753d61..a1e99a8e6 100644 --- a/.github/instructions/metadata.instructions.md +++ b/.github/instructions/metadata.instructions.md @@ -32,7 +32,7 @@ A use-case tells a reader **where and why an icon would be used in a real interf - Write each use-case as a short phrase, not a sentence. Start with a present participle verb: *Representing…*, *Indicating…*, *Marking…*, *Showing…*, *Confirming…*, *Toggling…*, *Categorizing…*, *Searching…*. - Keep it to roughly 4–12 words. One clear idea per entry. - No trailing period. No leading bullet, number, or dash (the surrounding format supplies that). -- Give each icon 1–4 use-cases, ordered most-common first. Prefer fewer strong entries over many weak or repetitive ones. +- Give each icon 1 or more use-cases, ordered most-common first. More than 4 use-cases are allowed when they are distinct and useful. Prefer fewer strong entries over many weak or repetitive ones. ### Voice diff --git a/.github/workflows/generate-pr-title.yml b/.github/workflows/generate-pr-title.yml new file mode 100644 index 000000000..0e70e0462 --- /dev/null +++ b/.github/workflows/generate-pr-title.yml @@ -0,0 +1,103 @@ +name: PR title + +on: + pull_request_target: + types: + - opened + - reopened + - synchronize + - edited + +permissions: {} + +concurrency: + group: pr-title-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + generate-pr-title: + name: Generate PR Title + # Skip when a maintainer has opted out by adding the "Keep PR title" label, + # and on manual edits so they are not reverted straight away. + if: github.repository == 'lucide-icons/lucide' && + github.event.action != 'edited' && + !contains(github.event.pull_request.labels.*.name, 'Keep PR title') + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write # Required to edit the PR title + + steps: + # We check out the main branch of the main repository for security reasons. + # The script only reads its input from the environment, so it never runs + # any code from the (untrusted) pull request. + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + repository: lucide-icons/lucide + fetch-depth: 0 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version-file: 'package.json' + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 + with: + # The checkout is the base branch, so the PR head commit isn't available locally. + use_rest_api: true + + - name: Generate PR title + id: generate + run: | + NEW_TITLE="$(node ./scripts/generatePullRequestTitle.mts)" + { + echo "new_title<> "$GITHUB_OUTPUT" + env: + ADDED_FILES: ${{ steps.changed-files.outputs.added_files }} + CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_and_modified_files }} + CURRENT_TITLE: ${{ github.event.pull_request.title }} + + - name: Update PR title + if: steps.generate.outputs.new_title != '' + run: gh pr edit "$PR_NUMBER" --title "$NEW_TITLE" + env: + GH_TOKEN: ${{ github.token }} + PR_NUMBER: ${{ github.event.pull_request.number }} + NEW_TITLE: ${{ steps.generate.outputs.new_title }} + + # Runs after the title is generated: an edit made with `GITHUB_TOKEN` does not + # trigger new workflow runs, so a separate workflow would lint the old title. + # The lint action fetches the current title through the API. + lint-pr-title: + name: PR Title Lint + needs: generate-pr-title + if: ${{ !cancelled() }} + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: read # Required to read the PR title + + steps: + # Checks out the base branch, so the allowed types can't be changed by the PR. + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Read conventional commit types + id: commit-types + run: | + { + echo "types<> "$GITHUB_OUTPUT" + + - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + types: ${{ steps.commit-types.outputs.types }} + requireScope: true + ignoreLabels: | + bot diff --git a/.github/workflows/lint-code.yml b/.github/workflows/lint-code.yml index ccbb3ad30..0cebc766c 100644 --- a/.github/workflows/lint-code.yml +++ b/.github/workflows/lint-code.yml @@ -7,7 +7,8 @@ permissions: contents: read jobs: - lint-code: + eslint: + name: ESLint runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -20,5 +21,57 @@ jobs: - name: Install Dependencies run: pnpm install --frozen-lockfile - - name: Run Linter - run: pnpm lint + # The formatter prints workflow commands, which GitHub shows as inline annotations. + - name: Run ESLint + run: pnpm lint:es --format ./scripts/eslint/githubFormatter.mjs + + prettier: + name: Prettier + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + cache: 'pnpm' + node-version-file: 'package.json' + + - name: Install Dependencies + run: pnpm install --frozen-lockfile + + - name: Check formatting + run: pnpm lint:format:ci + + json-schema: + name: JSON Schema + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + cache: 'pnpm' + node-version-file: 'package.json' + + - name: Install Dependencies + run: pnpm install --frozen-lockfile + + - name: Validate icon and category JSON + run: pnpm lint:json --format ./scripts/eslint/githubFormatter.mjs + + spelling: + name: Spelling + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + cache: 'pnpm' + node-version-file: 'package.json' + + - name: Install Dependencies + run: pnpm install --frozen-lockfile + + - name: Spell check icon and category metadata + run: pnpm lint:spelling:ci diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml deleted file mode 100644 index ef9abcf61..000000000 --- a/.github/workflows/lint-pr-title.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Linting PR title - -on: - pull_request: - types: - - opened - - edited - - reopened - -permissions: - contents: read - pull-requests: read # Required to read the PR title - -jobs: - lint-pr-title: - name: PR Title Lint - runs-on: ubuntu-latest - steps: - - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - types: | - fix - feat - perf - refactor - test - style - docs - ci - build - chore - requireScope: true - ignoreLabels: | - bot diff --git a/.github/workflows/lucide-svelte-5.yml b/.github/workflows/lucide-svelte-5.yml index 57c809d29..230656a23 100644 --- a/.github/workflows/lucide-svelte-5.yml +++ b/.github/workflows/lucide-svelte-5.yml @@ -10,6 +10,9 @@ on: - packages/shared/** - tools/build-icons/** - tools/rollup-plugins/** + - integrations/lucide-svelte/** + - package.json + - pnpm-workspace.yaml - pnpm-lock.yaml permissions: @@ -63,3 +66,22 @@ jobs: - name: Typecheck run: pnpm --filter @lucide/svelte typecheck + + integration: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + cache: 'pnpm' + node-version-file: 'package.json' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Install Chromium + run: pnpm --filter @lucide/integration-svelte-vite exec playwright install --with-deps chromium + + - name: Run integration checks + run: pnpm test:integrations:svelte diff --git a/.gitignore b/.gitignore index 1e94ab0f3..311a10f5f 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ integrations/**/__screenshots__ integrations/**/.output integrations/**/.nitro integrations/**/.nuxt +integrations/**/.svelte-kit outlined lucide-font packages/**/src/icons/*.js diff --git a/.prettierignore b/.prettierignore index e8a4863bb..8dd5aedd3 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ pnpm-lock.yaml +.github/conventional-commit-types.json # docs examples docs/**/examples/ @@ -29,6 +30,7 @@ integrations/**/__screenshots__ integrations/**/.output integrations/**/.nitro integrations/**/.nuxt +integrations/**/.svelte-kit # lucide-svelte packages/svelte/src/icons/*.svelte diff --git a/cspell.json b/cspell.json index b98d751c0..10cde6110 100644 --- a/cspell.json +++ b/cspell.json @@ -1,4 +1,5 @@ { + "language": "en,en-GB", "dictionaries": ["en-us", "custom-words"], "dictionaryDefinitions": [ { @@ -6,5 +7,9 @@ "path": "./.cspell/custom-words.txt", "addWords": true } + ], + "ignoreRegExpList": [ + "/\"contributors\"\\s*:\\s*\\[[^\\]]*\\]/g", + "/\"name\"\\s*:\\s*\"[^\"]*\"/g" ] } diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 547a14faa..251223308 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -68,6 +68,12 @@ export default defineConfig({ new URL('./theme/components/overrides/VPCarbonAds.vue', import.meta.url), ), }, + { + find: /^.*\/VPNavBarSearch\.vue$/, + replacement: fileURLToPath( + new URL('./theme/components/overrides/VPNavBarSearch.vue', import.meta.url), + ), + }, { find: '~/.vitepress', replacement: fileURLToPath(new URL('./', import.meta.url)), @@ -125,6 +131,14 @@ export default defineConfig({ editLink: { pattern: 'https://github.com/lucide-icons/lucide/edit/main/docs/:path', }, + search: { + provider: 'algolia', + options: { + appId: 'R7KKMCPXOB', + apiKey: 'dd3101054267d35fb28f49c42715f1aa', + indexName: 'lucide', + }, + }, carbonAds: { code: 'CWYIC53U', placement: 'lucidedev', diff --git a/docs/.vitepress/data/categoriesData.json b/docs/.vitepress/data/categoriesData.json index dcb8e5f07..03b97984f 100644 --- a/docs/.vitepress/data/categoriesData.json +++ b/docs/.vitepress/data/categoriesData.json @@ -101,7 +101,7 @@ }, { "name": "notifications", - "title": "Notification" + "title": "Notifications" }, { "name": "people", diff --git a/docs/.vitepress/data/packageData.thirdParty.json b/docs/.vitepress/data/packageData.thirdParty.json index 37f44cad6..c372763a0 100644 --- a/docs/.vitepress/data/packageData.thirdParty.json +++ b/docs/.vitepress/data/packageData.thirdParty.json @@ -228,5 +228,24 @@ ], "source": "https://github.com/GyeongHoKim/lucide-lit", "documentation": "https://github.com/GyeongHoKim/lucide-lit/blob/main/README.md" + }, + { + "name": "lucide-jte", + "description": "Implementation of Lucide icons for jte (Java Template Engine).", + "icon": "/framework-logos/java.svg", + "shields": [ + { + "alt": "Latest Stable Version", + "src": "https://img.shields.io/github/v/release/sgruendel/lucide-jte", + "href": "https://github.com/sgruendel/lucide-jte/releases" + }, + { + "alt": "Maven Central", + "src": "https://img.shields.io/maven-central/v/io.github.sgruendel/lucide-jte.svg", + "href": "https://central.sonatype.com/artifact/io.github.sgruendel/lucide-jte" + } + ], + "source": "https://github.com/sgruendel/lucide-jte", + "documentation": "https://github.com/sgruendel/lucide-jte/blob/main/README.md" } ] diff --git a/docs/.vitepress/getStructuredData.ts b/docs/.vitepress/getStructuredData.ts index 2ac47df1e..7fde3ff12 100644 --- a/docs/.vitepress/getStructuredData.ts +++ b/docs/.vitepress/getStructuredData.ts @@ -1,7 +1,19 @@ import { PageData } from 'vitepress'; +/** + * Mirrors the notices in the repo's LICENSE file, which is bumped by hand — keep the + * year here in step with it. + */ +const LUCIDE_COPYRIGHT = 'Copyright (c) 2026 Lucide Icons and Contributors'; +const FEATHER_COPYRIGHT = 'Copyright (c) 2013-present Cole Bemis'; +const LICENSE_URL = 'https://lucide.dev/license'; + export default async function getStructuredData(iconName: string, pageData: PageData) { - const url = `https://lucide.dev/icons/${iconName}`; + const params = pageData.params ?? {}; + const isLab = params.externalLibrary === 'lab'; + const url = `https://lucide.dev/icons/${isLab ? 'lab/' : ''}${iconName}`; + + const awaitingRelease = Boolean(params.awaitingRelease); return { '@context': 'https://schema.org', @@ -29,18 +41,41 @@ export default async function getStructuredData(iconName: string, pageData: Page name: iconName, // TODO: Add support for description extraction from icon metadata // description: 'An ...SVG icon from the Lucide icon set.', - contentUrl: `https://lucide.dev/api/icons/${iconName}}?width=24&height=24&background=white`, - thumbnailUrl: `https://lucide.dev/api/icons/${iconName}}?width=256&height=256&background=white`, + // `/api/icons/` only renders core icons, a lab name would 404 there. + ...(isLab + ? {} + : { + contentUrl: `https://lucide.dev/api/icons/${iconName}?width=24&height=24&background=white`, + thumbnailUrl: `https://lucide.dev/api/icons/${iconName}?width=256&height=256&background=white`, + }), encodingFormat: 'image/svg+xml', - keywords: pageData.params?.tags, + keywords: params.tags, width: 24, height: 24, creator: { '@type': 'Organization', name: 'Lucide Icons', }, - datePublished: pageData?.params?.createdRelease?.date, - dateModified: pageData?.params?.changedRelease?.date, + license: LICENSE_URL, + acquireLicensePage: LICENSE_URL, + // The Feather-derived icons are MIT © Cole Bemis; everything else is ISC. Lab + // icons carry no release metadata, so they fall to the ISC-only notice. + copyrightNotice: params.fromFork + ? `${LUCIDE_COPYRIGHT}; ${FEATHER_COPYRIGHT}` + : LUCIDE_COPYRIGHT, + creditText: 'Lucide Icons', + // Both dates fall back to the date of the fork for unreleased icons, so neither + ...(awaitingRelease + ? {} + : { + ...(params.createdRelease?.date ? { datePublished: params.createdRelease.date } : {}), + ...(params.changedRelease?.date ? { dateModified: params.changedRelease.date } : {}), + }), + + // Custom attributes, picked up by the Algolia crawler to rank and sort the icon + // index. Not schema.org vocabulary, consumers that don't know them ignore them. + popularity: params.popularity ?? 0, + awaitingRelease, }, }; } diff --git a/docs/.vitepress/theme/components/base/FakeInput.vue b/docs/.vitepress/theme/components/base/FakeInput.vue index e9fb2f811..a3f0fde03 100644 --- a/docs/.vitepress/theme/components/base/FakeInput.vue +++ b/docs/.vitepress/theme/components/base/FakeInput.vue @@ -27,7 +27,7 @@ defineProps({ diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 0c9379701..4d11b17aa 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -10,14 +10,14 @@ import HomeHeroInfoBefore from './components/home/HomeHeroInfoBefore.vue'; import { ICON_STYLE_CONTEXT, iconStyleContext } from './composables/useIconStyle'; import { CATEGORY_VIEW_CONTEXT, categoryViewContext } from './composables/useCategoryView'; import { EXTERNAL_LIBS_CONTEXT, externalLibContext } from './composables/useExternalLibs'; -import FrameworkSelect from './components/guide/FrameworkSelect.vue'; +import SideBarNavBefore from './layouts/SideBarNavBefore.vue'; import SnackPlayer from './components/editors/SnackPlayer.vue'; const theme: Partial = { extends: DefaultTheme, Layout() { return h(DefaultTheme.Layout, null, { - 'sidebar-nav-before': () => h(FrameworkSelect), + 'sidebar-nav-before': () => h(SideBarNavBefore), 'home-hero-info-before': () => h(HomeHeroInfoBefore), 'sidebar-nav-after': () => h(IconsSidebarNavAfter), 'home-hero-image': () => h(HomeHeroIconsCard), diff --git a/docs/.vitepress/theme/layouts/SideBarNavBefore.vue b/docs/.vitepress/theme/layouts/SideBarNavBefore.vue new file mode 100644 index 000000000..c0bd505ea --- /dev/null +++ b/docs/.vitepress/theme/layouts/SideBarNavBefore.vue @@ -0,0 +1,20 @@ + + + diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index 234cc4eaf..725715a07 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -129,6 +129,10 @@ html { flex-direction: column-reverse; } +.content-body .search { + display: none; +} + @media (min-width: 960px) { .VPHomeHero .container .image { order: 1; diff --git a/docs/.vitepress/transformPageData.ts b/docs/.vitepress/transformPageData.ts index a57c023d6..85dbc6b61 100644 --- a/docs/.vitepress/transformPageData.ts +++ b/docs/.vitepress/transformPageData.ts @@ -4,11 +4,8 @@ import { createGeneralOGImage, createIconOGImage } from './createOGImage'; export async function transformPageData(pageData: PageData) { pageData.frontmatter.head ??= []; - if ( - pageData.relativePath.startsWith('icons/') && - !pageData.relativePath.startsWith('icons/lab/') && - pageData.params?.name - ) { + if (pageData.relativePath.startsWith('icons/') && pageData.params?.name) { + const isLab = pageData.relativePath.startsWith('icons/lab/'); const iconName = pageData.params.name; pageData.title = `${iconName} icon details`; @@ -24,26 +21,29 @@ export async function transformPageData(pageData: PageData) { const structuredData = await getStructuredData(iconName, pageData); - const ogPath = await createIconOGImage(iconName, pageData.params?.tags || []); + // `createIconOGImage` reads the SVG from `icons/`, where lab icons don't live. + if (!isLab) { + const ogPath = await createIconOGImage(iconName, pageData.params?.tags || []); - if (ogPath) { - const content = `https://lucide.dev${ogPath}`; - pageData.frontmatter.head.push( - [ - 'meta', - { - property: 'og:image', - content, - }, - ], - [ - 'meta', - { - property: 'twitter:image', - content, - }, - ], - ); + if (ogPath) { + const content = `https://lucide.dev${ogPath}`; + pageData.frontmatter.head.push( + [ + 'meta', + { + property: 'og:image', + content, + }, + ], + [ + 'meta', + { + property: 'twitter:image', + content, + }, + ], + ); + } } pageData.frontmatter.head.push([ diff --git a/docs/guide/comparison.md b/docs/guide/comparison.md index 94d286004..bf5cbb777 100644 --- a/docs/guide/comparison.md +++ b/docs/guide/comparison.md @@ -15,7 +15,7 @@ In an effort to expand the icon set while remaining true to the original minimal ### Why should I choose Lucide over Feather Icons? -- Lucide has expanded its icon set by 500+ in the last few years. Lucide now has over 1000 icons, while Feather has around 287 icons. +- Lucide has expanded its icon set by 1600+ in the last few years. Lucide now has over 1800 icons, while Feather has around 287 icons. - Well maintained code base. - Active community. diff --git a/docs/icons/[name].paths.ts b/docs/icons/[name].paths.ts index 4921fa5e3..75617e7cc 100644 --- a/docs/icons/[name].paths.ts +++ b/docs/icons/[name].paths.ts @@ -3,11 +3,18 @@ import iconNodes from '../.vitepress/data/iconNodes'; import * as iconDetails from '../.vitepress/data/iconDetails'; import { IconEntity } from '../.vitepress/theme/types'; +/** + * The generated `iconDetails` modules import `iconPopularity/.json` as-is, + * so popularity arrives as the raw `{ count }` object instead of a number. + */ +type IconDetail = Omit & { popularity?: { count: number } }; + export default { paths: async () => { - return (Object.values(iconDetails) as unknown as IconEntity[]).map((iconEntity) => { + return (Object.values(iconDetails) as unknown as IconDetail[]).map((iconEntity) => { const params = { ...iconEntity, + popularity: iconEntity.popularity?.count ?? 0, relatedIcons: relatedIcons[iconEntity.name].map((name: string) => ({ name, iconNode: iconNodes[name], diff --git a/docs/package.json b/docs/package.json index 9e43447ba..86a79f5d7 100644 --- a/docs/package.json +++ b/docs/package.json @@ -30,6 +30,7 @@ "author": "Eric Fennis", "license": "ISC", "devDependencies": { + "@docsearch/js": "3.8.2", "@lucide/build-icons": "workspace:*", "@lucide/helpers": "workspace:*", "@lucide/shared": "workspace:*", @@ -43,7 +44,7 @@ "nitropack": "^2.13.4", "rollup-plugin-copy": "^3.5.0", "semver": "^7.8.5", - "sharp": "^0.35.4", + "sharp": "^0.35.5", "shiki": "^4.4.3", "simple-git": "^4.0.1", "sitemap": "^9.0.1", @@ -57,6 +58,7 @@ "vue-tsc": "^3.3.11" }, "dependencies": { + "@docsearch/css": "3.8.2", "@floating-ui/vue": "^2.0.1", "@headlessui/vue": "^1.7.23", "@lucide/vue": "workspace:*", @@ -70,9 +72,9 @@ "lucide": "workspace:*", "lucide-react": "workspace:*", "motion-v": "2.4.0", - "react": "19.3.0", - "react-dom": "19.3.0", + "react": "19.3.1", + "react-dom": "19.3.1", "sandpack-vue3": "3.1.12", - "vue": "^3.5.43" + "vue": "^3.5.44" } } diff --git a/docs/public/framework-logos/java.svg b/docs/public/framework-logos/java.svg new file mode 100644 index 000000000..25c50b34d --- /dev/null +++ b/docs/public/framework-logos/java.svg @@ -0,0 +1,4 @@ + + + + diff --git a/eslint.config.js b/eslint.config.js index f88f795d6..49aa4a5c7 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -8,6 +8,8 @@ import htmlEslint from '@html-eslint/eslint-plugin'; import htmlParser from '@html-eslint/parser'; import defaultAttrs from './tools/build-icons/render/default-attrs.json' with { type: 'json' }; import tseslint from 'typescript-eslint'; +import jsonSchema from './scripts/eslint/jsonSchemaPlugin.mjs'; +import * as jsoncParser from 'jsonc-eslint-parser'; const gitignorePath = path.join(import.meta.dirname, '.gitignore'); @@ -152,4 +154,25 @@ export default defineConfig([ '@html-eslint/quotes': 'error', }, }, + { + files: ['icons/*.json', 'categories/*.json'], + languageOptions: { + parser: jsoncParser, + }, + plugins: { + 'json-schema': jsonSchema, + }, + }, + { + files: ['icons/*.json'], + rules: { + 'json-schema/no-invalid': ['error', { schema: 'icon.schema.json' }], + }, + }, + { + files: ['categories/*.json'], + rules: { + 'json-schema/no-invalid': ['error', { schema: 'category.schema.json' }], + }, + }, ]); diff --git a/icons/asterisk.json b/icons/asterisk.json index 65a8e1b1c..8705c5696 100644 --- a/icons/asterisk.json +++ b/icons/asterisk.json @@ -8,7 +8,6 @@ "use-cases": [], "tags": [ "symbol", - "sterisk", "mark", "pointer", "pencil", diff --git a/icons/avocado.json b/icons/avocado.json new file mode 100644 index 000000000..05e8ae2d4 --- /dev/null +++ b/icons/avocado.json @@ -0,0 +1,50 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "devkamani9313", + "karsa-mistmere" + ], + "use-cases": [ + "Representing fruit, guacamole, or healthy food in nutrition apps", + "Indicating salad, breakfast, or brunch ingredients", + "Showing vegetarian or vegan food options", + "Marking avocado toast as a menu item in restaurant or delivery apps", + "Denoting fresh produce or fruit section in grocery and supermarket apps", + "Signifying healthy fats or superfood in nutrition and wellness trackers", + "Labeling plant-based or vegetarian recipes in cooking websites and apps" + ], + "tags": [ + "fruit", + "snack", + "meal", + "lunch", + "ingredient", + "cooking", + "cookery", + "kitchen", + "cuisine", + "eating", + "healthy", + "nutrition", + "diet", + "guacamole", + "mexican", + "green", + "pit", + "seed", + "half", + "produce", + "vegetarian", + "vegan", + "grocery", + "supermarket", + "toast", + "superfood", + "plant based", + "ripe" + ], + "categories": [ + "food-beverage" + ] +} diff --git a/icons/avocado.svg b/icons/avocado.svg new file mode 100644 index 000000000..9326534aa --- /dev/null +++ b/icons/avocado.svg @@ -0,0 +1,14 @@ + + + + diff --git a/icons/bacon.json b/icons/bacon.json new file mode 100644 index 000000000..daded2dfc --- /dev/null +++ b/icons/bacon.json @@ -0,0 +1,51 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "devkamani9313", + "karsa-mistmere" + ], + "use-cases": [ + "Representing breakfast items, rashers, or pork products", + "Indicating diner, brunch, or fast food menu items", + "Showing savory cooked meats or barbecue items", + "Labeling grocery or deli items in food apps", + "Marking breakfast sandwich or brunch special add-ons", + "Tagging cured or smoked meat ingredients in recipes" + ], + "tags": [ + "rashers", + "smoked", + "streaky", + "crispy", + "meat", + "fast food", + "junk food", + "snack", + "dish", + "restaurant", + "brunch", + "lunch", + "meal", + "savory", + "savoury", + "cookery", + "cooking", + "grilled", + "barbecue", + "barbeque", + "bbq", + "pig", + "pork", + "breakfast", + "cured", + "butcher", + "sandwich", + "protein", + "grocery", + "kitchen" + ], + "categories": [ + "food-beverage" + ] +} diff --git a/icons/bacon.svg b/icons/bacon.svg new file mode 100644 index 000000000..c4e8d5603 --- /dev/null +++ b/icons/bacon.svg @@ -0,0 +1,14 @@ + + + + diff --git a/icons/bangladeshi-taka.json b/icons/bangladeshi-taka.json index 3b19ab093..b7a3c5c22 100644 --- a/icons/bangladeshi-taka.json +++ b/icons/bangladeshi-taka.json @@ -16,7 +16,7 @@ "payment", "bdt", "৳", - "currencysymbol", + "currency symbol", "cash", "banknote", "price", diff --git a/icons/barrel.svg b/icons/barrel.svg index b6045fcc1..55bfe70cd 100644 --- a/icons/barrel.svg +++ b/icons/barrel.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/belarusian-ruble.json b/icons/belarusian-ruble.json new file mode 100644 index 000000000..4dc6ec35a --- /dev/null +++ b/icons/belarusian-ruble.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "js-best" + ], + "use-cases": [ + "Displaying prices and amounts in BYN in e-commerce apps", + "Selecting BYN in multi-currency pickers", + "Labeling account balances and transactions in BYN", + "Showing BYN exchange rates in currency converters" + ], + "tags": [ + "currency", + "money", + "payment", + "byn", + "iso4217", + "fiat", + "prices", + "localization", + "banking", + "checkout", + "wallet", + "exchange-rate" + ], + "categories": [ + "finance", + "shopping", + "account" + ] +} diff --git a/icons/music.svg b/icons/belarusian-ruble.svg similarity index 67% rename from icons/music.svg rename to icons/belarusian-ruble.svg index dd9faacab..c31f8bd3a 100644 --- a/icons/music.svg +++ b/icons/belarusian-ruble.svg @@ -9,7 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + diff --git a/icons/brain-circuit.svg b/icons/brain-circuit.svg index 7b672d831..fb39c7795 100644 --- a/icons/brain-circuit.svg +++ b/icons/brain-circuit.svg @@ -9,17 +9,16 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - - + - - - - - + + + + + + + + + diff --git a/icons/brain-cog.svg b/icons/brain-cog.svg index b20b5d7e1..eab275a53 100644 --- a/icons/brain-cog.svg +++ b/icons/brain-cog.svg @@ -12,15 +12,15 @@ - + - - - - - - + + + + + + diff --git a/icons/brain-off.json b/icons/brain-off.json new file mode 100644 index 000000000..7fd98bd4d --- /dev/null +++ b/icons/brain-off.json @@ -0,0 +1,33 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "karsa-mistmere", + "jguddas", + "it-is-not", + "jamiemlaw", + "ej52" + ], + "use-cases": [ + "Indicating disabled reasoning in an AI chat interface" + ], + "tags": [ + "medical", + "mind", + "mental", + "intellect", + "cerebral", + "consciousness", + "genius", + "artificial intelligence", + "ai", + "think", + "deep learning", + "machine learning", + "computing" + ], + "categories": [ + "medical", + "science", + "development" + ] +} diff --git a/icons/brain-off.svg b/icons/brain-off.svg new file mode 100644 index 000000000..67615f7b3 --- /dev/null +++ b/icons/brain-off.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + diff --git a/icons/brain.svg b/icons/brain.svg index 25cbe755e..03d54dbda 100644 --- a/icons/brain.svg +++ b/icons/brain.svg @@ -10,11 +10,11 @@ stroke-linejoin="round" > - - - - - - - + + + + + + + diff --git a/icons/building-complex-plus.json b/icons/building-complex-plus.json index 7a24b02c5..ecb8dc16e 100644 --- a/icons/building-complex-plus.json +++ b/icons/building-complex-plus.json @@ -30,7 +30,7 @@ "startup", "registration", "onboarding", - "realestate", + "real estate", "property" ], "categories": [ diff --git a/icons/calendar-chevrons-left.json b/icons/calendar-chevrons-left.json new file mode 100644 index 000000000..1e0553fe7 --- /dev/null +++ b/icons/calendar-chevrons-left.json @@ -0,0 +1,34 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "karsa-mistmere", + "ericfennis", + "jguddas", + "colebemis", + "AlexandrePhilibert" + ], + "use-cases": [ + "Indicating past events in calendars", + "Rewinding through calendar views" + ], + "tags": [ + "navigation", + "arrow", + "direction", + "symbol", + "pointer", + "indicator", + "next", + "menu", + "date", + "day", + "month", + "year", + "events" + ], + "categories": [ + "time", + "arrows", + "navigation" + ] +} diff --git a/icons/calendar-chevrons-left.svg b/icons/calendar-chevrons-left.svg new file mode 100644 index 000000000..ea9a32d6e --- /dev/null +++ b/icons/calendar-chevrons-left.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/icons/calendar-chevrons-right.json b/icons/calendar-chevrons-right.json index 6f33edac7..69c4a452a 100644 --- a/icons/calendar-chevrons-right.json +++ b/icons/calendar-chevrons-right.json @@ -14,20 +14,17 @@ "tags": [ "navigation", "arrow", - "right", - "chevron", "direction", "symbol", "pointer", "indicator", - "next", + "previous", "menu", "date", "day", "month", "year", - "events", - "chevrons" + "events" ], "categories": [ "time", diff --git a/icons/car-battery.json b/icons/car-battery.json index 9eeaef2fc..8092aa975 100644 --- a/icons/car-battery.json +++ b/icons/car-battery.json @@ -11,7 +11,7 @@ "tags": [ "battery", "automobile", - "powercell", + "power cell", "electric", "power", "electricity", diff --git a/icons/certificate.json b/icons/certificate.json new file mode 100644 index 000000000..4a77eefa3 --- /dev/null +++ b/icons/certificate.json @@ -0,0 +1,44 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497" + ], + "use-cases": [ + "Representing SSL/TLS security certificates", + "Representing educational or professional certifications" + ], + "tags": [ + "award", + "ribbon", + "medal", + "achievement", + "pinned", + "badge", + "recognition", + "laurel", + "commendation", + "diploma", + "official", + "proof", + "fact", + "verified", + "license", + "warrant", + "authorization", + "legal", + "ownership", + "credential", + "ssl", + "tls", + "security", + "trust", + "cybersecurity", + "authority", + "graduation", + "study" + ], + "categories": [ + "connectivity", + "security" + ] +} diff --git a/icons/certificate.svg b/icons/certificate.svg new file mode 100644 index 000000000..478d3abff --- /dev/null +++ b/icons/certificate.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/icons/chess-queen.svg b/icons/chess-queen.svg index 03d7fa3bc..e4949cbc3 100644 --- a/icons/chess-queen.svg +++ b/icons/chess-queen.svg @@ -9,11 +9,11 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + diff --git a/icons/circle-fading-play.json b/icons/circle-fading-play.json new file mode 100644 index 000000000..9f6ea6bfd --- /dev/null +++ b/icons/circle-fading-play.json @@ -0,0 +1,35 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "tatianatsiguleva", + "jordan808", + "jguddas", + "colebemis", + "karsa-mistmere" + ], + "use-cases": [ + "Indicating short-form video clips in media browsing interfaces", + "Representing preview or teaser playback for video thumbnails", + "Providing an entry point for stories, reels, or shorts in social apps", + "Marking auto-generated clips from live streams or long recordings" + ], + "tags": [ + "short clips", + "shorts", + "reels", + "stories", + "video", + "highlights", + "social media", + "content", + "preview", + "teaser", + "clip", + "short form", + "vertical video" + ], + "categories": [ + "multimedia", + "social" + ] +} diff --git a/icons/circle-fading-play.svg b/icons/circle-fading-play.svg new file mode 100644 index 000000000..8913ca765 --- /dev/null +++ b/icons/circle-fading-play.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/icons/circle-x.json b/icons/circle-x.json index 8d109ef62..eb6b266e0 100644 --- a/icons/circle-x.json +++ b/icons/circle-x.json @@ -8,6 +8,7 @@ "tags": [ "cancel", "close", + "cross", "delete", "remove", "times", diff --git a/icons/cloud-backup.json b/icons/cloud-backup.json index c1afba8b2..753551f84 100644 --- a/icons/cloud-backup.json +++ b/icons/cloud-backup.json @@ -13,7 +13,7 @@ "bytes", "servers", "backup", - "timemachine", + "time machine", "rotate", "synchronize", "synchronise", diff --git a/icons/cpu-ai.json b/icons/cpu-ai.json new file mode 100644 index 000000000..f5ae6b11f --- /dev/null +++ b/icons/cpu-ai.json @@ -0,0 +1,46 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "karsa-mistmere", + "ericfennis", + "jguddas", + "signalgridco" + ], + "use-cases": [ + "Indicating AI-powered features in applications and dashboards", + "Representing AI assistants, chatbots, and conversational UIs", + "Identifying machine learning models, training, or inference jobs", + "Labeling generative AI content, tools, or outputs", + "Signifying integrations with AI services, APIs, or platforms" + ], + "tags": [ + "ai", + "artificial intelligence", + "machine learning", + "neural network", + "automation", + "intelligence", + "generative", + "assistant", + "chatbot", + "llm", + "deep learning", + "inference", + "training", + "mlops", + "model", + "predictive", + "on-device", + "edge", + "api", + "service", + "cognitive", + "processor", + "chip" + ], + "categories": [ + "devices", + "development" + ] +} diff --git a/icons/cpu-ai.svg b/icons/cpu-ai.svg new file mode 100644 index 000000000..95e1af776 --- /dev/null +++ b/icons/cpu-ai.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + diff --git a/icons/database-backup.json b/icons/database-backup.json index 887040443..b41424600 100644 --- a/icons/database-backup.json +++ b/icons/database-backup.json @@ -13,7 +13,7 @@ "bytes", "servers", "backup", - "timemachine", + "time machine", "rotate", "arrow", "left" diff --git a/icons/eighth-note.json b/icons/eighth-note.json new file mode 100644 index 000000000..367f8e2ea --- /dev/null +++ b/icons/eighth-note.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "it-is-not", + "danielbayley", + "karsa-mistmere", + "jamiemlaw" + ], + "use-cases": [ + "Representing music or an audio track", + "Representing a single eighth note in music notation" + ], + "tags": [ + "audio", + "music", + "sound", + "note", + "quaver" + ], + "categories": [ + "multimedia", + "files" + ], + "aliases": [ + { + "name": "music-2", + "deprecationReason": "alias.name", + "deprecated": true + } + ] +} diff --git a/lab/bacon.svg b/icons/eighth-note.svg similarity index 65% rename from lab/bacon.svg rename to icons/eighth-note.svg index 743ca20e7..6f39fed82 100644 --- a/lab/bacon.svg +++ b/icons/eighth-note.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/eighth-notes.json b/icons/eighth-notes.json new file mode 100644 index 000000000..cee8bfc9b --- /dev/null +++ b/icons/eighth-notes.json @@ -0,0 +1,32 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "mittalyashu", + "ericfennis", + "jamiemlaw" + ], + "use-cases": [ + "Representing music or an audio track", + "Representing paired eighth notes in music notation" + ], + "tags": [ + "audio", + "music", + "sound", + "notes", + "quavers" + ], + "categories": [ + "multimedia", + "files" + ], + "aliases": [ + { + "name": "music", + "deprecationReason": "alias.name", + "deprecated": true + } + ] +} diff --git a/icons/music-4.svg b/icons/eighth-notes.svg similarity index 69% rename from icons/music-4.svg rename to icons/eighth-notes.svg index 911a72470..aedfde1d6 100644 --- a/icons/music-4.svg +++ b/icons/eighth-notes.svg @@ -9,8 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + diff --git a/icons/folder-user.json b/icons/folder-user.json new file mode 100644 index 000000000..c3282697c --- /dev/null +++ b/icons/folder-user.json @@ -0,0 +1,39 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497", + "colebemis", + "csandman", + "ericfennis", + "karsa-mistmere", + "danielbayley", + "jguddas" + ], + "use-cases": [ + "Representing home folders or private directories in local and cloud storage", + "Storing private HR, tax, or backup records", + "Showing user-owned directories in multi-user systems", + "Organizing personal contacts or address book entries" + ], + "tags": [ + "directory", + "profile", + "person", + "personal", + "contact", + "document", + "account", + "individual", + "home folder", + "shared", + "access", + "owner" + ], + "categories": [ + "files", + "account", + "social", + "people", + "security" + ] +} diff --git a/icons/folder-user.svg b/icons/folder-user.svg new file mode 100644 index 000000000..be33ed1af --- /dev/null +++ b/icons/folder-user.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/folder-users.json b/icons/folder-users.json new file mode 100644 index 000000000..9fe0e0d85 --- /dev/null +++ b/icons/folder-users.json @@ -0,0 +1,39 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497", + "colebemis", + "csandman", + "ericfennis", + "karsa-mistmere", + "danielbayley", + "jguddas" + ], + "use-cases": [ + "Representing shared network directories in operating systems", + "Showing shared drives in cloud storage apps", + "Organizing team or project collaboration workspaces", + "Organizing group contacts or address book entries" + ], + "tags": [ + "directory", + "profile", + "shared", + "people", + "document", + "accounts", + "group", + "team", + "permission", + "access", + "collaboration", + "organization" + ], + "categories": [ + "files", + "account", + "social", + "people", + "security" + ] +} diff --git a/icons/folder-users.svg b/icons/folder-users.svg new file mode 100644 index 000000000..f5c5fe23f --- /dev/null +++ b/icons/folder-users.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/graph-hub.json b/icons/graph-hub.json new file mode 100644 index 000000000..2468360b3 --- /dev/null +++ b/icons/graph-hub.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "Carlito-la-banane" + ], + "use-cases": [ + "Representing a load balancer in cloud infrastructure", + "Showing traffic distributed across multiple servers", + "Indicating a task split into parallel processes", + "Representing a load balancer in cloud service consoles", + "Showing incoming traffic distributed across multiple backends", + "Indicating a task split into parallel worker threads or processes", + "Marking fan-out patterns in system architecture or topology diagrams" + ], + "tags": [ + "load balancer", + "distribute", + "traffic", + "network", + "nodes", + "parallel", + "branch", + "hierarchy", + "routing", + "dispatcher", + "cluster", + "backend", + "fan-out", + "topology", + "orchestration" + ], + "categories": [ + "connectivity", + "development" + ] +} diff --git a/icons/graph-hub.svg b/icons/graph-hub.svg new file mode 100644 index 000000000..460503135 --- /dev/null +++ b/icons/graph-hub.svg @@ -0,0 +1,19 @@ + + + + + + + + + diff --git a/icons/graph-star.json b/icons/graph-star.json new file mode 100644 index 000000000..113dc1f01 --- /dev/null +++ b/icons/graph-star.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "karsa-mistmere" + ], + "use-cases": [ + "Visualizing relationships between nodes in a graph", + "Representing mind maps, ideas, and concept associations", + "Showing devices connected to a central server or hub", + "Representing interconnected systems and networks", + "Showing dependencies and relationships between components", + "Representing molecules and chemical structures in scientific applications" + ], + "tags": [ + "mind map", + "network", + "hub", + "nodes", + "links", + "connections", + "relationships", + "dependencies", + "bonds", + "structure", + "topology", + "cluster", + "thoughts", + "ideas", + "concepts", + "molecule" + ], + "categories": [ + "development", + "charts" + ] +} diff --git a/icons/graph-star.svg b/icons/graph-star.svg new file mode 100644 index 000000000..c66f3d79e --- /dev/null +++ b/icons/graph-star.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + diff --git a/icons/guitar-electric.json b/icons/guitar-electric.json new file mode 100644 index 000000000..b3d051b3f --- /dev/null +++ b/icons/guitar-electric.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "jguddas", + "rrod497" + ], + "use-cases": [ + "Digital Audio Workstations (DAWs) or music production software to represent MIDI track routing, virtual instrument tracks, or guitar controller settings.", + "Music streaming apps to represent rock playlists, genre categories, or live radio stations.", + "Event ticketing websites to highlight upcoming rock concerts and music festivals.", + "Online music store platforms to categorize instruments, gear, or digital audio tracks.", + "Music education blogs to tag articles, video tutorials, or guitar lesson courses." + ], + "tags": [ + "acoustic", + "instrument", + "strings", + "riff", + "rock", + "band", + "country", + "concert", + "performance", + "play", + "lead", + "loud", + "music", + "audio", + "sound", + "noise" + ], + "categories": [ + "multimedia" + ] +} diff --git a/icons/guitar-electric.svg b/icons/guitar-electric.svg new file mode 100644 index 000000000..2fc2b468b --- /dev/null +++ b/icons/guitar-electric.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/half-note.json b/icons/half-note.json new file mode 100644 index 000000000..c5192d090 --- /dev/null +++ b/icons/half-note.json @@ -0,0 +1,32 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "it-is-not", + "danielbayley", + "karsa-mistmere" + ], + "use-cases": [ + "Representing music or an audio track", + "Representing a half note in music notation" + ], + "tags": [ + "audio", + "music", + "sound", + "note", + "crotchet", + "minim", + "quarter note" + ], + "categories": [ + "multimedia", + "files" + ], + "aliases": [ + { + "name": "music-3", + "deprecationReason": "alias.name", + "deprecated": true + } + ] +} diff --git a/icons/music-3.svg b/icons/half-note.svg similarity index 100% rename from icons/music-3.svg rename to icons/half-note.svg diff --git a/icons/handle-bottom-right.json b/icons/handle-bottom-right.json new file mode 100644 index 000000000..5b46f254d --- /dev/null +++ b/icons/handle-bottom-right.json @@ -0,0 +1,21 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "ocavue" + ], + "tags": [ + "mouse", + "grab", + "handle", + "move", + "drag", + "resize", + "corner" + ], + "use-cases": [ + "Indicating the bottom-right resize handle of a resizable object" + ], + "categories": [ + "design" + ] +} diff --git a/icons/music-2.svg b/icons/handle-bottom-right.svg similarity index 77% rename from icons/music-2.svg rename to icons/handle-bottom-right.svg index 9b1aa2974..bc4199537 100644 --- a/icons/music-2.svg +++ b/icons/handle-bottom-right.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/letter-spacing.json b/icons/letter-spacing.json new file mode 100644 index 000000000..177d3c631 --- /dev/null +++ b/icons/letter-spacing.json @@ -0,0 +1,24 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "madebyoz" + ], + "use-cases": [ + "Adjusting spacing between characters in text editors and design tools" + ], + "tags": [ + "tracking", + "kerning", + "design", + "lettering", + "text", + "letters", + "characters", + "font", + "typography", + "formatting" + ], + "categories": [ + "text" + ] +} diff --git a/icons/letter-spacing.svg b/icons/letter-spacing.svg new file mode 100644 index 000000000..62b9a919e --- /dev/null +++ b/icons/letter-spacing.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/lighthouse.json b/icons/lighthouse.json index aad0294c8..41cc2604c 100644 --- a/icons/lighthouse.json +++ b/icons/lighthouse.json @@ -30,7 +30,7 @@ "nautical", "harbor", "shore", - "lightbeam", + "light beam", "wayfinding", "guidance", "onboarding", diff --git a/icons/line-height.json b/icons/line-height.json new file mode 100644 index 000000000..d710a266a --- /dev/null +++ b/icons/line-height.json @@ -0,0 +1,26 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "madebyoz" + ], + "use-cases": [ + "Adjusting spacing between lines in text editors and design tools" + ], + "tags": [ + "leading", + "text", + "letters", + "characters", + "font", + "typography", + "spacing", + "paragraph", + "formatting", + "editor", + "readability", + "typesetting" + ], + "categories": [ + "text" + ] +} diff --git a/icons/line-height.svg b/icons/line-height.svg new file mode 100644 index 000000000..5123f3633 --- /dev/null +++ b/icons/line-height.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/mail-clock.json b/icons/mail-clock.json index 8299dd5d4..51241f599 100644 --- a/icons/mail-clock.json +++ b/icons/mail-clock.json @@ -18,7 +18,7 @@ "unread", "scheduled", "delayed", - "sendlater", + "send later", "delivery", "reminder", "pending", diff --git a/icons/mail-dot.json b/icons/mail-dot.json new file mode 100644 index 000000000..7d86a206a --- /dev/null +++ b/icons/mail-dot.json @@ -0,0 +1,33 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "karsa-mistmere", + "ericfennis", + "jguddas", + "elenakovelskikh" + ], + "use-cases": [ + "Indicating new or unread messages in messaging systems", + "Drawing attention to recent activity in inboxes and notification areas" + ], + "tags": [ + "mail", + "envelope", + "communication", + "post", + "send", + "address", + "notification", + "email", + "message", + "letter", + "unread", + "dot" + ], + "categories": [ + "text", + "account", + "mail" + ] +} diff --git a/icons/mail-dot.svg b/icons/mail-dot.svg new file mode 100644 index 000000000..3773b75f5 --- /dev/null +++ b/icons/mail-dot.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/message-circle-text.json b/icons/message-circle-text.json new file mode 100644 index 000000000..1b2640dc5 --- /dev/null +++ b/icons/message-circle-text.json @@ -0,0 +1,44 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "ericfennis", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "Representing a text message or comment", + "Opening a chat or messaging inbox", + "Marking a comment thread or discussion on a post", + "Indicating a live chat or customer support conversation", + "Representing a chatbot or AI assistant conversation", + "Showing a message transcript or chat history", + "Representing SMS or instant messaging in a contact list", + "Indicating written feedback, reviews, or remarks" + ], + "tags": [ + "comment", + "chat", + "conversation", + "dialog", + "feedback", + "speech", + "bubble", + "sms", + "texting", + "messaging", + "dm", + "discussion", + "thread", + "transcript", + "written", + "writing", + "lines", + "support", + "chatbot" + ], + "categories": [ + "social" + ] +} diff --git a/icons/message-circle-text.svg b/icons/message-circle-text.svg new file mode 100644 index 000000000..67c572c6a --- /dev/null +++ b/icons/message-circle-text.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/messages-circle.json b/icons/messages-circle.json index adee57e1c..8d8a060c3 100644 --- a/icons/messages-circle.json +++ b/icons/messages-circle.json @@ -26,7 +26,7 @@ "interview", "debate", "group", - "groupchat", + "group chat", "threads", "unread", "bubble", diff --git a/icons/music-2.json b/icons/music-2.json deleted file mode 100644 index 9a57875f6..000000000 --- a/icons/music-2.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "it-is-not", - "danielbayley", - "karsa-mistmere" - ], - "use-cases": [], - "tags": [ - "quaver", - "eighth note", - "note" - ], - "categories": [ - "multimedia", - "files" - ] -} diff --git a/icons/music-3.json b/icons/music-3.json deleted file mode 100644 index dce8aed6d..000000000 --- a/icons/music-3.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "it-is-not", - "danielbayley", - "karsa-mistmere" - ], - "use-cases": [], - "tags": [ - "crotchet", - "minim", - "quarter note", - "half note", - "note" - ], - "categories": [ - "multimedia", - "files" - ] -} diff --git a/icons/music-4.json b/icons/music-4.json deleted file mode 100644 index a7db8c9ed..000000000 --- a/icons/music-4.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "it-is-not", - "karsa-mistmere" - ], - "use-cases": [], - "tags": [ - "semiquaver", - "sixteenth note", - "note" - ], - "categories": [ - "multimedia", - "files" - ] -} diff --git a/icons/music.json b/icons/music.json deleted file mode 100644 index 772edc000..000000000 --- a/icons/music.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "colebemis", - "csandman", - "mittalyashu", - "ericfennis" - ], - "use-cases": [], - "tags": [ - "note", - "quaver", - "eighth note" - ], - "categories": [ - "multimedia", - "files" - ] -} diff --git a/icons/paper-bag.json b/icons/paper-bag.json index d14dd760d..34a2f928d 100644 --- a/icons/paper-bag.json +++ b/icons/paper-bag.json @@ -20,7 +20,7 @@ "eco-friendly", "kraft", "retail", - "doggybag" + "doggy bag" ], "categories": [ "food-beverage", diff --git a/icons/perfume-bottle.json b/icons/perfume-bottle.json new file mode 100644 index 000000000..82c941855 --- /dev/null +++ b/icons/perfume-bottle.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497" + ], + "use-cases": [ + "Representing fragrance and cosmetic products in retail catalogs", + "Indicating duty-free and boutique fragrance stores", + "Distinguishing scented and unscented skincare products" + ], + "tags": [ + "eau de parfum", + "eau de toilette", + "essence", + "aftershave", + "cologne", + "aroma", + "fragrance", + "smell", + "scent", + "bouquet", + "gift", + "duty free", + "spray", + "puff", + "atomizer", + "mist", + "beauty", + "skincare", + "cosmetics" + ], + "categories": [ + "shopping", + "travel" + ] +} diff --git a/icons/perfume-bottle.svg b/icons/perfume-bottle.svg new file mode 100644 index 000000000..58dfab329 --- /dev/null +++ b/icons/perfume-bottle.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/icons/phone-log.json b/icons/phone-log.json new file mode 100644 index 000000000..c6f4f9204 --- /dev/null +++ b/icons/phone-log.json @@ -0,0 +1,29 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "ericfennis", + "karsa-mistmere", + "jamiemlaw", + "Levi-Bensley" + ], + "tags": [ + "telephone", + "communication", + "mobile", + "device", + "contact", + "history", + "data", + "information", + "call" + ], + "categories": [ + "communication" + ], + "use-cases": [ + "Reviewing recent incoming and outgoing calls", + "Displaying call history in communication apps" + ] +} diff --git a/icons/phone-log.svg b/icons/phone-log.svg new file mode 100644 index 000000000..2e59e4872 --- /dev/null +++ b/icons/phone-log.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/refrigerator.json b/icons/refrigerator.json index 0d20079bf..faa9180a8 100644 --- a/icons/refrigerator.json +++ b/icons/refrigerator.json @@ -5,7 +5,6 @@ ], "use-cases": [], "tags": [ - "frigerator", "fridge", "freezer", "cooler", diff --git a/icons/robot-vacuum.json b/icons/robot-vacuum.json index 41c1b55d5..f119a6163 100644 --- a/icons/robot-vacuum.json +++ b/icons/robot-vacuum.json @@ -18,7 +18,6 @@ "housekeeping", "tool", "maintenance", - "smarthome", "sweeping", "hygiene", "chores", diff --git a/icons/scan-qr-code.json b/icons/scan-qr-code.json index 37556bf2e..da31d6a85 100644 --- a/icons/scan-qr-code.json +++ b/icons/scan-qr-code.json @@ -8,7 +8,7 @@ "tags": [ "barcode", "scan", - "qrcode", + "qr code", "url", "information", "digital", diff --git a/icons/screw.json b/icons/screw.json new file mode 100644 index 000000000..ce1b6d517 --- /dev/null +++ b/icons/screw.json @@ -0,0 +1,26 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497", + "edik17", + "karsa-mistmere" + ], + "use-cases": [ + "Representing DIY and home improvement sections", + "Accessing assembly instructions on furniture product pages", + "Adding threaded fasteners to assemblies in CAD software" + ], + "tags": [ + "fastener", + "hardware", + "bolt", + "screwdriver", + "repair", + "assembly", + "diy", + "flathead" + ], + "categories": [ + "tools" + ] +} diff --git a/icons/screw.svg b/icons/screw.svg new file mode 100644 index 000000000..0eda80813 --- /dev/null +++ b/icons/screw.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/icons/server-nas.json b/icons/server-nas.json new file mode 100644 index 000000000..5be3a0092 --- /dev/null +++ b/icons/server-nas.json @@ -0,0 +1,29 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "benhaube" + ], + "use-cases": [ + "Representing network-attached storage devices in network diagrams", + "Displaying the status of network-attached storage devices", + "Selecting network-attached storage as a backup destination", + "Accessing a network-attached storage administration dashboard" + ], + "tags": [ + "storage", + "network", + "server", + "backup", + "raid", + "files", + "sharing", + "disk", + "hardware", + "lan", + "cloud" + ], + "categories": [ + "devices", + "development" + ] +} diff --git a/icons/server-nas.svg b/icons/server-nas.svg new file mode 100644 index 000000000..80bd13fcd --- /dev/null +++ b/icons/server-nas.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/icons/shell.json b/icons/shell.json index 40b9ad130..470c3e135 100644 --- a/icons/shell.json +++ b/icons/shell.json @@ -8,7 +8,7 @@ "beach", "sand", "holiday", - "sealife", + "sea life", "fossil", "ammonite", "biology", diff --git a/icons/shield-cog-corner.json b/icons/shield-cog-corner.json index b6a93f5e7..c3ccdb938 100644 --- a/icons/shield-cog-corner.json +++ b/icons/shield-cog-corner.json @@ -37,7 +37,7 @@ "admin", "verification", "crest", - "shieldcog", + "shield cog", "bravery", "knight", "foot soldier", diff --git a/icons/shield-house.json b/icons/shield-house.json new file mode 100644 index 000000000..a14c7f8df --- /dev/null +++ b/icons/shield-house.json @@ -0,0 +1,55 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "benhaube" + ], + "use-cases": [ + "Indicating a segregated IoT network in router firmware", + "Indicating an alarm armed in home mode", + "Indicating firewall protection for a home network", + "Showing home insurance coverage for a property", + "Representing secure smart-device groups in smart-home hubs", + "Showing monitored alarm enrollment on a dashboard" + ], + "tags": [ + "cybersecurity", + "secure", + "safety", + "protection", + "guardian", + "armored", + "armoured", + "defense", + "defence", + "defender", + "block", + "threat", + "prevention", + "antivirus", + "vigilance", + "vigilant", + "detection", + "scan", + "strength", + "strong", + "tough", + "invincible", + "invincibility", + "invulnerable", + "undamaged", + "audit", + "admin", + "property", + "household", + "connectivity", + "building", + "residence" + ], + "categories": [ + "account", + "security", + "development", + "home", + "connectivity" + ] +} diff --git a/icons/shield-house.svg b/icons/shield-house.svg new file mode 100644 index 000000000..de951b086 --- /dev/null +++ b/icons/shield-house.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/sixteenth-notes.json b/icons/sixteenth-notes.json new file mode 100644 index 000000000..5617df5af --- /dev/null +++ b/icons/sixteenth-notes.json @@ -0,0 +1,30 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "it-is-not", + "karsa-mistmere", + "jamiemlaw" + ], + "use-cases": [ + "Representing music or an audio track", + "Representing paired sixteenth notes in music notation" + ], + "tags": [ + "audio", + "music", + "sound", + "notes", + "semiquavers" + ], + "categories": [ + "multimedia", + "files" + ], + "aliases": [ + { + "name": "music-4", + "deprecationReason": "alias.name", + "deprecated": true + } + ] +} diff --git a/icons/sixteenth-notes.svg b/icons/sixteenth-notes.svg new file mode 100644 index 000000000..2f4ce1a6a --- /dev/null +++ b/icons/sixteenth-notes.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/smartphone-user-round.json b/icons/smartphone-user-round.json new file mode 100644 index 000000000..70baed914 --- /dev/null +++ b/icons/smartphone-user-round.json @@ -0,0 +1,40 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "hitanshu-machhi", + "colebemis", + "csandman", + "ericfennis", + "karsa-mistmere", + "jguddas", + "mittalyashu" + ], + "use-cases": [ + "Representing a user profile in a mobile application", + "Indicating a mobile account or device owner", + "Showing mobile contact or identity settings", + "Displaying a user avatar in a mobile dashboard", + "Linking to a contact's profile from a mobile list", + "Indicating mobile sign-in or authentication screens", + "Marking a device as assigned to a user in device management apps" + ], + "tags": [ + "phone", + "cellphone", + "device", + "mobile", + "person", + "profile", + "account", + "avatar", + "contact", + "identity", + "owner", + "authentication" + ], + "categories": [ + "account", + "devices", + "people" + ] +} diff --git a/lab/avocado.svg b/icons/smartphone-user-round.svg similarity index 55% rename from lab/avocado.svg rename to icons/smartphone-user-round.svg index 02041d71a..9b22c67f8 100644 --- a/lab/avocado.svg +++ b/icons/smartphone-user-round.svg @@ -9,6 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + + + diff --git a/icons/spotlight.json b/icons/spotlight.json index a49522880..df8141126 100644 --- a/icons/spotlight.json +++ b/icons/spotlight.json @@ -27,7 +27,7 @@ "performance", "lens", "leaderboard", - "followspot", + "follow spot", "best", "highlight" ], diff --git a/icons/tombstone.json b/icons/tombstone.json new file mode 100644 index 000000000..ca74c9f88 --- /dev/null +++ b/icons/tombstone.json @@ -0,0 +1,41 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "jguddas", + "ryck" + ], + "use-cases": [ + "Marking death or game-over states in games, often paired with skull or ghost icons", + "Indicating cemetery or graveyard locations on maps", + "Marking deceased individuals in genealogy or family-tree applications", + "Flagging obsolete, deprecated, or retired items such as endpoints or pages" + ], + "tags": [ + "grave", + "gravestone", + "headstone", + "cemetery", + "graveyard", + "death", + "memorial", + "funeral", + "halloween", + "rip", + "obituary", + "deceased", + "epitaph", + "mourning", + "bereavement", + "condolence", + "deprecated", + "retired", + "archived", + "decommissioned" + ], + "categories": [ + "gaming", + "navigation", + "people", + "development" + ] +} diff --git a/icons/tombstone.svg b/icons/tombstone.svg new file mode 100644 index 000000000..2d8a67e70 --- /dev/null +++ b/icons/tombstone.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/toothbrush-sparkles.json b/icons/toothbrush-sparkles.json index 51d9d78d3..196b271b6 100644 --- a/icons/toothbrush-sparkles.json +++ b/icons/toothbrush-sparkles.json @@ -24,7 +24,7 @@ "handle", "plaque", "toothpaste", - "selfcare", + "self care", "grooming", "fresh", "clean" diff --git a/icons/toothbrush.json b/icons/toothbrush.json index 7bce524b5..21c917e63 100644 --- a/icons/toothbrush.json +++ b/icons/toothbrush.json @@ -24,7 +24,7 @@ "handle", "plaque", "toothpaste", - "selfcare", + "self care", "grooming" ], "categories": [ diff --git a/icons/tv-minimal-play.json b/icons/tv-minimal-play.json index ba6cf16c0..2b3237a01 100644 --- a/icons/tv-minimal-play.json +++ b/icons/tv-minimal-play.json @@ -7,7 +7,7 @@ ], "use-cases": [], "tags": [ - "flatscreen", + "flat screen", "television", "stream", "display", diff --git a/icons/tv-minimal.json b/icons/tv-minimal.json index 91541b8ec..474e23a95 100644 --- a/icons/tv-minimal.json +++ b/icons/tv-minimal.json @@ -5,7 +5,7 @@ ], "use-cases": [], "tags": [ - "flatscreen", + "flat screen", "television", "stream", "display", diff --git a/icons/user-round-star.json b/icons/user-round-star.json new file mode 100644 index 000000000..0aec86a46 --- /dev/null +++ b/icons/user-round-star.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "ericfennis", + "karsa-mistmere" + ], + "use-cases": [ + "Indicating an admin or super user", + "Marking a favourite person", + "Highlighting the best user in a category" + ], + "tags": [ + "person", + "account", + "favorite", + "contact", + "like", + "review", + "rating", + "admin", + "avatar", + "profile", + "featured", + "moderator", + "verified", + "badge", + "award", + "champion", + "starred" + ], + "categories": [ + "account" + ] +} diff --git a/icons/user-round-star.svg b/icons/user-round-star.svg new file mode 100644 index 000000000..334591da0 --- /dev/null +++ b/icons/user-round-star.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/users-collaboration.json b/icons/users-collaboration.json new file mode 100644 index 000000000..7ed18d7db --- /dev/null +++ b/icons/users-collaboration.json @@ -0,0 +1,35 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497", + "karsa-mistmere" + ], + "use-cases": [ + "Representing collaborative workspaces in multi-user apps", + "Sharing ownership of documents or content", + "Indicating peer-to-peer system architecture", + "Scheduling team meetings and gatherings" + ], + "tags": [ + "group", + "people", + "collaboration", + "users", + "team", + "communication", + "cooperative", + "workspace", + "peer-to-peer", + "p2p", + "shared", + "delegation", + "handoff", + "coauthor", + "profiles" + ], + "categories": [ + "account", + "people", + "communication" + ] +} diff --git a/icons/users-collaboration.svg b/icons/users-collaboration.svg new file mode 100644 index 000000000..5a1f38940 --- /dev/null +++ b/icons/users-collaboration.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/icons/users-round-collaboration.json b/icons/users-round-collaboration.json new file mode 100644 index 000000000..7ed18d7db --- /dev/null +++ b/icons/users-round-collaboration.json @@ -0,0 +1,35 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "rrod497", + "karsa-mistmere" + ], + "use-cases": [ + "Representing collaborative workspaces in multi-user apps", + "Sharing ownership of documents or content", + "Indicating peer-to-peer system architecture", + "Scheduling team meetings and gatherings" + ], + "tags": [ + "group", + "people", + "collaboration", + "users", + "team", + "communication", + "cooperative", + "workspace", + "peer-to-peer", + "p2p", + "shared", + "delegation", + "handoff", + "coauthor", + "profiles" + ], + "categories": [ + "account", + "people", + "communication" + ] +} diff --git a/icons/users-round-collaboration.svg b/icons/users-round-collaboration.svg new file mode 100644 index 000000000..4dddfe5e0 --- /dev/null +++ b/icons/users-round-collaboration.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/icons/wifi-lock.json b/icons/wifi-lock.json new file mode 100644 index 000000000..aa0bd4ca6 --- /dev/null +++ b/icons/wifi-lock.json @@ -0,0 +1,43 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "benhaube", + "colebemis", + "csandman", + "ericfennis", + "jguddas" + ], + "use-cases": [ + "Representing a secured Wi-Fi network", + "Indicating an SSID requires a password to authenticate", + "Showing a locked wifi network in a list of available networks", + "Indicating a password-protected guest network", + "Denoting an encrypted hotspot or mobile tethering connection", + "Labelling wireless security settings in router or network apps" + ], + "tags": [ + "admin", + "connection", + "secure", + "security", + "signal", + "network", + "password", + "wireless", + "hotspot", + "encrypted", + "locked", + "private", + "ssid", + "guest", + "router", + "access", + "authentication", + "protected" + ], + "categories": [ + "connectivity", + "devices", + "security" + ] +} diff --git a/icons/wifi-lock.svg b/icons/wifi-lock.svg new file mode 100644 index 000000000..3852872f8 --- /dev/null +++ b/icons/wifi-lock.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/integrations/lucide-react/nextjs/package.json b/integrations/lucide-react/nextjs/package.json index 232edb67a..46458e148 100644 --- a/integrations/lucide-react/nextjs/package.json +++ b/integrations/lucide-react/nextjs/package.json @@ -11,14 +11,14 @@ }, "dependencies": { "lucide-react": "workspace:*", - "next": "16.3.6", - "react": "19.3.0", - "react-dom": "19.3.0" + "next": "16.3.8", + "react": "19.3.1", + "react-dom": "19.3.1" }, "devDependencies": { "@types/react": "19.3.0", "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/browser-playwright": "5.0.3", "typescript": "^6.0.3", "vite": "^8.3.2", diff --git a/integrations/lucide-react/react-router/package.json b/integrations/lucide-react/react-router/package.json index d103af2d4..c5901621d 100644 --- a/integrations/lucide-react/react-router/package.json +++ b/integrations/lucide-react/react-router/package.json @@ -14,8 +14,8 @@ "@react-router/serve": "8.3.1", "isbot": "5.2.2", "lucide-react": "workspace:*", - "react": "19.3.0", - "react-dom": "19.3.0", + "react": "19.3.1", + "react-dom": "19.3.1", "react-router": "8.3.1" }, "devDependencies": { @@ -23,7 +23,7 @@ "@types/node": "^26.1.1", "@types/react": "19.3.0", "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/browser-playwright": "5.0.3", "typescript": "^6.0.3", "vite": "^8.3.2", diff --git a/integrations/lucide-react/tanstack-router/package.json b/integrations/lucide-react/tanstack-router/package.json index faa9eb4da..556314597 100644 --- a/integrations/lucide-react/tanstack-router/package.json +++ b/integrations/lucide-react/tanstack-router/package.json @@ -12,14 +12,14 @@ "dependencies": { "@tanstack/react-router": "1.170.32", "lucide-react": "workspace:*", - "react": "19.3.0", - "react-dom": "19.3.0" + "react": "19.3.1", + "react-dom": "19.3.1" }, "devDependencies": { "@tanstack/router-plugin": "1.168.35", "@types/react": "19.3.0", "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/browser-playwright": "5.0.3", "typescript": "^6.0.3", "vite": "^8.3.2", diff --git a/integrations/lucide-react/tanstack-start/package.json b/integrations/lucide-react/tanstack-start/package.json index c93322c25..43629e60d 100644 --- a/integrations/lucide-react/tanstack-start/package.json +++ b/integrations/lucide-react/tanstack-start/package.json @@ -13,14 +13,14 @@ "@tanstack/react-router": "1.170.41", "@tanstack/react-start": "1.168.60", "lucide-react": "workspace:*", - "react": "19.3.0", - "react-dom": "19.3.0" + "react": "19.3.1", + "react-dom": "19.3.1" }, "devDependencies": { "@types/node": "^26.1.1", "@types/react": "19.3.0", "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/browser-playwright": "5.0.3", "typescript": "^6.0.3", "vite": "^8.3.2", diff --git a/integrations/lucide-react/vite/package.json b/integrations/lucide-react/vite/package.json index 726b9947b..b565f1b48 100644 --- a/integrations/lucide-react/vite/package.json +++ b/integrations/lucide-react/vite/package.json @@ -11,13 +11,13 @@ }, "dependencies": { "lucide-react": "workspace:*", - "react": "19.3.0", - "react-dom": "19.3.0" + "react": "19.3.1", + "react-dom": "19.3.1" }, "devDependencies": { "@types/react": "19.3.0", "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/browser-playwright": "5.0.3", "playwright": "1.58.2", "typescript": "^6.0.3", diff --git a/integrations/lucide-svelte/README.md b/integrations/lucide-svelte/README.md new file mode 100644 index 000000000..6ed89a60d --- /dev/null +++ b/integrations/lucide-svelte/README.md @@ -0,0 +1,18 @@ +# Lucide Svelte integrations + +These fixtures exercise the built `@lucide/svelte` package in real consumer frameworks. + +Every fixture runs three checks: + +- a framework production build; +- TypeScript with `svelte-check` (`noEmit`); +- Vitest Browser Mode in Chromium. + +From the repository root, install Chromium once and run the complete suite: + +```sh +pnpm --filter @lucide/integration-svelte-vite exec playwright install chromium +pnpm test:integrations:svelte +``` + +The fixtures depend on `@lucide/svelte` through `workspace:*`, but import only its public package entry point. The root command builds `@lucide/svelte` before running any consumer checks. diff --git a/integrations/lucide-svelte/sveltekit/package.json b/integrations/lucide-svelte/sveltekit/package.json new file mode 100644 index 000000000..7c73108be --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/package.json @@ -0,0 +1,32 @@ +{ + "name": "@lucide/integration-svelte-sveltekit", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "build": "vite build", + "typecheck": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "test:browser": "vitest run", + "check": "pnpm build && pnpm typecheck && pnpm test:browser" + }, + "imports": { + "#lib": "./src/lib/index.js", + "#lib/*": "./src/lib/*" + }, + "dependencies": { + "@lucide/svelte": "workspace:*", + "svelte": "5.57.2" + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^8.0.0", + "@sveltejs/kit": "^3.1.0", + "@sveltejs/vite-plugin-svelte": "^7.3.1", + "@vitest/browser-playwright": "5.0.3", + "playwright": "1.58.2", + "svelte-check": "^4.7.6", + "typescript": "^6.0.3", + "vite": "^8.3.2", + "vitest": "5.0.3", + "vitest-browser-svelte": "3.1.0" + } +} diff --git a/integrations/lucide-svelte/sveltekit/src/app.d.ts b/integrations/lucide-svelte/sveltekit/src/app.d.ts new file mode 100644 index 000000000..520c4217a --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/integrations/lucide-svelte/sveltekit/src/app.html b/integrations/lucide-svelte/sveltekit/src/app.html new file mode 100644 index 000000000..d76b15738 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/app.html @@ -0,0 +1,18 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/integrations/lucide-svelte/sveltekit/src/lib/IconShowcase.svelte b/integrations/lucide-svelte/sveltekit/src/lib/IconShowcase.svelte new file mode 100644 index 000000000..1fdb8afbb --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/lib/IconShowcase.svelte @@ -0,0 +1,21 @@ + + +
+ + + + + + + +
diff --git a/integrations/lucide-svelte/sveltekit/src/lib/LucideProvider.svelte b/integrations/lucide-svelte/sveltekit/src/lib/LucideProvider.svelte new file mode 100644 index 000000000..9de986919 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/lib/LucideProvider.svelte @@ -0,0 +1,10 @@ + + +{@render children()} diff --git a/integrations/lucide-svelte/sveltekit/src/lib/index.ts b/integrations/lucide-svelte/sveltekit/src/lib/index.ts new file mode 100644 index 000000000..73c55efb4 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `#lib` alias in this folder. diff --git a/integrations/lucide-svelte/sveltekit/src/routes/+layout.svelte b/integrations/lucide-svelte/sveltekit/src/routes/+layout.svelte new file mode 100644 index 000000000..1169b58c0 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/routes/+layout.svelte @@ -0,0 +1,7 @@ + + +{@render children()} diff --git a/integrations/lucide-svelte/sveltekit/src/routes/+page.svelte b/integrations/lucide-svelte/sveltekit/src/routes/+page.svelte new file mode 100644 index 000000000..521ac5564 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/src/routes/+page.svelte @@ -0,0 +1,5 @@ + + + diff --git a/integrations/lucide-svelte/sveltekit/tests/icons.browser.spec.ts b/integrations/lucide-svelte/sveltekit/tests/icons.browser.spec.ts new file mode 100644 index 000000000..666c296c9 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/tests/icons.browser.spec.ts @@ -0,0 +1,33 @@ +import { expect, test } from 'vitest'; +import { render } from 'vitest-browser-svelte'; +import Page from '../src/routes/+page.svelte'; + +test('renders Lucide public APIs in a real browser', async () => { + const screen = await render(Page); + + const staticIcon = screen.getByTestId('static-icon'); + await expect.element(staticIcon).toBeVisible(); + await expect.element(staticIcon).toHaveAttribute('width', '24'); + await expect.element(staticIcon).toHaveAttribute('height', '24'); + await expect.element(staticIcon).toHaveAttribute('viewBox', '0 0 24 24'); + await expect.element(staticIcon).toHaveAttribute('aria-hidden', 'true'); + + const customIcon = screen.getByTestId('custom-icon'); + await expect.element(customIcon).toBeVisible(); + await expect.element(customIcon).toHaveAttribute('width', '48'); + await expect.element(customIcon).toHaveAttribute('height', '48'); + await expect.element(customIcon).toHaveAttribute('stroke', 'red'); + await expect.element(customIcon).toHaveAttribute('stroke-width', '2'); + await expect.element(customIcon).toHaveClass('consumer-icon'); + + const providerIcon = screen.getByTestId('provider-icon'); + await expect.element(providerIcon).toHaveAttribute('width', '32'); + await expect.element(providerIcon).toHaveAttribute('stroke', 'purple'); + await expect.element(providerIcon).toHaveAttribute('stroke-width', '3'); + + const aliasIcon = screen.getByTestId('alias-icon'); + const canonicalIcon = screen.getByTestId('canonical-icon'); + await expect.element(aliasIcon).toBeVisible(); + await expect.element(canonicalIcon).toBeVisible(); + expect(aliasIcon.element().innerHTML).toBe(canonicalIcon.element().innerHTML); +}); diff --git a/integrations/lucide-svelte/sveltekit/tsconfig.json b/integrations/lucide-svelte/sveltekit/tsconfig.json new file mode 100644 index 000000000..f06a5ef0d --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "$app/tsconfig", + "compilerOptions": { + "strict": true + }, + "include": ["src", "tests", "vite.config.ts", "vitest.config.ts"] +} diff --git a/integrations/lucide-svelte/sveltekit/vite.config.ts b/integrations/lucide-svelte/sveltekit/vite.config.ts new file mode 100644 index 000000000..8ff91b0ba --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/vite.config.ts @@ -0,0 +1,20 @@ +import adapter from '@sveltejs/adapter-auto'; +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [ + sveltekit({ + compilerOptions: { + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => + filename.split(/[/\\]/).includes('node_modules') ? undefined : true, + }, + + // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. + // See https://svelte.dev/docs/kit/adapters for more information about adapters. + adapter: adapter(), + }), + ], +}); diff --git a/integrations/lucide-svelte/sveltekit/vitest.config.ts b/integrations/lucide-svelte/sveltekit/vitest.config.ts new file mode 100644 index 000000000..924942411 --- /dev/null +++ b/integrations/lucide-svelte/sveltekit/vitest.config.ts @@ -0,0 +1,18 @@ +import { playwright } from '@vitest/browser-playwright'; +import { defineConfig, mergeConfig } from 'vitest/config'; +import viteConfig from './vite.config.ts'; + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + include: ['tests/**/*.spec.ts'], + browser: { + enabled: true, + headless: true, + provider: playwright(), + instances: [{ browser: 'chromium' }], + }, + }, + }), +); diff --git a/integrations/lucide-svelte/vite/index.html b/integrations/lucide-svelte/vite/index.html new file mode 100644 index 000000000..0d72c9e9b --- /dev/null +++ b/integrations/lucide-svelte/vite/index.html @@ -0,0 +1,18 @@ + + + + + + Lucide Svelte integration + + +
+ + + diff --git a/integrations/lucide-svelte/vite/package.json b/integrations/lucide-svelte/vite/package.json new file mode 100644 index 000000000..a3ef69684 --- /dev/null +++ b/integrations/lucide-svelte/vite/package.json @@ -0,0 +1,28 @@ +{ + "name": "@lucide/integration-svelte-vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "build": "vite build", + "typecheck": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json", + "test:browser": "vitest run", + "check": "pnpm build && pnpm typecheck && pnpm test:browser" + }, + "dependencies": { + "@lucide/svelte": "workspace:*", + "svelte": "5.57.2" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^7.3.1", + "@tsconfig/svelte": "^5.0.8", + "@types/node": "^26.1.1", + "@vitest/browser-playwright": "5.0.3", + "playwright": "1.58.2", + "svelte-check": "^4.7.6", + "typescript": "^6.0.3", + "vite": "^8.3.2", + "vitest": "5.0.3", + "vitest-browser-svelte": "3.1.0" + } +} diff --git a/integrations/lucide-svelte/vite/src/App.svelte b/integrations/lucide-svelte/vite/src/App.svelte new file mode 100644 index 000000000..2fb900185 --- /dev/null +++ b/integrations/lucide-svelte/vite/src/App.svelte @@ -0,0 +1,5 @@ + + + diff --git a/integrations/lucide-svelte/vite/src/lib/IconShowcase.svelte b/integrations/lucide-svelte/vite/src/lib/IconShowcase.svelte new file mode 100644 index 000000000..1fdb8afbb --- /dev/null +++ b/integrations/lucide-svelte/vite/src/lib/IconShowcase.svelte @@ -0,0 +1,21 @@ + + +
+ + + + + + + +
diff --git a/integrations/lucide-svelte/vite/src/lib/LucideProvider.svelte b/integrations/lucide-svelte/vite/src/lib/LucideProvider.svelte new file mode 100644 index 000000000..9de986919 --- /dev/null +++ b/integrations/lucide-svelte/vite/src/lib/LucideProvider.svelte @@ -0,0 +1,10 @@ + + +{@render children()} diff --git a/integrations/lucide-svelte/vite/src/main.ts b/integrations/lucide-svelte/vite/src/main.ts new file mode 100644 index 000000000..9b5e268e9 --- /dev/null +++ b/integrations/lucide-svelte/vite/src/main.ts @@ -0,0 +1,8 @@ +import { mount } from 'svelte'; +import App from './App.svelte'; + +const app = mount(App, { + target: document.getElementById('app')!, +}); + +export default app; diff --git a/integrations/lucide-svelte/vite/svelte.config.js b/integrations/lucide-svelte/vite/svelte.config.js new file mode 100644 index 000000000..ed459535c --- /dev/null +++ b/integrations/lucide-svelte/vite/svelte.config.js @@ -0,0 +1,2 @@ +/** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */ +export default {}; diff --git a/integrations/lucide-svelte/vite/tests/icons.browser.spec.ts b/integrations/lucide-svelte/vite/tests/icons.browser.spec.ts new file mode 100644 index 000000000..422ec13ff --- /dev/null +++ b/integrations/lucide-svelte/vite/tests/icons.browser.spec.ts @@ -0,0 +1,33 @@ +import { expect, test } from 'vitest'; +import { render } from 'vitest-browser-svelte'; +import App from '../src/App.svelte'; + +test('renders Lucide public APIs in a real browser', async () => { + const screen = await render(App); + + const staticIcon = screen.getByTestId('static-icon'); + await expect.element(staticIcon).toBeVisible(); + await expect.element(staticIcon).toHaveAttribute('width', '24'); + await expect.element(staticIcon).toHaveAttribute('height', '24'); + await expect.element(staticIcon).toHaveAttribute('viewBox', '0 0 24 24'); + await expect.element(staticIcon).toHaveAttribute('aria-hidden', 'true'); + + const customIcon = screen.getByTestId('custom-icon'); + await expect.element(customIcon).toBeVisible(); + await expect.element(customIcon).toHaveAttribute('width', '48'); + await expect.element(customIcon).toHaveAttribute('height', '48'); + await expect.element(customIcon).toHaveAttribute('stroke', 'red'); + await expect.element(customIcon).toHaveAttribute('stroke-width', '2'); + await expect.element(customIcon).toHaveClass('consumer-icon'); + + const providerIcon = screen.getByTestId('provider-icon'); + await expect.element(providerIcon).toHaveAttribute('width', '32'); + await expect.element(providerIcon).toHaveAttribute('stroke', 'purple'); + await expect.element(providerIcon).toHaveAttribute('stroke-width', '3'); + + const aliasIcon = screen.getByTestId('alias-icon'); + const canonicalIcon = screen.getByTestId('canonical-icon'); + await expect.element(aliasIcon).toBeVisible(); + await expect.element(canonicalIcon).toBeVisible(); + expect(aliasIcon.element().innerHTML).toBe(canonicalIcon.element().innerHTML); +}); diff --git a/integrations/lucide-svelte/vite/tsconfig.app.json b/integrations/lucide-svelte/vite/tsconfig.app.json new file mode 100644 index 000000000..46bffd1ed --- /dev/null +++ b/integrations/lucide-svelte/vite/tsconfig.app.json @@ -0,0 +1,21 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "module": "esnext", + "types": ["svelte", "vite/client"], + "allowArbitraryExtensions": true, + "noEmit": true, + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "moduleDetection": "force" + }, + "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte", "tests/**/*.ts"] +} diff --git a/integrations/lucide-svelte/vite/tsconfig.json b/integrations/lucide-svelte/vite/tsconfig.json new file mode 100644 index 000000000..d32ff6820 --- /dev/null +++ b/integrations/lucide-svelte/vite/tsconfig.json @@ -0,0 +1,4 @@ +{ + "files": [], + "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }] +} diff --git a/integrations/lucide-svelte/vite/tsconfig.node.json b/integrations/lucide-svelte/vite/tsconfig.node.json new file mode 100644 index 000000000..d3daab6fe --- /dev/null +++ b/integrations/lucide-svelte/vite/tsconfig.node.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "module": "nodenext", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts", "vitest.config.ts"] +} diff --git a/integrations/lucide-svelte/vite/vite.config.ts b/integrations/lucide-svelte/vite/vite.config.ts new file mode 100644 index 000000000..b24a7e8c0 --- /dev/null +++ b/integrations/lucide-svelte/vite/vite.config.ts @@ -0,0 +1,7 @@ +import { svelte } from '@sveltejs/vite-plugin-svelte'; +import { defineConfig } from 'vite'; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [svelte()], +}); diff --git a/integrations/lucide-svelte/vite/vitest.config.ts b/integrations/lucide-svelte/vite/vitest.config.ts new file mode 100644 index 000000000..924942411 --- /dev/null +++ b/integrations/lucide-svelte/vite/vitest.config.ts @@ -0,0 +1,18 @@ +import { playwright } from '@vitest/browser-playwright'; +import { defineConfig, mergeConfig } from 'vitest/config'; +import viteConfig from './vite.config.ts'; + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + include: ['tests/**/*.spec.ts'], + browser: { + enabled: true, + headless: true, + provider: playwright(), + instances: [{ browser: 'chromium' }], + }, + }, + }), +); diff --git a/integrations/lucide-vue/nuxt/package.json b/integrations/lucide-vue/nuxt/package.json index a98ecb8cd..646b4add8 100644 --- a/integrations/lucide-vue/nuxt/package.json +++ b/integrations/lucide-vue/nuxt/package.json @@ -12,11 +12,11 @@ "dependencies": { "@lucide/vue": "workspace:*", "nuxt": "4.5.1", - "vue": "3.5.43", + "vue": "3.5.44", "vue-router": "5.3.1" }, "devDependencies": { - "@vitejs/plugin-vue": "^6.0.8", + "@vitejs/plugin-vue": "^6.0.10", "@vitest/browser-playwright": "5.0.3", "typescript": "^6.0.3", "vite": "^8.3.2", diff --git a/integrations/lucide-vue/vike/package.json b/integrations/lucide-vue/vike/package.json index 30ae4e7ed..d23bf1805 100644 --- a/integrations/lucide-vue/vike/package.json +++ b/integrations/lucide-vue/vike/package.json @@ -13,10 +13,10 @@ "@lucide/vue": "workspace:*", "vike": "0.4.266", "vike-vue": "0.9.13", - "vue": "3.5.43" + "vue": "3.5.44" }, "devDependencies": { - "@vitejs/plugin-vue": "^6.0.8", + "@vitejs/plugin-vue": "^6.0.10", "@vitest/browser-playwright": "5.0.3", "typescript": "^6.0.3", "vite": "^8.3.2", diff --git a/integrations/lucide-vue/vite/package.json b/integrations/lucide-vue/vite/package.json index e0af540ef..24708178a 100644 --- a/integrations/lucide-vue/vite/package.json +++ b/integrations/lucide-vue/vite/package.json @@ -11,12 +11,12 @@ }, "dependencies": { "@lucide/vue": "workspace:*", - "vue": "3.5.43" + "vue": "3.5.44" }, "devDependencies": { "@tsconfig/node24": "^24.0.5", "@types/node": "^26.1.1", - "@vitejs/plugin-vue": "^6.0.8", + "@vitejs/plugin-vue": "^6.0.10", "@vitest/browser-playwright": "5.0.3", "@vue/tsconfig": "^0.9.1", "playwright": "1.58.2", diff --git a/lab/avocado.json b/lab/avocado.json deleted file mode 100644 index 912d50f9d..000000000 --- a/lab/avocado.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "danielbayley" - ], - "tags": [ - "fruit", - "snack", - "meal", - "lunch", - "ingredient", - "cooking", - "cookery", - "kitchen", - "cuisine", - "eating", - "healthy", - "nutrition", - "diet", - "guacamole", - "mexican" - ], - "categories": [ - "food-beverage" - ] -} diff --git a/lab/bacon.json b/lab/bacon.json deleted file mode 100644 index d20ddfb8e..000000000 --- a/lab/bacon.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "danielbayley" - ], - "tags": [ - "rashers", - "smoked", - "streaky", - "crispy", - "meat", - "fast food", - "junk food", - "snack", - "dish", - "restaurant", - "brunch", - "lunch", - "meal", - "savory", - "savoury", - "cookery", - "cooking", - "grilled", - "barbecue", - "barbeque", - "bbq", - "pig" - ], - "categories": [ - "food-beverage" - ] -} diff --git a/lab/bottle-perfume.json b/lab/bottle-perfume.json deleted file mode 100644 index 55a4fd7ed..000000000 --- a/lab/bottle-perfume.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "danielbayley" - ], - "tags": [ - "parfum", - "aftershave", - "aroma", - "fragrance", - "smell", - "scent", - "special", - "present", - "gift", - "accessories", - "container", - "duty free" - ], - "categories": [ - "social", - "travel" - ] -} diff --git a/lab/bottle-perfume.svg b/lab/bottle-perfume.svg deleted file mode 100644 index 30a5572ae..000000000 --- a/lab/bottle-perfume.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/lint-staged.config.mjs b/lint-staged.config.mjs index d1afb395d..f3fc29277 100644 --- a/lint-staged.config.mjs +++ b/lint-staged.config.mjs @@ -1,9 +1,3 @@ -/** - * @param {string[]} filenames - * @returns {string} - */ -const filenamesToAjvOption = (filenames) => filenames.map((filename) => `-d ${filename}`).join(' '); - /** @satisfies {import('lint-staged').Config} */ const config = { 'icons/*.svg': (filenames) => [ @@ -12,11 +6,13 @@ const config = { `prettier --write ${filenames.join(' ')}`, ], 'icons/*.json': (filenames) => [ - `ajv --spec=draft2020 -s icon.schema.json ${filenamesToAjvOption(filenames)}`, + `eslint ${filenames.join(' ')}`, + `cspell --no-progress ${filenames.join(' ')}`, `prettier --write ${filenames.join(' ')}`, ], 'categories/*.json': (filenames) => [ - `ajv --spec=draft2020 -s category.schema.json ${filenamesToAjvOption(filenames)}`, + `eslint ${filenames.join(' ')}`, + `cspell --no-progress ${filenames.join(' ')}`, `prettier --write ${filenames.join(' ')}`, ], }; diff --git a/package.json b/package.json index 6ad1092a7..306a29258 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ "test:integrations:solid": "pnpm --filter lucide-solid build && pnpm -r --workspace-concurrency=1 --filter './integrations/lucide-solid/**' check", "test:integrations:solid-2": "pnpm --filter @lucide/solid build && pnpm -r --workspace-concurrency=1 --filter './integrations/lucide-solid-2/**' check", "test:integrations:vue": "pnpm --filter @lucide/vue build && pnpm -r --workspace-concurrency=1 --filter './integrations/lucide-vue/**' check", + "test:integrations:svelte": "pnpm --filter @lucide/svelte build && pnpm -r --workspace-concurrency=1 --filter './integrations/lucide-svelte/**' check", "test:font": "pnpm --filter build-font test", + "test:scripts": "node --test scripts/*.test.mts", "lucide": "pnpm --filter lucide", "lucide-angular": "pnpm --filter lucide-angular", "lucide-react": "pnpm --filter lucide-react", @@ -35,16 +37,19 @@ "suggest:metadata:debug": "node --env-file .env ./scripts/suggestMetaData.mts --debug", "suggest:metadata:watch": "node --env-file .env --watch ./scripts/suggestMetaData.mts", "postinstall": "husky", - "lint:es": "eslint .", + "lint:es": "eslint . --ignore-pattern 'icons/*.json' --ignore-pattern 'categories/*.json'", "lint:format": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --check", "lint:format-fix": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --write", "lint:icons": "prettier \"icons/*.svg\" --check", "lint:icons-fix": "prettier \"icons/*.svg\" --write", - "lint:json:icons": "ajv --spec=draft2020 -s icon.schema.json -d 'icons/*.json' > /dev/null", - "lint:json:categories": "ajv --spec=draft2020 -s category.schema.json -d 'categories/*.json' > /dev/null", - "lint:json": "pnpm run lint:json:icons && pnpm run lint:json:categories", + "lint:format:ci": "node ./scripts/lintFormat.mts", + "lint:json:icons": "eslint 'icons/*.json'", + "lint:json:categories": "eslint 'categories/*.json'", + "lint:json": "eslint 'icons/*.json' 'categories/*.json'", + "lint:spelling": "cspell --no-progress 'icons/*.json' 'categories/*.json'", + "lint:spelling:ci": "node ./scripts/lintSpelling.mts", "lint:icons:all": "pnpm run lint:icons && pnpm run lint:json:icons", - "lint": "pnpm lint:es && pnpm lint:format && pnpm lint:json && pnpm lint:icons", + "lint": "pnpm lint:es && pnpm lint:format && pnpm lint:json && pnpm lint:spelling && pnpm lint:icons", "format": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --write", "prepare": "husky", "gi": "node ./scripts/generate/generateIcons.mts", @@ -64,7 +69,7 @@ "@typescript-eslint/parser": "^8.69.0", "@vitest/coverage-v8": "5.0.3", "@vitest/ui": "5.0.3", - "ajv-cli": "^5.0.0", + "ajv": "^8.20.0", "cpy-cli": "^7.0.0", "cspell": "^10.2.0", "dotenv": "^17.4.2", @@ -73,6 +78,7 @@ "eslint-plugin-import-x": "^4.17.1", "husky": "^9.1.7", "jsdom": "^30.0.1", + "jsonc-eslint-parser": "^3.3.0", "lint-staged": "^17.4.1", "minimist": "^1.2.8", "openai": "^7.9.0", diff --git a/packages/angular/package.json b/packages/angular/package.json index 4eb9cd5e4..ff3197660 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -44,16 +44,16 @@ "devDependencies": { "@angular-eslint/builder": "~22.5.0", "@angular-eslint/schematics": "~22.5.0", - "@angular/build": "^22.2.1", - "@angular/cli": "^22.2.1", - "@angular/common": "^22.2.1", - "@angular/compiler": "^22.2.1", - "@angular/compiler-cli": "^22.2.1", - "@angular/core": "^22.2.1", - "@angular/forms": "^22.2.1", - "@angular/platform-browser": "^22.2.1", - "@angular/platform-server": "^22.2.1", - "@angular/router": "^22.2.1", + "@angular/build": "^22.2.2", + "@angular/cli": "^22.2.2", + "@angular/common": "^22.2.2", + "@angular/compiler": "^22.2.2", + "@angular/compiler-cli": "^22.2.2", + "@angular/core": "^22.2.2", + "@angular/forms": "^22.2.2", + "@angular/platform-browser": "^22.2.2", + "@angular/platform-server": "^22.2.2", + "@angular/router": "^22.2.2", "@lucide/build-icons": "workspace:*", "@lucide/helpers": "workspace:*", "@vitest/browser-playwright": "^5.0.3", diff --git a/packages/lucide-preact/package.json b/packages/lucide-preact/package.json index 571a15eb9..4a706b84f 100644 --- a/packages/lucide-preact/package.json +++ b/packages/lucide-preact/package.json @@ -55,7 +55,7 @@ "@testing-library/jest-dom": "^7.0.1", "@testing-library/preact": "^3.2.4", "jest-serializer-html": "^7.1.0", - "preact": "^11.0.0", + "preact": "^11.0.1", "rollup": "^4.63.1", "rollup-plugin-dts": "^6.5.1", "typescript": "^6.0.3", diff --git a/packages/lucide-react-native/package.json b/packages/lucide-react-native/package.json index e21b77fa0..7ccd78363 100644 --- a/packages/lucide-react-native/package.json +++ b/packages/lucide-react-native/package.json @@ -73,11 +73,11 @@ "@testing-library/react": "^16.3.3", "@types/prop-types": "^15.7.15", "@types/react": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "jest-serializer-html": "^7.1.0", - "react": "19.3.0", - "react-dom": "19.3.0", - "react-native": "^0.87.1", + "react": "19.3.1", + "react-dom": "19.3.1", + "react-native": "^0.88.0", "react-native-svg": "^15.15.5", "rollup": "^4.63.1", "rollup-plugin-dts": "^6.5.1", diff --git a/packages/lucide-react/package.json b/packages/lucide-react/package.json index 4a6f3ff3d..85e552a63 100644 --- a/packages/lucide-react/package.json +++ b/packages/lucide-react/package.json @@ -57,10 +57,10 @@ "@testing-library/react": "^16.3.3", "@types/node": "^25.9.1", "@types/react": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "jest-serializer-html": "^7.1.0", - "react": "19.3.0", - "react-dom": "19.3.0", + "react": "19.3.1", + "react-dom": "19.3.1", "rollup": "^4.63.1", "rollup-plugin-dts": "^6.5.1", "rollup-plugin-preserve-directives": "^0.4.0", diff --git a/packages/lucide-react/tests/DynamicIcon.spec.tsx b/packages/lucide-react/tests/DynamicIcon.spec.tsx index b3e1321f4..a99ea6c15 100644 --- a/packages/lucide-react/tests/DynamicIcon.spec.tsx +++ b/packages/lucide-react/tests/DynamicIcon.spec.tsx @@ -52,4 +52,33 @@ describe('Using DynamicIcon Component', () => { expect(container.firstChild).toMatchSnapshot(); }); + + it('should render fallback component while icon is loading', () => { + const FallbackComponent = () => Loading...; + const { getByTestId } = render( + , + ); + + expect(getByTestId('fallback')).not.toBeNull(); + }); + + it('should forward ref to the rendered svg element', async () => { + const ref = { current: null as SVGSVGElement | null }; + + await act(async () => { + render( + , + ); + }); + + await waitFor(() => { + expect(ref.current).toBeInstanceOf(SVGSVGElement); + }); + }); }); diff --git a/packages/lucide/tests/lucide.spec.ts b/packages/lucide/tests/lucide.spec.ts index e58dc9944..005e6ad96 100644 --- a/packages/lucide/tests/lucide.spec.ts +++ b/packages/lucide/tests/lucide.spec.ts @@ -126,4 +126,20 @@ describe('createIcons', () => { const hasIcon = !!document.querySelector('template')?.content.querySelector('svg'); expect(hasIcon).toBeTruthy(); }); + + it('should throw an error when icons object is empty', () => { + expect(() => createIcons({ icons: {} })).toThrowError(/Please provide an icons object/); + }); + + it('should replace icons within a DocumentFragment root', () => { + const fragment = document.createDocumentFragment(); + const iconEl = document.createElement('i'); + iconEl.setAttribute('data-lucide', 'volume-2'); + fragment.appendChild(iconEl); + + createIcons({ icons, root: fragment }); + + const hasSvg = !!fragment.querySelector('svg.lucide-volume-2'); + expect(hasSvg).toBeTruthy(); + }); }); diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 987de0e91..5342935b5 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -65,14 +65,14 @@ "devDependencies": { "@lucide/build-icons": "workspace:*", "@lucide/helpers": "workspace:*", - "@sveltejs/package": "^2.5.8", + "@sveltejs/package": "^3.0.1", "@sveltejs/vite-plugin-svelte": "^7.3.1", "@testing-library/jest-dom": "^7.0.1", "@testing-library/svelte": "^5.4.2", "@tsconfig/svelte": "^5.0.8", "jest-serializer-html": "^7.1.0", "jsdom": "^30.0.1", - "svelte": "^5.57.1", + "svelte": "^5.57.2", "svelte-check": "^4.7.6", "svelte-preprocess": "^6.0.5", "typescript": "^6.0.3", diff --git a/packages/vue/package.json b/packages/vue/package.json index d4d39cee2..14ef2b848 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -46,13 +46,13 @@ "@lucide/shared": "workspace:*", "@testing-library/jest-dom": "^7.0.1", "@testing-library/vue": "^8.1.0", - "@vitejs/plugin-vue": "^6.0.9", + "@vitejs/plugin-vue": "^6.0.10", "@vue/test-utils": "2.5.1", "rollup": "^4.63.1", "rollup-plugin-dts": "^6.5.1", "typescript": "^6.0.3", "vite": "^8.3.2", - "vue": "^3.5.43" + "vue": "^3.5.44" }, "peerDependencies": { "vue": ">=3.0.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02a9123ea..1625b22f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,9 +56,9 @@ importers: '@vitest/ui': specifier: 5.0.3 version: 5.0.3(vitest@5.0.3) - ajv-cli: - specifier: ^5.0.0 - version: 5.0.0(ts-node@10.9.2(@swc/core@1.7.23(@swc/helpers@0.5.23))(@types/node@26.4.1)(typescript@6.0.3)) + ajv: + specifier: ^8.20.0 + version: 8.20.0 cpy-cli: specifier: ^7.0.0 version: 7.0.0 @@ -83,6 +83,9 @@ importers: jsdom: specifier: ^30.0.1 version: 30.0.1 + jsonc-eslint-parser: + specifier: ^3.3.0 + version: 3.3.0 lint-staged: specifier: ^17.4.1 version: 17.4.1 @@ -131,24 +134,27 @@ importers: docs: dependencies: + '@docsearch/css': + specifier: 3.8.2 + version: 3.8.2 '@floating-ui/vue': specifier: ^2.0.1 - version: 2.0.1(vue@3.5.43(typescript@6.0.3)) + version: 2.0.1(vue@3.5.44(typescript@6.0.3)) '@headlessui/vue': specifier: ^1.7.23 - version: 1.7.23(vue@3.5.43(typescript@6.0.3)) + version: 1.7.23(vue@3.5.44(typescript@6.0.3)) '@lucide/vue': specifier: workspace:* version: link:../packages/vue '@vueuse/components': specifier: ^14.4.0 - version: 14.4.0(vue@3.5.43(typescript@6.0.3)) + version: 14.4.0(vue@3.5.44(typescript@6.0.3)) '@vueuse/core': specifier: ^14.4.0 - version: 14.4.0(vue@3.5.43(typescript@6.0.3)) + version: 14.4.0(vue@3.5.44(typescript@6.0.3)) '@vueuse/integrations': specifier: ^14.4.0 - version: 14.4.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.43(typescript@6.0.3)) + version: 14.4.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.44(typescript@6.0.3)) element-to-path: specifier: ^1.2.1 version: 1.2.1 @@ -169,20 +175,23 @@ importers: version: link:../packages/lucide-react motion-v: specifier: 2.4.0 - version: 2.4.0(@vueuse/core@14.4.0(vue@3.5.43(typescript@6.0.3)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vue@3.5.43(typescript@6.0.3)) + version: 2.4.0(@vueuse/core@14.4.0(vue@3.5.44(typescript@6.0.3)))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vue@3.5.44(typescript@6.0.3)) react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) sandpack-vue3: specifier: 3.1.12 - version: 3.1.12(vue@3.5.43(typescript@6.0.3)) + version: 3.1.12(vue@3.5.44(typescript@6.0.3)) vue: - specifier: ^3.5.43 - version: 3.5.43(typescript@6.0.3) + specifier: ^3.5.44 + version: 3.5.44(typescript@6.0.3) devDependencies: + '@docsearch/js': + specifier: 3.8.2 + version: 3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(search-insights@2.8.2) '@lucide/build-icons': specifier: workspace:* version: link:../tools/build-icons @@ -223,8 +232,8 @@ importers: specifier: ^7.7.3 version: 7.8.5 sharp: - specifier: ^0.35.4 - version: 0.35.4(@types/node@26.4.1) + specifier: ^0.35.5 + version: 0.35.5(@types/node@26.4.1) shiki: specifier: ^4.4.3 version: 4.4.3 @@ -248,7 +257,7 @@ importers: version: 6.0.3 vitepress: specifier: ^1.6.4 - version: 1.6.4(@algolia/client-search@5.57.0)(@types/node@26.4.1)(@types/react@19.3.0)(esbuild@0.28.2)(fuse.js@7.5.0)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(sass-embedded@1.105.1)(sass@1.105.1)(search-insights@2.8.2)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(typescript@6.0.3)(yaml@2.9.0) + version: 1.6.4(@algolia/client-search@5.57.0)(@types/node@26.4.1)(@types/react@19.3.0)(esbuild@0.28.2)(fuse.js@7.5.0)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(postcss@8.5.30)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(sass-embedded@1.105.1)(sass@1.105.1)(search-insights@2.8.2)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(typescript@6.0.3)(yaml@2.9.0) vitepress-plugin-group-icons: specifier: ^1.7.6 version: 1.7.6(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) @@ -265,14 +274,14 @@ importers: specifier: workspace:* version: link:../../../packages/lucide-react next: - specifier: 16.3.6 - version: 16.3.6(@babel/core@8.0.5)(@types/node@26.4.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(sass@1.105.1) + specifier: 16.3.8 + version: 16.3.8(@babel/core@8.0.5)(@types/node@26.4.1)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(sass@1.105.1) react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) devDependencies: '@types/react': specifier: 19.3.0 @@ -281,8 +290,8 @@ importers: specifier: 19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -297,16 +306,16 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-react: specifier: 2.3.0 - version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@5.0.3) integrations/lucide-react/react-router: dependencies: '@react-router/node': specifier: 8.3.1 - version: 8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3) + version: 8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3) '@react-router/serve': specifier: 8.3.1 - version: 8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3) + version: 8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3) isbot: specifier: 5.2.2 version: 5.2.2 @@ -314,18 +323,18 @@ importers: specifier: workspace:* version: link:../../../packages/lucide-react react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) react-router: specifier: 8.3.1 - version: 8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1) devDependencies: '@react-router/dev': specifier: 8.3.1 - version: 8.3.1(@react-router/serve@8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3))(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + version: 8.3.1(@react-router/serve@8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3))(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@types/node': specifier: ^26.1.1 version: 26.4.1 @@ -336,8 +345,8 @@ importers: specifier: 19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -352,26 +361,26 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-react: specifier: 2.3.0 - version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@5.0.3) integrations/lucide-react/tanstack-router: dependencies: '@tanstack/react-router': specifier: 1.170.32 - version: 1.170.32(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.170.32(react-dom@19.3.1(react@19.3.1))(react@19.3.1) lucide-react: specifier: workspace:* version: link:../../../packages/lucide-react react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) devDependencies: '@tanstack/router-plugin': specifier: 1.168.35 - version: 1.168.35(@tanstack/react-router@1.170.32(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + version: 1.168.35(@tanstack/react-router@1.170.32(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@types/react': specifier: 19.3.0 version: 19.3.0 @@ -379,8 +388,8 @@ importers: specifier: 19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -395,25 +404,25 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-react: specifier: 2.3.0 - version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@5.0.3) integrations/lucide-react/tanstack-start: dependencies: '@tanstack/react-router': specifier: 1.170.41 - version: 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/react-start': specifier: 1.168.60 - version: 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + version: 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) lucide-react: specifier: workspace:* version: link:../../../packages/lucide-react react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) devDependencies: '@types/node': specifier: ^26.1.1 @@ -425,8 +434,8 @@ importers: specifier: 19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -441,7 +450,7 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-react: specifier: 2.3.0 - version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@5.0.3) integrations/lucide-react/vite: dependencies: @@ -449,11 +458,11 @@ importers: specifier: workspace:* version: link:../../../packages/lucide-react react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) devDependencies: '@types/react': specifier: 19.3.0 @@ -462,8 +471,8 @@ importers: specifier: 19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -481,7 +490,7 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-react: specifier: 2.3.0 - version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + version: 2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@5.0.3) integrations/lucide-solid-2/vite: dependencies: @@ -597,6 +606,86 @@ importers: specifier: 1.0.1 version: 1.0.1(solid-js@1.9.15)(vitest@5.0.3) + integrations/lucide-svelte/sveltekit: + dependencies: + '@lucide/svelte': + specifier: workspace:* + version: link:../../../packages/svelte + svelte: + specifier: 5.57.2 + version: 5.57.2(@typescript-eslint/types@8.69.0) + devDependencies: + '@sveltejs/adapter-auto': + specifier: ^8.0.0 + version: 8.0.0(@sveltejs/kit@3.1.0(@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) + '@sveltejs/kit': + specifier: ^3.1.0 + version: 3.1.0(@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@sveltejs/vite-plugin-svelte': + specifier: ^7.3.1 + version: 7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@vitest/browser-playwright': + specifier: 5.0.3 + version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) + playwright: + specifier: 1.58.2 + version: 1.58.2 + svelte-check: + specifier: ^4.7.6 + version: 4.7.6(picomatch@4.0.7)(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3) + typescript: + specifier: ^6.0.3 + version: 6.0.3 + vite: + specifier: ^8.3.2 + version: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) + vitest: + specifier: 5.0.3 + version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + vitest-browser-svelte: + specifier: 3.1.0 + version: 3.1.0(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vitest@5.0.3) + + integrations/lucide-svelte/vite: + dependencies: + '@lucide/svelte': + specifier: workspace:* + version: link:../../../packages/svelte + svelte: + specifier: 5.57.2 + version: 5.57.2(@typescript-eslint/types@8.69.0) + devDependencies: + '@sveltejs/vite-plugin-svelte': + specifier: ^7.3.1 + version: 7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@tsconfig/svelte': + specifier: ^5.0.8 + version: 5.0.8 + '@types/node': + specifier: ^26.1.1 + version: 26.4.1 + '@vitest/browser-playwright': + specifier: 5.0.3 + version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) + playwright: + specifier: 1.58.2 + version: 1.58.2 + svelte-check: + specifier: ^4.7.6 + version: 4.7.6(picomatch@4.0.7)(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3) + typescript: + specifier: ^6.0.3 + version: 6.0.3 + vite: + specifier: ^8.3.2 + version: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) + vitest: + specifier: 5.0.3 + version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + vitest-browser-svelte: + specifier: 3.1.0 + version: 3.1.0(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vitest@5.0.3) + integrations/lucide-vue/nuxt: dependencies: '@lucide/vue': @@ -604,17 +693,17 @@ importers: version: link:../../../packages/vue nuxt: specifier: 4.5.1 - version: 4.5.1(b53531fa9d3cd6e74ecb137ed5477214) + version: 4.5.1(3f8bd1df2e23a886b4cf62a075f0d37e) vue: - specifier: 3.5.43 - version: 3.5.43(typescript@6.0.3) + specifier: 3.5.44 + version: 3.5.44(typescript@6.0.3) vue-router: specifier: 5.3.1 - version: 5.3.1(@vue/compiler-sfc@3.5.43)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + version: 5.3.1(@vue/compiler-sfc@3.5.44)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) devDependencies: '@vitejs/plugin-vue': - specifier: ^6.0.8 - version: 6.0.9(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + specifier: ^6.0.10 + version: 6.0.10(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -629,7 +718,7 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-vue: specifier: 3.1.0 - version: 3.1.0(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vitest@5.0.3)(vue@3.5.43(typescript@6.0.3)) + version: 3.1.0(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vitest@5.0.3)(vue@3.5.44(typescript@6.0.3)) vue-tsc: specifier: ^3.3.11 version: 3.3.11(typescript@6.0.3) @@ -644,14 +733,14 @@ importers: version: 0.4.266(h3@1.15.11)(hono@4.13.8)(srvx@0.12.8)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vike-vue: specifier: 0.9.13 - version: 0.9.13(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(vike@0.4.266(h3@1.15.11)(hono@4.13.8)(srvx@0.12.8)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vue@3.5.43(typescript@6.0.3)) + version: 0.9.13(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(vike@0.4.266(h3@1.15.11)(hono@4.13.8)(srvx@0.12.8)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vue@3.5.44(typescript@6.0.3)) vue: - specifier: 3.5.43 - version: 3.5.43(typescript@6.0.3) + specifier: 3.5.44 + version: 3.5.44(typescript@6.0.3) devDependencies: '@vitejs/plugin-vue': - specifier: ^6.0.8 - version: 6.0.9(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + specifier: ^6.0.10 + version: 6.0.10(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) @@ -666,7 +755,7 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-vue: specifier: 3.1.0 - version: 3.1.0(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vitest@5.0.3)(vue@3.5.43(typescript@6.0.3)) + version: 3.1.0(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vitest@5.0.3)(vue@3.5.44(typescript@6.0.3)) vue-tsc: specifier: ^3.3.11 version: 3.3.11(typescript@6.0.3) @@ -677,8 +766,8 @@ importers: specifier: workspace:* version: link:../../../packages/vue vue: - specifier: 3.5.43 - version: 3.5.43(typescript@6.0.3) + specifier: 3.5.44 + version: 3.5.44(typescript@6.0.3) devDependencies: '@tsconfig/node24': specifier: ^24.0.5 @@ -687,14 +776,14 @@ importers: specifier: ^26.1.1 version: 26.4.1 '@vitejs/plugin-vue': - specifier: ^6.0.8 - version: 6.0.9(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + specifier: ^6.0.10 + version: 6.0.10(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@vitest/browser-playwright': specifier: 5.0.3 version: 5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) '@vue/tsconfig': specifier: ^0.9.1 - version: 0.9.1(typescript@6.0.3)(vue@3.5.43(typescript@6.0.3)) + version: 0.9.1(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)) playwright: specifier: 1.58.2 version: 1.58.2 @@ -709,7 +798,7 @@ importers: version: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) vitest-browser-vue: specifier: 3.1.0 - version: 3.1.0(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vitest@5.0.3)(vue@3.5.43(typescript@6.0.3)) + version: 3.1.0(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vitest@5.0.3)(vue@3.5.44(typescript@6.0.3)) vue-tsc: specifier: ^3.3.11 version: 3.3.11(typescript@6.0.3) @@ -723,35 +812,35 @@ importers: specifier: ~22.5.0 version: 22.5.0(@angular-eslint/template-parser@22.5.0(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(typescript@6.0.3))(@typescript-eslint/types@8.69.0)(@typescript-eslint/utils@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(typescript@6.0.3) '@angular/build': - specifier: ^22.2.1 - version: 22.2.1(4fe699dac9f74a085943f7846f868ee2) + specifier: ^22.2.2 + version: 22.2.2(ed83dc4175aaa0420ee2da27c8c9f5a3) '@angular/cli': - specifier: ^22.2.1 - version: 22.2.1(@types/node@26.4.1)(chokidar@5.0.0) + specifier: ^22.2.2 + version: 22.2.2(@types/node@26.4.1)(chokidar@5.0.0) '@angular/common': - specifier: ^22.2.1 - version: 22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2) + specifier: ^22.2.2 + version: 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) '@angular/compiler': - specifier: ^22.2.1 - version: 22.2.1 + specifier: ^22.2.2 + version: 22.2.2 '@angular/compiler-cli': - specifier: ^22.2.1 - version: 22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3) + specifier: ^22.2.2 + version: 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) '@angular/core': - specifier: ^22.2.1 - version: 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) + specifier: ^22.2.2 + version: 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) '@angular/forms': - specifier: ^22.2.1 - version: 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ^22.2.2 + version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) '@angular/platform-browser': - specifier: ^22.2.1 - version: 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)) + specifier: ^22.2.2 + version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) '@angular/platform-server': - specifier: ^22.2.1 - version: 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.2.1)(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ^22.2.2 + version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) '@angular/router': - specifier: ^22.2.1 - version: 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ^22.2.2 + version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) '@lucide/build-icons': specifier: workspace:* version: link:../../tools/build-icons @@ -766,7 +855,7 @@ importers: version: 22.5.0(chokidar@5.0.0)(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript-eslint@8.69.0(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(typescript@6.0.3) ng-packagr: specifier: ^22.2.4 - version: 22.2.4(@angular/compiler-cli@22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3))(@volar/typescript@2.4.28(typescript@6.0.3))(@vue/language-core@3.3.11)(supports-color@10.2.2)(tslib@2.8.1)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3)) + version: 22.2.4(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@volar/typescript@2.4.28(typescript@6.0.3))(@vue/language-core@3.3.11)(supports-color@10.2.2)(tslib@2.8.1)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3)) rxjs: specifier: ~7.8.2 version: 7.8.2 @@ -938,19 +1027,19 @@ importers: version: link:../shared '@preact/preset-vite': specifier: ^2.10.6 - version: 2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@11.0.0)(rollup@4.63.1)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + version: 2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@11.0.1)(rollup@4.63.1)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@testing-library/jest-dom': specifier: ^7.0.1 version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3) '@testing-library/preact': specifier: ^3.2.4 - version: 3.2.4(preact@11.0.0) + version: 3.2.4(preact@11.0.1) jest-serializer-html: specifier: ^7.1.0 version: 7.1.0 preact: - specifier: ^11.0.0 - version: 11.0.0 + specifier: ^11.0.1 + version: 11.0.1 rollup: specifier: ^4.63.1 version: 4.63.1 @@ -980,7 +1069,7 @@ importers: version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3) '@testing-library/react': specifier: ^16.3.3 - version: 16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@types/node': specifier: ^25.9.1 version: 25.9.5 @@ -988,17 +1077,17 @@ importers: specifier: ^19.3.0 version: 19.3.0 '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@25.9.5)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@25.9.5)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) jest-serializer-html: specifier: ^7.1.0 version: 7.1.0 react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) rollup: specifier: ^4.63.1 version: 4.63.1 @@ -1034,7 +1123,7 @@ importers: version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3) '@testing-library/react': specifier: ^16.3.3 - version: 16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@types/prop-types': specifier: ^15.7.15 version: 15.7.15 @@ -1042,23 +1131,23 @@ importers: specifier: ^19.3.0 version: 19.3.0 '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + specifier: ^6.1.2 + version: 6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) jest-serializer-html: specifier: ^7.1.0 version: 7.1.0 react: - specifier: 19.3.0 - version: 19.3.0 + specifier: 19.3.1 + version: 19.3.1 react-dom: - specifier: 19.3.0 - version: 19.3.0(react@19.3.0) + specifier: 19.3.1 + version: 19.3.1(react@19.3.1) react-native: - specifier: ^0.87.1 - version: 0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2) + specifier: ^0.88.0 + version: 0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2) react-native-svg: specifier: ^15.15.5 - version: 15.15.5(react-native@0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0) + version: 15.15.5(react-native@0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1) rollup: specifier: ^4.63.1 version: 4.63.1 @@ -1190,19 +1279,19 @@ importers: version: 6.1.0(@babel/core@7.29.7(supports-color@10.2.2))(@types/babel__core@7.20.5)(rollup@4.63.1)(supports-color@10.2.2) '@solidjs/testing-library': specifier: next - version: 1.0.0-beta.3(@solidjs/web@2.0.0-rc.13(solid-js@2.0.0-rc.13))(solid-js@2.0.0-rc.13) + version: 1.0.0-beta.3(@solidjs/web@2.0.0-rc.15(solid-js@2.0.0-rc.15))(solid-js@2.0.0-rc.15) '@solidjs/vite-plugin': specifier: next - version: 3.0.0-next.35(@solidjs/web@2.0.0-rc.13(solid-js@2.0.0-rc.13))(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@2.0.0-rc.13)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + version: 3.0.0-next.35(@solidjs/web@2.0.0-rc.15(solid-js@2.0.0-rc.15))(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@2.0.0-rc.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@solidjs/web': specifier: next - version: 2.0.0-rc.13(solid-js@2.0.0-rc.13) + version: 2.0.0-rc.15(solid-js@2.0.0-rc.15) '@testing-library/jest-dom': specifier: ^7.0.1 version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3) babel-preset-solid: specifier: next - version: 2.0.0-rc.2(@babel/core@7.29.7(supports-color@10.2.2))(solid-js@2.0.0-rc.13) + version: 2.0.0-rc.2(@babel/core@7.29.7(supports-color@10.2.2))(solid-js@2.0.0-rc.15) esbuild: specifier: ^0.28.2 version: 0.28.2 @@ -1217,7 +1306,7 @@ importers: version: 6.5.1(rollup@4.63.1)(typescript@6.0.3) solid-js: specifier: next - version: 2.0.0-rc.13 + version: 2.0.0-rc.15 typescript: specifier: ^6.0.3 version: 6.0.3 @@ -1234,17 +1323,17 @@ importers: specifier: workspace:* version: link:../../tools/build-helpers '@sveltejs/package': - specifier: ^2.5.8 - version: 2.5.8(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3) + specifier: ^3.0.1 + version: 3.0.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3) '@sveltejs/vite-plugin-svelte': specifier: ^7.3.1 - version: 7.3.1(svelte@5.57.1(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + version: 7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@testing-library/jest-dom': specifier: ^7.0.1 version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3) '@testing-library/svelte': specifier: ^5.4.2 - version: 5.4.2(svelte@5.57.1(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) + version: 5.4.2(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3) '@tsconfig/svelte': specifier: ^5.0.8 version: 5.0.8 @@ -1255,14 +1344,14 @@ importers: specifier: ^30.0.1 version: 30.0.1 svelte: - specifier: ^5.57.1 - version: 5.57.1(@typescript-eslint/types@8.69.0) + specifier: ^5.57.2 + version: 5.57.2(@typescript-eslint/types@8.69.0) svelte-check: specifier: ^4.7.6 - version: 4.7.6(picomatch@4.0.7)(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3) + version: 4.7.6(picomatch@4.0.7)(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3) svelte-preprocess: specifier: ^6.0.5 - version: 6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(postcss@8.5.28)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3) + version: 6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(postcss@8.5.30)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -1286,13 +1375,13 @@ importers: version: 7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3) '@testing-library/vue': specifier: ^8.1.0 - version: 8.1.0(@vue/compiler-dom@3.5.43)(@vue/compiler-sfc@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3)) + version: 8.1.0(@vue/compiler-dom@3.5.44)(@vue/compiler-sfc@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3)) '@vitejs/plugin-vue': - specifier: ^6.0.9 - version: 6.0.9(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + specifier: ^6.0.10 + version: 6.0.10(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@vue/test-utils': specifier: 2.5.1 - version: 2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3)) + version: 2.5.1(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3)) rollup: specifier: ^4.63.1 version: 4.63.1 @@ -1306,8 +1395,8 @@ importers: specifier: ^8.3.2 version: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vue: - specifier: ^3.5.43 - version: 3.5.43(typescript@6.0.3) + specifier: ^3.5.44 + version: 3.5.44(typescript@6.0.3) tools/build-font: dependencies: @@ -1510,8 +1599,8 @@ packages: engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/architect@0.2202.1': - resolution: {integrity: sha512-WGRAxFj+R9LC8HuK3DnDgxHo/XrgfklNQeNgjq/phTEVq5ZdWxc8kDoPA4uQz4vF+HY2eycAAtOPfMvj2TBEiQ==} + '@angular-devkit/architect@0.2202.2': + resolution: {integrity: sha512-7ScBo47haHyRGG5M5ZEpbhwHgO2LEDbCLwNCjpjwhtRFDIEmAFbULM1OQjIybN3x+wOyY1kWRK7KvihCbs371g==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1524,8 +1613,8 @@ packages: chokidar: optional: true - '@angular-devkit/core@22.2.1': - resolution: {integrity: sha512-2oiuWVbUg7pE9kh2grp+MF2ynys+tMWZ/mmoYlqWrhMS2n5oV304ir0/IvvCCSGz9qsbL2A1vZhnlI2UbTSNiA==} + '@angular-devkit/core@22.2.2': + resolution: {integrity: sha512-iQexb5xUON9AkTzvBiMftrHWLguIlYv6M/BOH/sj7U5L8eOPMu8N269WF74xPo4n/X5tusFLqniGI0zolT2Sjg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -1537,8 +1626,8 @@ packages: resolution: {integrity: sha512-yhp/LRzKHJOzo2gFm9+H5DKnsT9adi+ItO2pW0pW2B455sqZYE8RJaSku+TSlv+PvWSmbtFsPXNgSRLA6pSk8Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/schematics@22.2.1': - resolution: {integrity: sha512-frHhFwu2TEfTZX5jfAYL2bztuG5mGggfJhiM9bo5/QtLAi49LtRbJxIktsu6vjJdujxeB2TKD7KqnXwNYgd41Q==} + '@angular-devkit/schematics@22.2.2': + resolution: {integrity: sha512-uCpFZbQgFUrOjKHLeYSCaYCJdufauYom8yFGggm67yetMAGKPbmRvUEko8i8auNFoBQ+1w1CivjSTwtmXQzZkA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@angular-eslint/builder@22.5.0': @@ -1582,8 +1671,8 @@ packages: eslint: ^9.0.0 || ^10.0.0 typescript: '*' - '@angular/build@22.2.1': - resolution: {integrity: sha512-VA8EkK5Y6sJbBFyn2x5jzd3KByh29DDpI7n6hucT0sK6YkMJEvsojPUWet9ifwF3OL+ZrGvxYlAHyZGKVlqw0g==} + '@angular/build@22.2.2': + resolution: {integrity: sha512-QHJWkZdEWTqqb3+HiSp8lnuS4iQJCa7yTK9gg5TaMIjCoZzP9mD9L417stiVDZGj2J3Y9mrml044nEVvSbW0ig==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -1593,7 +1682,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.2.1 + '@angular/ssr': ^22.2.2 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -1634,38 +1723,38 @@ packages: vitest: optional: true - '@angular/cli@22.2.1': - resolution: {integrity: sha512-tKMP68SZP+A9YCSRg0c+2e/+yWp7qiFrjCuQAomHK7owNaxHnLigAbra+8QA4xmWHoGaQk89NMmUPyA1BsBp8w==} + '@angular/cli@22.2.2': + resolution: {integrity: sha512-AALIN+zai0CiA7HgSCGVPHyZyiw3yFWliCfbaS4ueHDJHVZ8QhVjRUrnfGZc3EJnigcyQ0w2DKeTxjwqpDjKew==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/common@22.2.1': - resolution: {integrity: sha512-OqBH3EY4i8e3PvnYDugZGipSs1HWs2ZrqoClndKtFDS9mQULSSuLoxjG9nF1J/c+yUqhuyZlHjkXWS0n32pEfw==} + '@angular/common@22.2.2': + resolution: {integrity: sha512-d+mbF1UQLpsoJiC7h4pl58G7XeLHKU8DdLbq9u7TuOK0AnC1t2rrphi8M8WqUrZ+bfmFKCU4i1i4+vOF1N5GtA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/core': 22.2.1 + '@angular/core': 22.2.2 rxjs: ^6.5.3 || ^7.4.0 - '@angular/compiler-cli@22.2.1': - resolution: {integrity: sha512-Nh8sCBl0JF6x+H7/1hemY76JeTRC66EfMULT4B3ryF9srRSLYc6X6RfPRtYvrIyjgr6h3jZgrNHlV76wiJaOcA==} + '@angular/compiler-cli@22.2.2': + resolution: {integrity: sha512-7PCIBTVIzG4oyAkDeBRPJpGcgSDLBCKn+2Pp9+gXnXOEETdWhV34so1fpWZ2GWBZsxXav7Ry0K93vFwF93yWoQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} hasBin: true peerDependencies: - '@angular/compiler': 22.2.1 + '@angular/compiler': 22.2.2 typescript: '>=6.0 <6.1' peerDependenciesMeta: typescript: optional: true - '@angular/compiler@22.2.1': - resolution: {integrity: sha512-KRSz0c/T5eEiFa+F1l9OppAebJj9pT8kU3ArBMlxR3v/vzhpCfuQsFVQ4xEFC7dEm3zZIdv9ASKAP6ocNC4D/Q==} + '@angular/compiler@22.2.2': + resolution: {integrity: sha512-hg8Kvhq29w97vs3O5KsSeqA+oobrAKpr/GvsWBIqjRzfrxxeFdjRRoEv1/MVgMSJK36VLigNCjB1qPF3MB17uA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} - '@angular/core@22.2.1': - resolution: {integrity: sha512-a8WlYTRiaMPz1KvLE5xjeWrLyZUuQX8bh6Ak7zajUci9iWsTUQefschjSwP1WKlin3JhM3XjmsTEDyZvSLIfRg==} + '@angular/core@22.2.2': + resolution: {integrity: sha512-mFiSoAs7Gp/7VlbdSxDyV2I/FEyYeNZRaHH7QrMWSB9t+k7wm37uCaYOt9fy6fgXU/UbCgBESp09fV9bUTQcmA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/compiler': 22.2.1 + '@angular/compiler': 22.2.2 rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.15.0 || ~0.16.0 peerDependenciesMeta: @@ -1674,43 +1763,43 @@ packages: zone.js: optional: true - '@angular/forms@22.2.1': - resolution: {integrity: sha512-xHM+PhrvYDJ+edPxh6PWhkE99tXWbsMcxdXCWF6QcyByX+bsW2rVlNZ7dumOsUle9MYa8Yj0lZFACUWbwFw+4w==} + '@angular/forms@22.2.2': + resolution: {integrity: sha512-Fgh+EnDoULSFzuDy44da/5Chi+4Sd2Qc4SLjFj23bktvMJ1yfuBPWkvpR9xgWg9Auq+9x84wJVK6WyNwIjXYWA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.2.1 - '@angular/core': 22.2.1 - '@angular/platform-browser': 22.2.1 + '@angular/common': 22.2.2 + '@angular/core': 22.2.2 + '@angular/platform-browser': 22.2.2 rxjs: ^6.5.3 || ^7.4.0 - '@angular/platform-browser@22.2.1': - resolution: {integrity: sha512-KQ3oguemaSqyNP00yqEvPouY7NC4Lji+6S8yfjaWaUZjSth/GckpeP/Fo9HtMqd04y6MZ6lEb2hbQtTqFcSdEQ==} + '@angular/platform-browser@22.2.2': + resolution: {integrity: sha512-DnAyZTLty5bVNeDhcSPNQABqb9SmNvYfYhvgU3dKoGEpONrrECfYo/X4MN0g7Z9Dn/DkgBCNRoC9AZWxbO9HDQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/animations': 22.2.1 - '@angular/common': 22.2.1 - '@angular/core': 22.2.1 + '@angular/animations': 22.2.2 + '@angular/common': 22.2.2 + '@angular/core': 22.2.2 peerDependenciesMeta: '@angular/animations': optional: true - '@angular/platform-server@22.2.1': - resolution: {integrity: sha512-nnk4wuwI0u6AmMZpmpQXvJic+aFwG7+tkoWMtAr9kY2V9yl/WZIOhk8r4QtYHOzmxT3k7YRIpQ4BOlIg+jUXNw==} + '@angular/platform-server@22.2.2': + resolution: {integrity: sha512-CBqkqtkpIkEAtKJBRSplgBlWzNe2CMsbIZ4FFOPh9uHzBTmztA/D/QXqZKgnHLSP79FUmGjzrBizpk8fo9oVSg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.2.1 - '@angular/compiler': 22.2.1 - '@angular/core': 22.2.1 - '@angular/platform-browser': 22.2.1 + '@angular/common': 22.2.2 + '@angular/compiler': 22.2.2 + '@angular/core': 22.2.2 + '@angular/platform-browser': 22.2.2 rxjs: ^6.5.3 || ^7.4.0 - '@angular/router@22.2.1': - resolution: {integrity: sha512-HJfJ4yA1znKd9YFtbDOJfKmD12x0PhS7LkmYdWlJRu2WkQZRBVrdGKdmbvV5UvrqCRllVWKpzw1TIZJM69rlcw==} + '@angular/router@22.2.2': + resolution: {integrity: sha512-45HP/henqbPRTCBHzwF4ZV8JU75u2TmBMR4BtwcXcKF5SWragKWE0rMz4NpHnCQIy3bIy5SVTvawpf7EJ/kRyw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.2.1 - '@angular/core': 22.2.1 - '@angular/platform-browser': 22.2.1 + '@angular/common': 22.2.2 + '@angular/core': 22.2.2 + '@angular/platform-browser': 22.2.2 rxjs: ^6.5.3 || ^7.4.0 '@antfu/install-pkg@1.1.0': @@ -1990,6 +2079,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.29.9': + resolution: {integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/parser@8.0.6': resolution: {integrity: sha512-LpGDIYJAzc3Y3PT9x+FxBrGYu2PlWxLmyN7SwPTzaX0LSwEmFJBsRnPBqmaXF2r1v+Zhz6lNiEJ+7yKtM5+Ugg==} engines: {node: ^22.18.0 || >=24.11.0} @@ -2816,10 +2910,6 @@ packages: resolution: {integrity: sha512-TIgG/pCkgo3SiayAbV0CorYPdnaNkYWfJFKHhSBTKIdBDwK4YwcbbDlXWGCTJ6gxhhwnrNhcw4jDjz8jejKS4A==} engines: {node: '>=22.18.0'} - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - '@csstools/color-helpers@6.1.1': resolution: {integrity: sha512-gLNsunvwf3mCi5u5o46/Z/JcJMnhbHSaZ69rkgPzNM3J4s8hWwpPUQB6/tt0EDFyCiWzxANlx+2LJwpYj4zS1w==} engines: {node: '>=20.19.0'} @@ -3257,160 +3347,160 @@ packages: resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} engines: {node: '>=18'} - '@img/sharp-darwin-arm64@0.35.4': - resolution: {integrity: sha512-Uhfl4V4lhP2nbUVF9+hyH1+luj86f1gUFeo8ALYxFoULoU+G87D43BfeMP8XHsk9boxAnCY/bf2EHwhA7MuGsA==} + '@img/sharp-darwin-arm64@0.35.5': + resolution: {integrity: sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.35.4': - resolution: {integrity: sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==} + '@img/sharp-darwin-x64@0.35.5': + resolution: {integrity: sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==} engines: {node: '>=20.9.0'} cpu: [x64] os: [darwin] - '@img/sharp-freebsd-wasm32@0.35.4': - resolution: {integrity: sha512-lIsKw/BU+kjB4eZjxrYrZmwOJYi3Ajrv66iAlBmUPyKc3HpnloevB1g3wxGD9P/5BbQ1brBGl65VRRrCvQDEqA==} + '@img/sharp-freebsd-wasm32@0.35.5': + resolution: {integrity: sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==} engines: {node: '>=20.9.0'} os: [freebsd] - '@img/sharp-libvips-darwin-arm64@1.3.3': - resolution: {integrity: sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==} + '@img/sharp-libvips-darwin-arm64@1.3.4': + resolution: {integrity: sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.3.3': - resolution: {integrity: sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==} + '@img/sharp-libvips-darwin-x64@1.3.4': + resolution: {integrity: sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.3.3': - resolution: {integrity: sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==} + '@img/sharp-libvips-linux-arm64@1.3.4': + resolution: {integrity: sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-arm@1.3.3': - resolution: {integrity: sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==} + '@img/sharp-libvips-linux-arm@1.3.4': + resolution: {integrity: sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-ppc64@1.3.3': - resolution: {integrity: sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==} + '@img/sharp-libvips-linux-ppc64@1.3.4': + resolution: {integrity: sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-riscv64@1.3.3': - resolution: {integrity: sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==} + '@img/sharp-libvips-linux-riscv64@1.3.4': + resolution: {integrity: sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-s390x@1.3.3': - resolution: {integrity: sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==} + '@img/sharp-libvips-linux-s390x@1.3.4': + resolution: {integrity: sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-libvips-linux-x64@1.3.3': - resolution: {integrity: sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==} + '@img/sharp-libvips-linux-x64@1.3.4': + resolution: {integrity: sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-libvips-linuxmusl-arm64@1.3.3': - resolution: {integrity: sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==} + '@img/sharp-libvips-linuxmusl-arm64@1.3.4': + resolution: {integrity: sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-libvips-linuxmusl-x64@1.3.3': - resolution: {integrity: sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==} + '@img/sharp-libvips-linuxmusl-x64@1.3.4': + resolution: {integrity: sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-linux-arm64@0.35.4': - resolution: {integrity: sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==} + '@img/sharp-linux-arm64@0.35.5': + resolution: {integrity: sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@img/sharp-linux-arm@0.35.4': - resolution: {integrity: sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==} + '@img/sharp-linux-arm@0.35.5': + resolution: {integrity: sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==} engines: {node: '>=20.9.0'} cpu: [arm] os: [linux] libc: [glibc] - '@img/sharp-linux-ppc64@0.35.4': - resolution: {integrity: sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==} + '@img/sharp-linux-ppc64@0.35.5': + resolution: {integrity: sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==} engines: {node: '>=20.9.0'} cpu: [ppc64] os: [linux] libc: [glibc] - '@img/sharp-linux-riscv64@0.35.4': - resolution: {integrity: sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==} + '@img/sharp-linux-riscv64@0.35.5': + resolution: {integrity: sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==} engines: {node: '>=20.9.0'} cpu: [riscv64] os: [linux] libc: [glibc] - '@img/sharp-linux-s390x@0.35.4': - resolution: {integrity: sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==} + '@img/sharp-linux-s390x@0.35.5': + resolution: {integrity: sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==} engines: {node: '>=20.9.0'} cpu: [s390x] os: [linux] libc: [glibc] - '@img/sharp-linux-x64@0.35.4': - resolution: {integrity: sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==} + '@img/sharp-linux-x64@0.35.5': + resolution: {integrity: sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==} engines: {node: '>=20.9.0'} cpu: [x64] os: [linux] libc: [glibc] - '@img/sharp-linuxmusl-arm64@0.35.4': - resolution: {integrity: sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==} + '@img/sharp-linuxmusl-arm64@0.35.5': + resolution: {integrity: sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [linux] libc: [musl] - '@img/sharp-linuxmusl-x64@0.35.4': - resolution: {integrity: sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==} + '@img/sharp-linuxmusl-x64@0.35.5': + resolution: {integrity: sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==} engines: {node: '>=20.9.0'} cpu: [x64] os: [linux] libc: [musl] - '@img/sharp-wasm32@0.35.4': - resolution: {integrity: sha512-zQnl4Kwp7Q6NHsENtU2T/00Zi+w3AQNwz3+UaTyVBy2FpXrzXzGjndpK61onhZjRtRpQXxCTeqw19bVyXOh7jA==} + '@img/sharp-wasm32@0.35.5': + resolution: {integrity: sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==} engines: {node: '>=20.9.0'} - '@img/sharp-webcontainers-wasm32@0.35.4': - resolution: {integrity: sha512-ESfNkywmCfPNyaZjxooddJQiQ+l/nTpGEOGthxiLnIHXC/CmcBixnfwUleX9mCz9ovrUUvKMap/pm8RYbzfwaA==} + '@img/sharp-webcontainers-wasm32@0.35.5': + resolution: {integrity: sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==} engines: {node: '>=20.9.0'} cpu: [wasm32] - '@img/sharp-win32-arm64@0.35.4': - resolution: {integrity: sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==} + '@img/sharp-win32-arm64@0.35.5': + resolution: {integrity: sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==} engines: {node: '>=20.9.0'} cpu: [arm64] os: [win32] - '@img/sharp-win32-ia32@0.35.4': - resolution: {integrity: sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==} + '@img/sharp-win32-ia32@0.35.5': + resolution: {integrity: sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==} engines: {node: ^20.9.0} cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.35.4': - resolution: {integrity: sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==} + '@img/sharp-win32-x64@0.35.5': + resolution: {integrity: sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==} engines: {node: '>=20.9.0'} cpu: [x64] os: [win32] @@ -3767,9 +3857,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -3844,12 +3931,12 @@ packages: '@marijn/find-cluster-break@1.0.4': resolution: {integrity: sha512-Wy0V7+SGUjnF9/TkiM1hKVDPj7jKXduPNboMVtHTA8dySMURWqfg/JZ9E2Sq8JgSJmkl7k7Qe9FLeMSrSraWmQ==} - '@modelcontextprotocol/core@2.0.0': - resolution: {integrity: sha512-pJCEwGG7Lfr/+PQp9ZTwKXNeO5wzbfKL7H3MYpCorM4oFBoQrdjnBgEoqG+RjhsvS1FKrDbKux+M1HhlnGWqcA==} + '@modelcontextprotocol/core@2.3.1': + resolution: {integrity: sha512-laVmIhPGpWi7rG9q+0UigblRN0Hws/Yjlb6qLFtVqryXVLkc4h+yN8z731POD2LnAGQlFe7/tXhUm7Bi0YB91g==} engines: {node: '>=20'} - '@modelcontextprotocol/server@2.0.0': - resolution: {integrity: sha512-YhHWdHfpFMQfd0prsEnxKeS3Qz3ytIGmsS0sth4KDjnacIT7hxk6hXHkJ9KysxlkvTM+WZAtQbbcUhdoP4Hvtw==} + '@modelcontextprotocol/server@2.3.1': + resolution: {integrity: sha512-e59MfWuSssj6DoQ96JCTqdW1AXT5/XtnTl0WWd6MU1Ka434fFUGGosCLJbGNySDhHGvxQWoRWK137FXYFkYNWw==} engines: {node: '>=20'} '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': @@ -4009,57 +4096,57 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@next/env@16.3.6': - resolution: {integrity: sha512-x9Vblze1EbtltQYnNH38xCPWU3TVfBd1eXqA3+w9+BTpedkkdNpAaltXlGQ/nsc1+E0mVTNrtcbX3GoO09zeLQ==} + '@next/env@16.3.8': + resolution: {integrity: sha512-Al9zqHVV7TJv0eFuOU4U7Lvv74PTih4Ch63sk2xCIpSTkE3udFnaOcnzP2lQVymiL7yS9Cj2iClUXlR3EQ5sEw==} - '@next/swc-darwin-arm64@16.3.6': - resolution: {integrity: sha512-E/7GEqaUkt8mk/T8v9lAnrhzR06kdq1ZBkC12F8tAMkdIadwNp3H1KqHynDHrpcTlGCUdq/qu6vUL2aYVyYBdw==} + '@next/swc-darwin-arm64@16.3.8': + resolution: {integrity: sha512-2JPRMh2nmQG5CiL7cXGL9AGwnPWJQ//cTtAUCT+w511QHk79SYz3LGv/pc5X643B/WEO0rvu3Yww0hqwt3kgeA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.3.6': - resolution: {integrity: sha512-yBE893/nDWTlaiBD1p+qgt7NUen4U5R6FXyH0s67Npq1S3E0cVSef1WIXC2xBRgQvwAvJq6DnS6Y6PrY0cy4Ew==} + '@next/swc-darwin-x64@16.3.8': + resolution: {integrity: sha512-GZtCCOBKJ4leVIT/Th0llWKhD1ca92lzbQiS5R5ON9QkoiFnilFsebDae1JU2a3HWoKMEmEZWGs1AGLavVM72Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.3.6': - resolution: {integrity: sha512-KJDpjBqBPYlvkivmyrp+Qys6k/7ksbqGQvRVc6ZEGfR+cjQxx+nUkJaWmNZJsmoOrqYNbaXByF8wa0lBwDhB3Q==} + '@next/swc-linux-arm64-gnu@16.3.8': + resolution: {integrity: sha512-O659ygeQYqneJ1fBKMpFxIFqYkYswu8IAS1OCKK/4f3ZgJJm1dRz4fVJZRi/kLLWjnBKnebOePA4WNv+sV1pVA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.3.6': - resolution: {integrity: sha512-mqNg2K+hvWskSRb/QM+Ix412DvBsuSF0XV+frTSw5vmoucNnIlynFwKYew8D01bfATErMOM7Bujrf0BA5DRKFA==} + '@next/swc-linux-arm64-musl@16.3.8': + resolution: {integrity: sha512-dSjKSyWpzxoO1d3DIZZcP4XJcNaKeLmxQMFOiYl5vuBRMmweIqnAhty8tAmRsvTss779cK1FtYnDMj40e4TQlg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.3.6': - resolution: {integrity: sha512-nFncBNGAYouRHjRVaITs9beZRfhX4ssVwpnvPIAbkZVH6LtGoAVlH4bJ8Cnf9SOo9bsXgPFer/GdHtEE3JNOkw==} + '@next/swc-linux-x64-gnu@16.3.8': + resolution: {integrity: sha512-lbqOuz3RPRcv+o9msNsJw5x4+Y1ZwPTs6vmL6DCf7i0fZfvng/F59wyeDwqHIvV0mK//RBy/jJkZ+nCKsSMXjQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.3.6': - resolution: {integrity: sha512-5Mf3cHDGR/Iz0ng2Bj3zUR3p5QS9YK3Hn2QiAfavFmyF48zwThAjpFoiTKNIcOHLYS4zEk+gzyJ/9deQ2ZB8yQ==} + '@next/swc-linux-x64-musl@16.3.8': + resolution: {integrity: sha512-+316WswI8ScVgZeUd+1KGaXkHhaYQzCjvH/05TZSpJ8zBizb1a4G7DtO7F12jcBIqMOtsz9ji1t48fmKtzqsGA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.3.6': - resolution: {integrity: sha512-0jkJy0C2kbrJWTk4YLa3xk80pVBpx8FCHJym7CnUfDAXe/FWv5qT7SQJbR0KuemyxaEDlEx5WT4VQJoTW+/9Qw==} + '@next/swc-win32-arm64-msvc@16.3.8': + resolution: {integrity: sha512-ji0gd4kMYUxO+1fJBIbiBVRCjzG/lloiyCccnlebvb1ZJ5qXCPZqYg4Jl1DrrixnWNMKylzgpmMWx0yNDYXlzw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.3.6': - resolution: {integrity: sha512-/YXjI1e5OXcZ7YpxRwgP/1jAV/SBKTzeVKqN2mk7mLpcICsyn3Gl5+dIfDTJp70M0ccMhyMMRso4v6mPDCGepg==} + '@next/swc-win32-x64-msvc@16.3.8': + resolution: {integrity: sha512-WcTlaKt/TWkh5kUjdJcUmB1XgZ+1c6fz4Y9fDHL73YNSdGaUWjceeWrrlwF0nv19iABYWC4iAq1oX1w4Bn0vfg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -4870,54 +4957,54 @@ packages: preact: ^10.4.0 || ^11.0.0-0 vite: ^8.3.2 - '@react-native/asset-utils@0.87.1': - resolution: {integrity: sha512-FeFnbn9ENPs7IVBzZt1bBWfiRGvT4q+CsWwXGFyKVW/1ol3ylBRuTtXBGHIAmcNN4fUR60nSXsCN19pzNHkPgA==} + '@react-native/asset-utils@0.88.0': + resolution: {integrity: sha512-Bj1DxQt5f4OrjdlgSVkZT37Z3hx5hUIN5AUDSqL/e99vgtTcqj5vnm067epZL1EF/QiqsniZO8Q1GSkItOakDg==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/codegen@0.87.1': - resolution: {integrity: sha512-qbaqEdlUfj2vRgvWTpMoNgHnEqAhAYJLUrpGkb0WC9n0kdtqUvgigpz4bDktZwolM9BemXwgGFgyiAnbs3t0xw==} + '@react-native/codegen@0.88.0': + resolution: {integrity: sha512-SAGg+XfzsrPiYTscbKa9bo2/H2ei2TjyxW8RTMq2Ps661kRK3AnmpMGVfrEFshEMr3FGEbuQIvj86X98kaXlRA==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} peerDependencies: '@babel/core': '*' - '@react-native/community-cli-plugin@0.87.1': - resolution: {integrity: sha512-aGBae6v+ngy8fIpU1EOaVxn/8DOgmJNphEdn5Eb0wTchUCxr8bDjpTJYNdrptyn3qI/elk8r9agQ2OBaFvrRlw==} + '@react-native/community-cli-plugin@0.88.0': + resolution: {integrity: sha512-WrQdXbjVt1gwAay8ZzYtpOi9ly99ksJ0VMYFdVcMe6nq3vtiRgqKRpHgCdN6ySIbtr5o+aJ+Vr7OTDY98ec/Ow==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} peerDependencies: '@react-native-community/cli': '*' - '@react-native/metro-config': 0.87.1 + '@react-native/metro-config': 0.88.0 peerDependenciesMeta: '@react-native-community/cli': optional: true '@react-native/metro-config': optional: true - '@react-native/debugger-frontend@0.87.1': - resolution: {integrity: sha512-RNm7soJB+8YSauLnsCCylA1eVfT6JWaDTPUEF01uu9YwDyZ7remKlZbXtmVbtscbNGcp+hbI4iZUdVOpQWsHuA==} + '@react-native/debugger-frontend@0.88.0': + resolution: {integrity: sha512-v5cnBaaWhDRPcQv8EC20zj53jOAKH7u2wnzzXS4JTNu+diPC+cA2+kC7rq3eKI5vGhlAcG2kDPoViRuC0AY0oA==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/debugger-shell@0.87.1': - resolution: {integrity: sha512-eNbKjcnseJIjy5XCDwyhKOT1ngOg3Dv1fVxTDtnVFqdqjqsbfY4v9JuJG1RZJ7+mFoRRe05HE8GSQU8B7n5xwQ==} + '@react-native/debugger-shell@0.88.0': + resolution: {integrity: sha512-p82zT8ZKNx7nIm/8zf8pi55sxm5KQBm8td47kzoJysTdqHLyPsRMUvDXtvCJIWadHSv7RJ6t/yiCc+IoImLBtw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/dev-middleware@0.87.1': - resolution: {integrity: sha512-KgvAGUaVl6/XrWFAPK8e0ojDRbsdBjr4bnwyn6PC3CwxPQc5iv+i7hMoUwYS8ORSkHKfjt+cV86/mBQ4lG8yfA==} + '@react-native/dev-middleware@0.88.0': + resolution: {integrity: sha512-sHLxVHOwfkF672ZzMepNh4d3IKbrZy3qXDKWSwN5LC5VJkzzZ5FdmSPP4N/CCn2pcKJ4oSqvojXwN4De3Xk92A==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/gradle-plugin@0.87.1': - resolution: {integrity: sha512-bZ5X2BNxaSlfp2KlDtUM910QqW9G1yTIeZXghuv4ag8SAQLzm5Mf9j5GjJfT6ax2Qo2aRT15Vi3Tro/yLGJstA==} + '@react-native/gradle-plugin@0.88.0': + resolution: {integrity: sha512-4jPSKslOfJj8NKY/jv9qmWkxZYmqPyamoS3Vs0JOFxw9t4PM6L/ea0fUsjNV0LxC9zJlvWilPJOCTOf7h8wlyw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - '@react-native/normalize-colors@0.87.1': - resolution: {integrity: sha512-8+AutemzX+a7cuKgTUyb7JUk3sFYgLyrSnlTLrL6LuW/LKDE+FYE8lJGWYhJPJcE51Ge1D8yRzxgQEdEFZtuIw==} + '@react-native/normalize-colors@0.88.0': + resolution: {integrity: sha512-eZCu3tGAQCfvMCPQJVY4dmoMX8ZZYBvqIGHX7lwOYyzNK+Dl8e5ky7ZoXub1Rq75oSrQXNNmSP2CDjNNXXZpFQ==} - '@react-native/virtualized-lists@0.87.1': - resolution: {integrity: sha512-qSZjeX3UJrDvyfjf7yc3E68rp1XnzE+5nu8ImklhkVC0+p/XiaHPb/KGkRqDdnQyWHN55BRYSsCMEwgVI6WRNQ==} + '@react-native/virtualized-lists@0.88.0': + resolution: {integrity: sha512-zpZIOAbobdS93edwHkNUdGDzvElNeQJqukRERRPns3/ucPvuMd2G4fYpmVJSVjhxtGCcLLB1PFndLYYfwaYoBQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} peerDependencies: '@types/react': ^19.2.0 react: '*' - react-native: 0.87.1 + react-native: 0.88.0 peerDependenciesMeta: '@types/react': optional: true @@ -5482,8 +5569,8 @@ packages: '@rviscomi/capo.js@2.3.0': resolution: {integrity: sha512-qY3QRtKdq//Z8jDENSUCAaSE76sUwHgN6pzoRXj6e5cSwQqxFLjm8B+GDkbtUr/WGWJRzoAMtz0I60TM1KrOBg==} - '@schematics/angular@22.2.1': - resolution: {integrity: sha512-L4Nl8D43znCzXwze9PtbQhG1GKlhWq9ip8Hz+e3LHgG3WpT5Tlr7aVsyHDqb9Qetuy0Mpd4tXE15STtGdA897w==} + '@schematics/angular@22.2.2': + resolution: {integrity: sha512-JxpXKpxdmQcRsJbriWJOhB7HeVTzz9CEsPNw6fQ0LOuPFnvtyUIXLxyFbKv/LfoFUz8wFADCtNU5sjowME5Mvg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@shikijs/core@2.5.0': @@ -5634,6 +5721,10 @@ packages: resolution: {integrity: sha512-4+pRdrAHtfyE9BUJWBup3TpzJojJjgW2mV1vm/Jik4tWa5epxXB/YrLkwqP1v8+S9XjyKKZu5BSLqmcpswMYeQ==} engines: {node: '>=22.12.0'} + '@solidjs/signals@2.0.0-rc.15': + resolution: {integrity: sha512-rMhLaYnBvpb9sB3NJGPsqIxjgr0XKU2nvBS7jhWX2fKx+K/m5O0VoAuCgYuTie3BMBZU9vX08NdnFXg508pcew==} + engines: {node: '>=22.12.0'} + '@solidjs/start@2.0.5': resolution: {integrity: sha512-Kji79Kan867rKAx8iG0W4BXzj/J2nXyGwgS6+mNA4vqLabqLMeXfY/O910JnMLHRKMZZ9Xfr4hh+DYUDuSSPCw==} engines: {node: '>=24'} @@ -5697,6 +5788,12 @@ packages: peerDependencies: solid-js: ^2.0.0-rc.13 + '@solidjs/web@2.0.0-rc.15': + resolution: {integrity: sha512-xwt4rNZ9CXTdMraFqmVn/AXuHIXQJ3jnrKyzEZ4ZFdRCBml0VxL8pA5D3YZHSjHoF7okNAmiVtyRCMNz15jQCg==} + engines: {node: '>=22.12.0'} + peerDependencies: + solid-js: ^2.0.0-rc.15 + '@speed-highlight/core@1.2.24': resolution: {integrity: sha512-qeW2e1l78afw8VhRPfPQ1Gjj+KU5XFQ/OFV5ti6eTa9bruO7mJyZtA4vw0ofqmA3tKCkROE9xLk3VZoeRc98nw==} @@ -5711,16 +5808,41 @@ packages: peerDependencies: acorn: ^8.9.0 + '@sveltejs/adapter-auto@8.0.0': + resolution: {integrity: sha512-CKOwUS865xfoZn3CpM868slPfitsQ4vmxAR/yOfTIguAwStgkhjhzV0zEhmkzPalH338LJ9XnQX9vfQeY7220A==} + peerDependencies: + '@sveltejs/kit': ^3.0.0-next.0 + + '@sveltejs/kit@3.1.0': + resolution: {integrity: sha512-JTWlq2HQlkqx6vIoxhC0R6sc4WVqbQoRyEmr5YlqKmiYbzY1U3awtSWTmjMLlS056a49AmkQR6rnNANXIE8B0Q==} + engines: {node: '>=22.17'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.0.0 + '@sveltejs/vite-plugin-svelte': ^7.0.0 + svelte: ^5.57.1 + typescript: ^6.0.0 + vite: ^8.3.2 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + typescript: + optional: true + '@sveltejs/load-config@0.2.3': resolution: {integrity: sha512-VT3qmUb8pRV2QrZjd8iAmtg8lf4W0TIjZbvXtz5MKei/q96teWZgGJyyidJzOjzZzvdq616eSRVeMYIQChUTAQ==} engines: {node: '>= 18.0.0'} - '@sveltejs/package@2.5.8': - resolution: {integrity: sha512-zeBbsXYvHiBu56v4gJaGQoEHzg96w0E1j3dOMX8vo56s6vI5eQ57ZEZhudjwjnegnVitRRu5MrmhO0eNvaonIw==} - engines: {node: ^16.14 || >=18} + '@sveltejs/package@3.0.1': + resolution: {integrity: sha512-QblEaqd2r685OZWVO4I0DLAKUOozIp7YxvahxPYntv+4zzMQbisX2vubBEg2d8riF+bPF13AqTzMFlhyuSlaRQ==} + engines: {node: '>=22'} hasBin: true peerDependencies: svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1 + typescript: ^6.0.0 + peerDependenciesMeta: + typescript: + optional: true '@sveltejs/vite-plugin-svelte@7.3.1': resolution: {integrity: sha512-ZPsLN8B1e/En+Ak5s4V7srFDT532oS0qieLsQwu63NGKsS+iAjoO2Js1BochlHlglcU+Pt7WAO3C5Ee+4f6gVA==} @@ -5729,88 +5851,9 @@ packages: svelte: ^5.46.4 vite: ^8.3.2 - '@swc/core-darwin-arm64@1.7.23': - resolution: {integrity: sha512-yyOHPfti6yKlQulfVWMt7BVKst+SyEZYCWuQSGMn1KgmNCH/bYufRWfQXIhkGSj44ZkEepJmsJ8tDyIb4k5WyA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] - - '@swc/core-darwin-x64@1.7.23': - resolution: {integrity: sha512-GzqHwQ0Y1VyjdI/bBKFX2GKm5HD3PIB6OhuAQtWZMTtEr2yIrlT0YK2T+XKh7oIg31JwxGBeQdBk3KTI7DARmQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] - - '@swc/core-linux-arm-gnueabihf@1.7.23': - resolution: {integrity: sha512-qwX4gB41OS6/OZkHcpTqLFGsdmvoZyffnJIlgB/kZKwH3lfeJWzv6vx57zXtNpM/t7GoQEe0VZUVdmNjxSxBZw==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] - - '@swc/core-linux-arm64-gnu@1.7.23': - resolution: {integrity: sha512-TsrbUZdMaUwzI7+g/8rHPLWbntMKYSu5Bn5IBSqVKPeyqaXxNnlIUnWXgXcUcRAc+T+Y8ADfr7EiFz9iz5DuSA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@swc/core-linux-arm64-musl@1.7.23': - resolution: {integrity: sha512-JEdtwdthazKq4PBz53KSubwwK8MvqODAihGSAzc8u3Unq4ojcvaS8b0CwLBeD+kTQ78HpxOXTt3DsFIxpgaCAA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@swc/core-linux-x64-gnu@1.7.23': - resolution: {integrity: sha512-V51gFPWaVAHbI1yg9ahsoya3aB4uawye3SZ5uQWgcP7wdCdiv60dw4F5nuPJf5Z1oXD3U/BslXuamv8Oh9vXqQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@swc/core-linux-x64-musl@1.7.23': - resolution: {integrity: sha512-BBqQi4+UdeRqag3yM4IJjaHG4yc1o3l9ksENHToE0o/u2DT0FY5+K/DiYGZLC1JHbSFzNqRCYsa7DIzRtZ0A1A==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - libc: [musl] - - '@swc/core-win32-arm64-msvc@1.7.23': - resolution: {integrity: sha512-JPk6pvCKncL6bXG7p+NLZf8PWx4FakVvKNdwGeMrYunb+yk1IZf7qf9LJk8+GDGF5QviDXPs8opZrTrfsW80fA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] - - '@swc/core-win32-ia32-msvc@1.7.23': - resolution: {integrity: sha512-2Whxi8d+bLQBzJcQ5qYPHlk02YYVGsMVav0fWk+FnX2z1QRREIu1L1xvrpi7gBpjXp6BIU40ya8GiKeekNT2bg==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] - - '@swc/core-win32-x64-msvc@1.7.23': - resolution: {integrity: sha512-82fARk4/yJ40kwWKY/gdKDisPdtgJE9jgpl/vkNG3alyJxrCzuNM7+CtiKoYbXLeqM8GQTS3wlvCaJu9oQ8dag==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - - '@swc/core@1.7.23': - resolution: {integrity: sha512-VDNkpDvDlreGh2E3tlDj8B3piiuLhhQA/7rIVZpiLUvG1YpucAa6N7iDXA7Gc/+Hah8spaCg/qvEaBkCmcIYCQ==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '*' - peerDependenciesMeta: - '@swc/helpers': - optional: true - - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.23': resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} - '@swc/types@0.1.27': - resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} - '@tanstack/history@1.162.1': resolution: {integrity: sha512-DR9t6lfLVdrjgCwpglrR9DR7Ok8/HlXjcOE+goWXF3zyuLUO/ug7vMbSFxTqrQTtbRghJfyhmIZ0S6LhPIy44w==} engines: {node: '>=20.19'} @@ -6083,18 +6126,6 @@ packages: '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@tsconfig/node10@1.0.12': - resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tsconfig/node24@24.0.5': resolution: {integrity: sha512-DWC54fGPuhZgg3Ighg4Y/A/bA3ZdB5hnzAuv/MkQ/X85sVsBsMQxu8t7khutdYeiNksBbFdDyeqv1HSW2Zl8aA==} @@ -6568,13 +6599,13 @@ packages: peerDependencies: vite: ^8.3.2 - '@vitejs/plugin-react@6.1.1': - resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 - oxc-transform-react: ^0.145.0 + oxc-transform-react: ^0.152.0 vite: ^8.3.2 peerDependenciesMeta: '@rolldown/plugin-babel': @@ -6598,12 +6629,12 @@ packages: vite: ^8.3.2 vue: ^3.2.25 - '@vitejs/plugin-vue@6.0.9': - resolution: {integrity: sha512-rD/MORlhaZMlXWW0rEn4FB4wMinWC0z/D7Ye160S5+Rs1mC8ZDAdcDp4SjKfUhG5t8q1ktcPVw4xuTkPRlzrSA==} + '@vitejs/plugin-vue@6.0.10': + resolution: {integrity: sha512-b80aUQh3n+qEzzZm5oQp3rT2QImeCx58K6eFl/RkJ3d65KW0kTuv5lNsLRVAjbW9YRUpo/wzmvzMgV34bTAItA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^8.3.2 - vue: ^3.2.25 + vue: ^3.2.25 || ^3.6.0-rc.10 '@vitest/browser-playwright@5.0.3': resolution: {integrity: sha512-rYBHwIFL/ZtI6dl0rbrAatScXCrvX+TL2BX2AGOigkC1Y6u3rIWw8KMQJJMS4drSa1ksMCmZU2wpgwdE7kqu3g==} @@ -6724,17 +6755,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.43': - resolution: {integrity: sha512-zdiLhnbe1QQqgDT8xZMpNmyqZ3qlI+/Q/FHQco57Kwl/b05HhCzN6eVGN9QU9rbga4CrS0H5SYY8VGHZCt/1Hg==} + '@vue/compiler-core@3.5.44': + resolution: {integrity: sha512-k34nCytbK8PQ1gR2mGROYOw6Pnv/mumqIdrZ3x2tbyXZDWm7ViKGLTfdB+DRrWqEQsLgGJvn0WN9jBif5zCTLQ==} - '@vue/compiler-dom@3.5.43': - resolution: {integrity: sha512-PEZoAk3NQmsn/ejMzSOCyTYqwGqczrWm70PuhBKjjv1+TCoQAaO/zOqNwjV+honlNstT5ILxtc+8r8UUfj+iEQ==} + '@vue/compiler-dom@3.5.44': + resolution: {integrity: sha512-W5AoBFWdw1lQAKiHowkfgFKFab82oSRT6sGsPfw/q1GRjsy/ZJFLHGhJyBRIFN9APLTUduDH9U2JAiPOIyKuYg==} - '@vue/compiler-sfc@3.5.43': - resolution: {integrity: sha512-FCbrG3XNCRl+js3huuKx4IVHBLTvMkJhVepjbxSPu1gn4yWLaYtGNQdjJGZaMytXB6qb76qQDDmDSLy/vkmleQ==} + '@vue/compiler-sfc@3.5.44': + resolution: {integrity: sha512-dzHmQ4jXTpdr5FjIQUeykVakN/uzqFbUo9/C5ikBFg3a3PeM6uRxeczx1ZbXBML0/zJstEh3ygYipzR5Z7b2Pw==} - '@vue/compiler-ssr@3.5.43': - resolution: {integrity: sha512-GF62orf7KiJX9RqrHNGrYBudsQGD0OhJ5nDs90O8UiDuS40+YMYomiXu6w6EuvtXuRDc3MSNis3EaaSKAVSWpg==} + '@vue/compiler-ssr@3.5.44': + resolution: {integrity: sha512-xr5gb1JVHlfXJwSlRz1FeP6uxoazdzHuMTVLE7up+4Vrqxk219CvxLPxD9NXBt47yvZW7+p4DXfyp4O1fkByIA==} '@vue/devtools-api@7.7.10': resolution: {integrity: sha512-KxtEpUOOpFz/qOGRrAwA36QF7DqIA+FXgCYit9mk9wjbaZt0sXOFz81ElOZtKA4HbWHUdwNjZHBFsFFyp5BZiA==} @@ -6762,21 +6793,24 @@ packages: '@vue/language-core@3.3.11': resolution: {integrity: sha512-QJmpliwAVpC/OxubIByPAhNzsQPRc8/gxlN2qnVzVfIMjMDz/9RnXRFoetjz5yEgXVXyp4LqhXq3V53PjmNzFw==} - '@vue/reactivity@3.5.43': - resolution: {integrity: sha512-G/c9GyOZNI2jVaaS6OX1EF1SSFSv7H0ERqNTl4+DTFMlZmB5eVAB53aLQNam/7NL2NPtaDD7RdVrzf8uJzMuOA==} + '@vue/reactivity@3.5.44': + resolution: {integrity: sha512-u+QJdKeBBEADkPdevsL+6E12QlYVfBD8Zcw5qjDQKtamI6l14KyqazJMobhCKelhWN5zpyKUiEDoTyHE93cqWw==} - '@vue/runtime-core@3.5.43': - resolution: {integrity: sha512-hU6U6VnVhBGQDpvlnnDlIB8ZGJBiOcgk2lh/0InltHiz3D8oSkluvuvY+do1G2H3+udeKFsmaBlgVYP7gXQzEw==} + '@vue/runtime-core@3.5.44': + resolution: {integrity: sha512-uEa/ndwjhrrhnOfb2p+sZy6zeoamJOISqaLSJGk/8R6nABT1ZldpzcJoPzKj+zHVomVBPcmQYyC2r4LtvDV6CQ==} - '@vue/runtime-dom@3.5.43': - resolution: {integrity: sha512-Bb2Jc0YjjJdMt1SJmb9b2L/IWd3I8lIT9x9eS/xvvP9CiVgna0ffua74xKRmt4/uSJ+0r4iN8ex1jrqkhQGWQw==} + '@vue/runtime-dom@3.5.44': + resolution: {integrity: sha512-3fc4ARcXVhVBaJ3ujWiNZJARD6pkyRcwG+ZYhMzjKtKUp7MAY0HLwr7r3Smep3Li6ZaWT6ewdmx8XqdaD5oNZg==} - '@vue/server-renderer@3.5.43': - resolution: {integrity: sha512-l2Ygjv9NehV94PSBxNWsAHC0j/eIIKbn92mBuWXAPGLnn6HfJ6MH5ubsd+Nk0YoZ5FRuxWI1P2VSoh+dbPQhCQ==} + '@vue/server-renderer@3.5.44': + resolution: {integrity: sha512-R4S1UoH4h5Frrauv8Z5XE5TxV9oBiUSgWIC4TyVK1FK+RocRnOLwFA5Xcmo2011RlgJp+AbZCnw6afrhlgRuUQ==} '@vue/shared@3.5.43': resolution: {integrity: sha512-uksS7YGMR5NZyr4JNq0Rp+QyLns0ueaz20KwzIPW9R0LH1Vnt4E+XUM29PNseEbf1www2gOuhuDi5AKOIXag9Q==} + '@vue/shared@3.5.44': + resolution: {integrity: sha512-H82XLH0DjmSOdbEwO15x3QTo1f5PWEtv237eLpYKc0mqLu+B8hnq16lFWmuBmNurkeiG3wr+oM1FhOll/YVFRg==} + '@vue/test-utils@2.5.1': resolution: {integrity: sha512-V/4a99odJ7hapr0bRt35XxljGk8hefq31gSOnlKTcEq2fUeoj2qb+FcpJYfQu4qfYhW9Ug+O2+CZ3QmZ7gXDzA==} peerDependencies: @@ -7100,15 +7134,16 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.5: - resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} - engines: {node: '>=0.4.0'} - acorn@8.18.0: resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -7117,15 +7152,6 @@ packages: resolution: {integrity: sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==} engines: {node: '>= 20'} - ajv-cli@5.0.0: - resolution: {integrity: sha512-LY4m6dUv44HTyhV+u2z5uX4EhPYTM38Iv1jdgDJJJCyOOuqB8KtZEGjPZ2T+sh5ZIJrXUfgErYx/j3gLd3+PlQ==} - hasBin: true - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -7236,15 +7262,9 @@ packages: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -7384,9 +7404,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-syntax-hermes-parser@0.36.1: - resolution: {integrity: sha512-ycduwJbvdvIMmVvlAZqGggS+pm5Eu4Bk9pcV9Sm2Z4PJNRVsKkv0g7vHj+LeuC1gHTeF67sJXFOq61IlqCa2hA==} - babel-plugin-transform-hook-names@1.0.2: resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} peerDependencies: @@ -7460,11 +7477,6 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.11.26: - resolution: {integrity: sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==} - engines: {node: '>=6.0.0'} - hasBin: true - baseline-browser-mapping@2.11.27: resolution: {integrity: sha512-ElY12DaROGuan+lMmZ8Cvo/ZUbXPe7Enc/9VU/b1T3Kp4dwytRcNdR8DoSJN5SNJT/CuvcCA0DHDVmMOCePdRQ==} engines: {node: '>=6.0.0'} @@ -7609,9 +7621,6 @@ packages: caniuse-api@4.0.0: resolution: {integrity: sha512-B0hQ1OLyJuHTQSOWXvwibWqM6DCoqJdvBA6X1S/53bd4XU7LJ1yurIPlrsouol3mw1jh9pGI4ivubSpmJeIqCA==} - caniuse-lite@1.0.30001813: - resolution: {integrity: sha512-zfjJo4rM0+fUomGDBW/xcDjhIwz/210DGvip2MAMDZ8KHcRPnOHmEgHPZP0UHlZoxr8fYKVJOqcORhYQcG4FKQ==} - caniuse-lite@1.0.30001814: resolution: {integrity: sha512-/Uaf1lAzr59XcMpW0o96WoEfr+VXK2OX4U9AgFoiSHsVJ4HppnIFUjtYzsyDH2+tgANaQb2/oxYGwCPapN1FpA==} @@ -7676,17 +7685,6 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - chrome-launcher@0.15.2: - resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} - engines: {node: '>=12.13.0'} - hasBin: true - - chromium-edge-launcher@0.3.0: - resolution: {integrity: sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA==} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -7943,9 +7941,6 @@ packages: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - crelt@1.0.7: resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==} @@ -8208,6 +8203,10 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -8252,10 +8251,6 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff@4.0.4: - resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} - engines: {node: '>=0.3.1'} - diff@8.0.4: resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} engines: {node: '>=0.3.1'} @@ -8614,8 +8609,8 @@ packages: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} - esrap@2.3.11: - resolution: {integrity: sha512-1kmQFiDHcf1T69K9qKtn2MasiKlaq6xNw2ZEgHD8jNyyoNEfx9eCOiJpYDmc0Yk0FKT0bzx5dyBocMDAitWpaQ==} + esrap@2.4.0: + resolution: {integrity: sha512-CQPcneEHw/czj32uwQC52nYnax8H4SXt25FCM+LIwGZ49cMIxpOj3bP8wmzcI+Z0HIy5KkClaPhRLfCySzwHPA==} peerDependencies: '@typescript-eslint/types': ^8.2.0 peerDependenciesMeta: @@ -8711,9 +8706,6 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - fast-json-patch@3.1.1: - resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -8837,6 +8829,22 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + flow-estree@0.327.0: + resolution: {integrity: sha512-f9vK751YUzD0qaHSpKc5/qQM6gqOlgGS+4ZRqTNcZOpVqn3mC55yEQ6dUG2K1eaVm5FbKkz9CFWe6XNvrkQFQg==} + engines: {node: '>=18'} + + flow-estree@0.331.0: + resolution: {integrity: sha512-FVLYkSL/ITb/QXBEQvNWPjPooRGswuUtGOwrH+puSlMDneNkxy640+FZsk/TfKL+b7Wbw/Fg9FTUv2bMQDpj2w==} + engines: {node: '>=18'} + + flow-parser@0.327.0: + resolution: {integrity: sha512-/MYZ5hXWf5ozpbdfUDmazMgQXviLxWEiRLH3MppEGDdW0itRVqmB5UaU7QX+SBCDNiq+gEesSVn8nlxmPDyDkw==} + engines: {node: '>=0.4.0'} + + flow-parser@0.331.0: + resolution: {integrity: sha512-vEZcHIlnKeN8JSVtYFczj8sWJfHIJOkz+YG00O/oul/Bete+t1ZhTi+O6JRRLFYvGW+yJkZ0YgL16iStnbkUqQ==} + engines: {node: '>=0.4.0'} + flru@1.0.2: resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} engines: {node: '>=6'} @@ -9150,14 +9158,8 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - hermes-compiler@250829098.0.17: - resolution: {integrity: sha512-qG1PXzTEtriF6oQLZF3vyHhSMxOdW5h2TqqLri0rdpstPustd2fSvRZQMVAPdlhgFwBfYnj3OUZtiO6LjYsEFw==} - - hermes-estree@0.36.1: - resolution: {integrity: sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==} - - hermes-parser@0.36.1: - resolution: {integrity: sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==} + hermes-compiler@260318099.0.4: + resolution: {integrity: sha512-8odcPFkPC82HlqCl0C5QI9mBN4rEAT+IAo55sJhzwKw//K3qZloiv3ex6J2O8CuBbhdmkJozfidNsset2KH25w==} hey-listen@1.0.8: resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} @@ -9276,11 +9278,6 @@ packages: image-q@4.0.0: resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==} - image-size@1.2.1: - resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} - engines: {node: '>=16.x'} - hasBin: true - image2uri@2.1.2: resolution: {integrity: sha512-3b2zRma8I3zulb4OCkZruRw1VsnysT9phBzOJj+x3lPkwybJtNa5Sz6Dw8jSQI6OL7Ns4H5h8Y26EJbwq4GhQQ==} @@ -9668,10 +9665,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.15.2: - resolution: {integrity: sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==} - hasBin: true - js-yaml@4.3.2: resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==} hasBin: true @@ -9696,9 +9689,6 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-schema-migrate@2.0.0: - resolution: {integrity: sha512-r38SVTtojDRp4eD6WsCqiE0eNDt4v1WalBXb9cyZYw9ai5cGtBwzRNWjHzJl38w6TxFkXAIA7h+fyX3tnrAFhQ==} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -9720,6 +9710,10 @@ packages: resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonc-eslint-parser@3.3.0: + resolution: {integrity: sha512-hYTGkHGNRZnXOFZ1urhINADoqDrGfpy53cjw+dxk84QE0pUDujQzeUeamNs6Mz44/TKD49z2x6/GVSu4ZrtA+Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + jsonc-parser@2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} @@ -9787,9 +9781,6 @@ packages: lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} - lighthouse-logger@1.4.2: - resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} - lightningcss-android-arm64@1.33.0: resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} @@ -9986,6 +9977,9 @@ packages: magic-string@1.4.2: resolution: {integrity: sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==} + magic-string@1.4.3: + resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} + magicast@0.5.4: resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} @@ -9993,16 +9987,10 @@ packages: resolution: {integrity: sha512-IfpFq6UM39dUNiphpA6uDezNx/AvWyhwfICWPR3t1VspkgkMZrL+Rk1RbN1bx+aeNYwOrqGJgEgV3yotk+ZUVw==} engines: {node: '>=18'} - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - make-fetch-happen@14.0.3: resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==} engines: {node: ^18.17.0 || >=20.5.0} - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} @@ -10021,9 +10009,6 @@ packages: resolution: {integrity: sha512-MqIQVVkz+uGEHi3TsHx/czcxxCbRIL7sv5K5DnYw/tI+apY54IbPefV/cmgxp6LoJSEx/TqcHdLs/298afG5QQ==} engines: {node: '>=6'} - marky@1.3.0: - resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -10087,61 +10072,61 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - metro-babel-transformer@0.87.0: - resolution: {integrity: sha512-IEn1K1FyY4J1sA5y6zqDjf2OkfmpTEqhZOeP6MJX8HepSW0cuHGw1m8bYOdv2adkG3XUE9dtM0csUs0gP/Xa5w==} + metro-babel-transformer@0.87.1: + resolution: {integrity: sha512-orvRIGpb0yK1yMbk5YP3dhVKjmoxUkRB9fdltGJxNppEqus/1tFpNuf9KnGFR3Qjg0izoUrJ4z6WgoBvdkXPrA==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-cache-key@0.87.0: - resolution: {integrity: sha512-Q+MPt6jl0zQogr4Q02WaJK6HY+GtE5A0nzj8kIV1Owgrx6OMNvm6scPTr1SM/R4LpCE8EH/Y5qfbXQ84GHTr0Q==} + metro-cache-key@0.87.1: + resolution: {integrity: sha512-scqVVPMA2c+RVO12I3wyMDp5xCkRPLsyrcG4Qc3xfU5JR0EW/0sz2tjty+5UjMUtG09uiM1KYQ8HjWg7OQXHtw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-cache@0.87.0: - resolution: {integrity: sha512-146vS1BMSKcp99jddOhFBfHwzUEWN35NrsnSJDF2sQQ0ZT5OsBcOjd574PM233TWEZISRJ5DOK+vokD+1ubx+w==} + metro-cache@0.87.1: + resolution: {integrity: sha512-juNPaj0Xi5tkLp8imXqvbSnEIijwKG36m7OiFFVJMqEkiURwAjkMFVek3/xpix1+LVQqO7kjVp3PvuvIM61mKQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-config@0.87.0: - resolution: {integrity: sha512-yZ9QAIzWH9MxwrzwRlX/CBGRWOT14l7klSDYg8hdtSdnoUs5A7MQRdHE2KB9iHVzGQW5wgWM5aXJswNeWbSQPA==} + metro-config@0.87.1: + resolution: {integrity: sha512-NmkDlc/qZAdo5gTkVTuO2AKE/khemRKRH5IA+SKfqUBJigI5GqZ5TOXhmEokhlkAqzjt8dyzKhzI6FHvXoXaTQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-core@0.87.0: - resolution: {integrity: sha512-yW57+pCOHRC/CJZ99GA2PTd+30dORwDAjUPRCokj91IWW5In9Jwtt2FB5wACrGO8P0GHTyVHdTwDNyZsNndUbA==} + metro-core@0.87.1: + resolution: {integrity: sha512-xizzky/4+c/Mkznege8OW05j7bSdM39VPoEps61Se4+hf32UQujmbvLvIE9+UnP6kNEPVomk0Fw8NsBK9iRQmw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-file-map@0.87.0: - resolution: {integrity: sha512-Dc57t8jsINwA90bbVlqaeDlxf1rVGgj5SmOEnOMbaHNUM/HCYYTJxPV8SRdOBwh7qTz/biO9vaQvBTjRBgbbsg==} + metro-file-map@0.87.1: + resolution: {integrity: sha512-9sPuNCojC3pS4vj+ZPY7FXmHGpdJeckXuKXQrDAfJvZc60AF8owRFTkI8XdwlwrmPIB2w++KraK9FMEXvC4wJw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-minify-terser@0.87.0: - resolution: {integrity: sha512-tPa0O983PDutFu3LXbArRH5NduogcKrvW6fs9VHhksTKUA1iqDyoD1ZSj/Me52xJ6T9/9pOwIVyj9ulKc/zMkg==} + metro-minify-terser@0.87.1: + resolution: {integrity: sha512-YK4k1oO1wV48hfE+Nbw2rJCnAgeabzrgT/xH5ha5n9gbK4p3HYFC898cERUiyTl9vRh58CNTiXRc88f7y6PfKg==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-resolver@0.87.0: - resolution: {integrity: sha512-Xl3M9R3KToaHJvXlI2lSOxtYHitzxite+195DSi00HL9PcS7Xik5+3xlRjfkKb3FA86SZxYPj+WJwlcfgaZoxg==} + metro-resolver@0.87.1: + resolution: {integrity: sha512-FXH/brY69wT6sPxaSW8BhMmDGD/6irmBr/cL4rUi+VWwqR3pbvdcfUOfyjcHucgQ7pe5IW3xJY21eHKLVKNumQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-runtime@0.87.0: - resolution: {integrity: sha512-XsXZkgEwI0ZMYSBfvOMAbenzwa60XlObXJ27g6/Khgrz9ESbiBbAsd7hR62G2jRBYOhGAzG61Gk22dpRJj/mdw==} + metro-runtime@0.87.1: + resolution: {integrity: sha512-kjeuSvInsM6OzBjkCQsWxnkrKZFMKtnkCl38oXWRI9lDGs2L9hGs9Tak9sQYJ9h3gtDujneB7wZio+irgqJKDw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-source-map@0.87.0: - resolution: {integrity: sha512-31BrYqu1c2co93rF1LN9Pw+7g+BrfDyxJkNQWrYm+pfA/+eVYVumF7tFMHbXLePLmHfhvSgVvbK6su1Oyiw1ng==} + metro-source-map@0.87.1: + resolution: {integrity: sha512-Bqpm0PBGdy53pigIJb4HRF7QxD2pUOdgSmVh/4AWbP635kSCv+Y6ltVxUZgSnzS/QbSmzyCGijmRPlXMj2/qHw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-symbolicate@0.87.0: - resolution: {integrity: sha512-uOpTxAXu74N+RSujUZ78L6gjI6bDdnz6XuW+AIUNuubZDEQPIpaX0StzIb0GMeQWP6zfHOHwFrWPP5Iquu1GXw==} + metro-symbolicate@0.87.1: + resolution: {integrity: sha512-rcGvwabrg0lbXGRGRKl14PY3My3+dkno2jZYhdJEuH2DmjTtTkV5bYwgto4JtV/Lbe+sXE6GO1UGg654430uow==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} hasBin: true - metro-transform-plugins@0.87.0: - resolution: {integrity: sha512-i8keUe9+BaSwMuQM26DGheElCpTtflAKIrSwJAm8ZsgDb50RAUQus+e6zt2suaJXJ1OxZa7vqgtqoZxdniM6Fw==} + metro-transform-plugins@0.87.1: + resolution: {integrity: sha512-qMiJ/x+VfqumFJJSefKS6nj8uojzC29b2/aK8vlMuFABIqGjDucICEOXd2Yt6k/XMFAgAcaJvShUOT0HLyYaPw==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro-transform-worker@0.87.0: - resolution: {integrity: sha512-YftLzNJxCTYxEN5k4AzR8KYwiENTEuz30L+4QeoMrtDd+U8mDThZg/ArR3JVRd8LaikwPOjVAS5SP3xPJN0AaA==} + metro-transform-worker@0.87.1: + resolution: {integrity: sha512-VOzs3OV405FuOLYdAhqA2wsn1F9lvueDVxMDLvCKaQ44U+yknIqphJ9eMjjsGwLDZiJq9sW3DMLhjD27JxQgqQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} - metro@0.87.0: - resolution: {integrity: sha512-fRqFhSzQhLNQSCvJFeuRzBRXAOOKXf1O8d2cvmMtG6yFR0jCllQ7vBsXoLP18yuqtf+N1XwWXTPF11eWy9q6dQ==} + metro@0.87.1: + resolution: {integrity: sha512-1oyLU9elM7hPAsKIqKooEekwxiuWr27+MZBhUROPhzcbXhMDxK64GPF/hCXwBZVp1F89ODavCrBmJtLx9WtBoQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} hasBin: true @@ -10315,11 +10300,6 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} @@ -10384,6 +10364,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanotar@0.3.0: resolution: {integrity: sha512-Kv2JYYiCzt16Kt5QwAc9BFG89xfPNBx+oQL4GQXD9nLqPkZBiNaqaCWtwnbk/q7UVsTYevvM1b0UF8zmEI4pCg==} @@ -10417,8 +10402,8 @@ packages: resolution: {integrity: sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==} engines: {node: '>= 10'} - next@16.3.6: - resolution: {integrity: sha512-L+otWM/aQbYTx98aZhgEoMb4bZAXx1YVW4UMA/vuCyCoWG5HJyZUili8QAkqzrcC+5///tsz3s0M+SlyB5bLMw==} + next@16.3.8: + resolution: {integrity: sha512-U7QEZaTini6wKrb8A8hqLLqYQyCetegKjCpJOyxk642vWoMoU1x5PyZCJFvgYgiptA8xc5j/9xYlZFO7w9Sjmw==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -10604,8 +10589,8 @@ packages: engines: {node: '>=18'} hasBin: true - ob1@0.87.0: - resolution: {integrity: sha512-8Q8sKCiUwsxgSmjDtVWyRgmxsgeJXXam3oQH6Id8ADfNaJMV6GZKyeAl8+pGVVdgwAZabfk5+aExle7AP/nZiA==} + ob1@0.87.1: + resolution: {integrity: sha512-i8iA8uij0g1YQzS8uOJPSRCgwDjO9warIHUAu1Fqj877Wc3wlfxDYBioYWgKTBF2+URVJttyDWSEpmd99nlvtQ==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} object-assign@4.1.1: @@ -10699,9 +10684,9 @@ packages: resolution: {integrity: sha512-RWqF+pBSkqecEvCKOn8QYhaNdRMJDZRIrlS/7rTDdLHaPcfXGCZ/h8zb413NfvdeAV0MR7T1yJcA34/q+CSm1Q==} engines: {node: '>=20'} - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} openai@7.9.0: resolution: {integrity: sha512-Qfx4qKmPllnilbuP6NgEj5KPUxLShYxrlRPWh3ZRQgNgs5B1V52PrfAdEQbW9MTGq7MquDYFMm+K/KXxiY736w==} @@ -11206,6 +11191,10 @@ packages: resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.30: + resolution: {integrity: sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==} + engines: {node: ^10 || ^12 || >=14} + powershell-utils@0.1.0: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} @@ -11222,8 +11211,8 @@ packages: preact-render-to-string: optional: true - preact@11.0.0: - resolution: {integrity: sha512-LRTLKuSe6VYPhvBDjwFaX+nuZnpsw6IN2GSboisAvhGsncylBmrbDCERhgKDn6yP2mAwbGvsB5OVyTe33M8gBg==} + preact@11.0.1: + resolution: {integrity: sha512-TNNwEq++jYNHy747LziCjPRVgEwnLSOIOAw/oYcjI3Tdnubx2EXtt76I0an8PATvUWtx/DX1kFIg1eFN+O/fkw==} peerDependencies: preact-render-to-string: '>=6.7.0' peerDependenciesMeta: @@ -11331,9 +11320,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - queue@6.0.2: - resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} - radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} @@ -11355,10 +11341,10 @@ packages: react-devtools-core@6.1.5: resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} - react-dom@19.3.0: - resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} + react-dom@19.3.1: + resolution: {integrity: sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==} peerDependencies: - react: ^19.3.0 + react: ^19.3.1 react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} @@ -11372,13 +11358,13 @@ packages: react: '*' react-native: '*' - react-native@0.87.1: - resolution: {integrity: sha512-DJKG6ANoD7BtrE4z9DewiSD7/RxCX73lK5Pu49aUr85P3333Dm2roTiP0rRjQNDZdVizHSOmstWfwF/o9EjCRA==} + react-native@0.88.0: + resolution: {integrity: sha512-v/wee0nYWcammMYBnSat/e3WY/5iaf9YQOMcBrfKT/wPApPPlHp94hgZovBtwhMuthR01yc/8cGn0FpFTE/C4A==} engines: {node: ^22.13.0 || ^24.3.0 || >= 26.0.0} hasBin: true peerDependencies: '@types/react': ^19.1.1 - react: ^19.2.3 + react: ^19.3.0 peerDependenciesMeta: '@types/react': optional: true @@ -11401,8 +11387,8 @@ packages: react-dom: optional: true - react@19.3.0: - resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} + react@19.3.1: + resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==} engines: {node: '>=0.10.0'} readable-stream@2.3.8: @@ -11985,9 +11971,6 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - scheduler@0.28.0: resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} @@ -12071,8 +12054,8 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - sharp@0.35.4: - resolution: {integrity: sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==} + sharp@0.35.5: + resolution: {integrity: sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==} engines: {node: '>=20.9.0'} peerDependencies: '@types/node': '*' @@ -12182,6 +12165,10 @@ packages: resolution: {integrity: sha512-62bYOI4JZ15KOqL5eReKyWSwAXrGb0fbX8SDnHsbJk2UX+SzSyy1gobas2cxW/0BXcobGfQ1V6ffPyQkMIBdoQ==} engines: {node: '>=22.12.0'} + solid-js@2.0.0-rc.15: + resolution: {integrity: sha512-HXiWAEG5Rjp5C7reElUlvdriIadcbpwWwVdztTf0wuxeirw49rGuIzVbSRn06p6GjlINwi5d24Z46b478hNdvw==} + engines: {node: '>=22.12.0'} + solid-refresh@0.6.3: resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} peerDependencies: @@ -12252,9 +12239,6 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - srvx@0.11.22: resolution: {integrity: sha512-LqZxxBDMKuMAZzFzJnDCkFOrs9MZQZr0LvHiO/SuSZVdQaXD7xQ5UWTUxheJrQPve1qk9MG2B/yttUvJxw8egQ==} engines: {node: '>=20.16.0'} @@ -12503,8 +12487,8 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 || ^6.0.0 - svelte@5.57.1: - resolution: {integrity: sha512-Uqj49lWKB+iSSnneuwiYYJ7MZgkB+eXr0LXBhv4uDuAkXqnWmq65Sxflfvp0Lc6MdKjMUxGaeOKWJqz5SNiVIA==} + svelte@5.57.2: + resolution: {integrity: sha512-1YiPCAXT0Ct6g1vOMmSLa0Nsc3QRMvtDF32ihgglGVrugIuIK38RyDiFNXVDhtQ81TJjSO57NdMw6DyYLqSGDQ==} engines: {node: '>=18'} svg-path-commander@2.3.3: @@ -12648,9 +12632,6 @@ packages: resolution: {integrity: sha512-aBiNayCfTQxuIJBm06M+xR14cYaYlDlSXZbgsnKzKNxDKUVq7KFwTjwBSsb7m9Y5xO8WfPnBc63WaYFMTGlvqw==} hasBin: true - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -12703,20 +12684,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -13101,9 +13068,6 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - valibot@1.4.2: resolution: {integrity: sha512-gjdCvJ6d3RyHAneqxMYMW9QMCwYMb3jpOO0IyHZV1bnRHFBHrX3VkIILt5XYR0WhwHiH7Mty8ovuPZ/O3gamrg==} peerDependencies: @@ -13341,6 +13305,12 @@ packages: solid-js: ^1.8.0 vitest: 5.0.3 + vitest-browser-svelte@3.1.0: + resolution: {integrity: sha512-+EBXSed6NArmzOC2DY4v9sI5n9TMIyfkMnewbXNQ7sR5IckQTCx7g1BbLdkH7kzm/tkgG/eEbRYlMWSbVfBtWA==} + peerDependencies: + svelte: ^3 || ^4 || ^5 || ^5.0.0-next.0 + vitest: 5.0.3 + vitest-browser-vue@3.1.0: resolution: {integrity: sha512-HTWGzixoI9sSPb9LVuPOKtGy7URS6ipAIOiLD9ofdW/zgT3XGngXbMAJ3U9H/w1A6LWj4waGpYZsd3RPm8zPkw==} peerDependencies: @@ -13532,8 +13502,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.43: - resolution: {integrity: sha512-o5qZoksdnjIKvW1srZ3ab7pcDNYAerBjRe54D0LBLfRdCYFrSgBHVXokMas35czQc0//lmx4/tuY4ZNQ+Rf2Ng==} + vue@3.5.44: + resolution: {integrity: sha512-dvvmaOCG7lAMkJTPqPwWeGMsPS6DIsFsfZDUgBp9V6mHf9b3+/wyVwYR4Es+WV6uJC0FKRxp81Obcq0ZwUcGFQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -13547,9 +13517,6 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - weak-lru-cache@1.2.2: resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} @@ -13803,10 +13770,6 @@ packages: resolution: {integrity: sha512-FemWD5/UqNm8ffj8oZIbjWXIF2KE0mZssggYpdaQkWDDgXBQ/35PNIxEuz6/YLn9o0kOxDBNJe8x8k9ljD7k/g==} engines: {node: '>=18.16.0'} - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -14014,9 +13977,9 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/architect@0.2202.1(chokidar@5.0.0)': + '@angular-devkit/architect@0.2202.2(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.1(chokidar@5.0.0) + '@angular-devkit/core': 22.2.2(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar @@ -14032,7 +13995,7 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/core@22.2.1(chokidar@5.0.0)': + '@angular-devkit/core@22.2.2(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -14053,9 +14016,9 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/schematics@22.2.1(chokidar@5.0.0)': + '@angular-devkit/schematics@22.2.2(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.1(chokidar@5.0.0) + '@angular-devkit/core': 22.2.2(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.4.1 ora: 9.4.1 @@ -14126,12 +14089,12 @@ snapshots: eslint: 10.9.1(jiti@2.7.0)(supports-color@10.2.2) typescript: 6.0.3 - '@angular/build@22.2.1(4fe699dac9f74a085943f7846f868ee2)': + '@angular/build@22.2.2(ed83dc4175aaa0420ee2da27c8c9f5a3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2202.1(chokidar@5.0.0) - '@angular/compiler': 22.2.1 - '@angular/compiler-cli': 22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2202.2(chokidar@5.0.0) + '@angular/compiler': 22.2.2 + '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) '@babel/core': 8.0.5 '@inquirer/confirm': 6.3.2(@types/node@26.4.1) '@parcel/watcher': 2.6.0 @@ -14160,13 +14123,13 @@ snapshots: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.104.1)(sass@1.104.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) xxhash-wasm: 1.1.0 optionalDependencies: - '@angular/core': 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)) - '@angular/platform-server': 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.2.1)(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + '@angular/platform-server': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.1(supports-color@10.2.2) lmdb: 3.5.6 - ng-packagr: 22.2.4(@angular/compiler-cli@22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3))(@volar/typescript@2.4.28(typescript@6.0.3))(@vue/language-core@3.3.11)(supports-color@10.2.2)(tslib@2.8.1)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3)) + ng-packagr: 22.2.4(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@volar/typescript@2.4.28(typescript@6.0.3))(@vue/language-core@3.3.11)(supports-color@10.2.2)(tslib@2.8.1)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3)) postcss: 8.5.28 rollup: 4.63.1 vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.104.1)(sass@1.104.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) @@ -14182,15 +14145,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.2.1(@types/node@26.4.1)(chokidar@5.0.0)': + '@angular/cli@22.2.2(@types/node@26.4.1)(chokidar@5.0.0)': dependencies: - '@angular-devkit/architect': 0.2202.1(chokidar@5.0.0) - '@angular-devkit/core': 22.2.1(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.1(chokidar@5.0.0) + '@angular-devkit/architect': 0.2202.2(chokidar@5.0.0) + '@angular-devkit/core': 22.2.2(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) '@inquirer/prompts': 8.7.2(@types/node@26.4.1) '@listr2/prompt-adapter-inquirer': 4.2.7(@inquirer/prompts@8.7.2(@types/node@26.4.1))(@types/node@26.4.1)(listr2@11.1.0) - '@modelcontextprotocol/server': 2.0.0 - '@schematics/angular': 22.2.1(chokidar@5.0.0) + '@modelcontextprotocol/server': 2.3.1 + '@schematics/angular': 22.2.2(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.1.0 npm-package-arg: 14.0.0 @@ -14202,15 +14165,15 @@ snapshots: - '@types/node' - chokidar - '@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2)': + '@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2)': dependencies: - '@angular/core': 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) + '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) rxjs: 7.8.2 tslib: 2.8.1 - '@angular/compiler-cli@22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3)': + '@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3)': dependencies: - '@angular/compiler': 22.2.1 + '@angular/compiler': 22.2.2 '@babel/core': 8.0.1 '@jridgewell/sourcemap-codec': 1.6.0 chokidar: 5.0.0 @@ -14222,48 +14185,48 @@ snapshots: optionalDependencies: typescript: 6.0.3 - '@angular/compiler@22.2.1': + '@angular/compiler@22.2.2': dependencies: tslib: 2.8.1 - '@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)': + '@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)': dependencies: rxjs: 7.8.2 tslib: 2.8.1 optionalDependencies: - '@angular/compiler': 22.2.1 + '@angular/compiler': 22.2.2 - '@angular/forms@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)) + '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) '@standard-schema/spec': 1.1.0 rxjs: 7.8.2 tslib: 2.8.1 zod: 4.6.5 - '@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))': + '@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))': dependencies: - '@angular/common': 22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) + '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) tslib: 2.8.1 - '@angular/platform-server@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.2.1)(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/platform-server@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/compiler': 22.2.1 - '@angular/core': 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)) + '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/compiler': 22.2.2 + '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) rxjs: 7.8.2 tslib: 2.8.1 xhr2: 0.2.1 - '@angular/router@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(@angular/platform-browser@22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/router@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.1(@angular/common@22.2.1(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.1(@angular/compiler@22.2.1)(rxjs@7.8.2)) + '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) rxjs: 7.8.2 tslib: 2.8.1 @@ -14455,7 +14418,7 @@ snapshots: '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/template': 7.29.7 '@babel/traverse': 7.29.8(supports-color@10.2.2) '@babel/types': 7.29.8 @@ -14670,6 +14633,10 @@ snapshots: dependencies: '@babel/types': 7.29.8 + '@babel/parser@7.29.9': + dependencies: + '@babel/types': 7.29.8 + '@babel/parser@8.0.6': dependencies: '@babel/types': 8.0.6 @@ -15637,11 +15604,6 @@ snapshots: '@cspell/url@10.2.0': {} - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - optional: true - '@csstools/color-helpers@6.1.1': {} '@csstools/css-calc@3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': @@ -15668,9 +15630,9 @@ snapshots: '@docsearch/css@3.8.2': {} - '@docsearch/js@3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.8.2)': + '@docsearch/js@3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(search-insights@2.8.2)': dependencies: - '@docsearch/react': 3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.8.2) + '@docsearch/react': 3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(search-insights@2.8.2) preact: 10.29.8 transitivePeerDependencies: - '@algolia/client-search' @@ -15680,7 +15642,7 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.8.2)': + '@docsearch/react@3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(search-insights@2.8.2)': dependencies: '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.57.0)(algoliasearch@5.57.0)(search-insights@2.8.2) '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.57.0)(algoliasearch@5.57.0) @@ -15688,8 +15650,8 @@ snapshots: algoliasearch: 5.57.0 optionalDependencies: '@types/react': 19.3.0 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) search-insights: 2.8.2 transitivePeerDependencies: - '@algolia/client-search' @@ -15707,11 +15669,11 @@ snapshots: '@dxup/nuxt@0.5.10(esbuild@0.28.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@dxup/unimport': 0.1.2 - '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) - '@vue/compiler-dom': 3.5.43 + '@nuxt/kit': 4.5.2(magic-string@1.4.3)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) + '@vue/compiler-dom': 3.5.44 chokidar: 5.0.0 knitwork: 1.3.0 - magic-string: 1.4.2 + magic-string: 1.4.3 pathe: 2.0.3 tinyglobby: 0.2.17 unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) @@ -15965,19 +15927,19 @@ snapshots: '@floating-ui/utils@0.2.12': {} - '@floating-ui/vue@2.0.1(vue@3.5.43(typescript@6.0.3))': + '@floating-ui/vue@2.0.1(vue@3.5.44(typescript@6.0.3))': dependencies: '@floating-ui/dom': 1.8.0 '@floating-ui/utils': 0.2.12 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@harperfast/extended-iterable@1.0.3': optional: true - '@headlessui/vue@1.7.23(vue@3.5.43(typescript@6.0.3))': + '@headlessui/vue@1.7.23(vue@3.5.44(typescript@6.0.3))': dependencies: - '@tanstack/vue-virtual': 3.13.36(vue@3.5.43(typescript@6.0.3)) - vue: 3.5.43(typescript@6.0.3) + '@tanstack/vue-virtual': 3.13.36(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) '@html-eslint/core@0.65.0': dependencies: @@ -16056,108 +16018,108 @@ snapshots: '@img/colour@1.1.0': {} - '@img/sharp-darwin-arm64@0.35.4': + '@img/sharp-darwin-arm64@0.35.5': optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.3.3 + '@img/sharp-libvips-darwin-arm64': 1.3.4 optional: true - '@img/sharp-darwin-x64@0.35.4': + '@img/sharp-darwin-x64@0.35.5': optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.3.3 + '@img/sharp-libvips-darwin-x64': 1.3.4 optional: true - '@img/sharp-freebsd-wasm32@0.35.4': + '@img/sharp-freebsd-wasm32@0.35.5': dependencies: - '@img/sharp-wasm32': 0.35.4 + '@img/sharp-wasm32': 0.35.5 optional: true - '@img/sharp-libvips-darwin-arm64@1.3.3': + '@img/sharp-libvips-darwin-arm64@1.3.4': optional: true - '@img/sharp-libvips-darwin-x64@1.3.3': + '@img/sharp-libvips-darwin-x64@1.3.4': optional: true - '@img/sharp-libvips-linux-arm64@1.3.3': + '@img/sharp-libvips-linux-arm64@1.3.4': optional: true - '@img/sharp-libvips-linux-arm@1.3.3': + '@img/sharp-libvips-linux-arm@1.3.4': optional: true - '@img/sharp-libvips-linux-ppc64@1.3.3': + '@img/sharp-libvips-linux-ppc64@1.3.4': optional: true - '@img/sharp-libvips-linux-riscv64@1.3.3': + '@img/sharp-libvips-linux-riscv64@1.3.4': optional: true - '@img/sharp-libvips-linux-s390x@1.3.3': + '@img/sharp-libvips-linux-s390x@1.3.4': optional: true - '@img/sharp-libvips-linux-x64@1.3.3': + '@img/sharp-libvips-linux-x64@1.3.4': optional: true - '@img/sharp-libvips-linuxmusl-arm64@1.3.3': + '@img/sharp-libvips-linuxmusl-arm64@1.3.4': optional: true - '@img/sharp-libvips-linuxmusl-x64@1.3.3': + '@img/sharp-libvips-linuxmusl-x64@1.3.4': optional: true - '@img/sharp-linux-arm64@0.35.4': + '@img/sharp-linux-arm64@0.35.5': optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.3.3 + '@img/sharp-libvips-linux-arm64': 1.3.4 optional: true - '@img/sharp-linux-arm@0.35.4': + '@img/sharp-linux-arm@0.35.5': optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.3.3 + '@img/sharp-libvips-linux-arm': 1.3.4 optional: true - '@img/sharp-linux-ppc64@0.35.4': + '@img/sharp-linux-ppc64@0.35.5': optionalDependencies: - '@img/sharp-libvips-linux-ppc64': 1.3.3 + '@img/sharp-libvips-linux-ppc64': 1.3.4 optional: true - '@img/sharp-linux-riscv64@0.35.4': + '@img/sharp-linux-riscv64@0.35.5': optionalDependencies: - '@img/sharp-libvips-linux-riscv64': 1.3.3 + '@img/sharp-libvips-linux-riscv64': 1.3.4 optional: true - '@img/sharp-linux-s390x@0.35.4': + '@img/sharp-linux-s390x@0.35.5': optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.3.3 + '@img/sharp-libvips-linux-s390x': 1.3.4 optional: true - '@img/sharp-linux-x64@0.35.4': + '@img/sharp-linux-x64@0.35.5': optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.3.3 + '@img/sharp-libvips-linux-x64': 1.3.4 optional: true - '@img/sharp-linuxmusl-arm64@0.35.4': + '@img/sharp-linuxmusl-arm64@0.35.5': optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.3.3 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.4 optional: true - '@img/sharp-linuxmusl-x64@0.35.4': + '@img/sharp-linuxmusl-x64@0.35.5': optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.3.3 + '@img/sharp-libvips-linuxmusl-x64': 1.3.4 optional: true - '@img/sharp-wasm32@0.35.4': + '@img/sharp-wasm32@0.35.5': dependencies: '@emnapi/runtime': 1.11.3 optional: true - '@img/sharp-webcontainers-wasm32@0.35.4': + '@img/sharp-webcontainers-wasm32@0.35.5': dependencies: - '@img/sharp-wasm32': 0.35.4 + '@img/sharp-wasm32': 0.35.5 optional: true - '@img/sharp-win32-arm64@0.35.4': + '@img/sharp-win32-arm64@0.35.5': optional: true - '@img/sharp-win32-ia32@0.35.4': + '@img/sharp-win32-ia32@0.35.5': optional: true - '@img/sharp-win32-x64@0.35.4': + '@img/sharp-win32-x64@0.35.5': optional: true '@inquirer/ansi@2.0.8': {} @@ -16559,12 +16521,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.6.0 - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.6.0 - optional: true - '@kwsites/file-exists@1.1.1(supports-color@10.2.2)': dependencies: debug: 4.4.3(supports-color@10.2.2) @@ -16645,13 +16601,13 @@ snapshots: '@marijn/find-cluster-break@1.0.4': {} - '@modelcontextprotocol/core@2.0.0': + '@modelcontextprotocol/core@2.3.1': dependencies: zod: 4.6.5 - '@modelcontextprotocol/server@2.0.0': + '@modelcontextprotocol/server@2.3.1': dependencies: - '@modelcontextprotocol/core': 2.0.0 + '@modelcontextprotocol/core': 2.3.1 zod: 4.6.5 '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': @@ -16774,30 +16730,30 @@ snapshots: '@emnapi/runtime': 1.11.3 '@tybys/wasm-util': 0.10.3 - '@next/env@16.3.6': {} + '@next/env@16.3.8': {} - '@next/swc-darwin-arm64@16.3.6': + '@next/swc-darwin-arm64@16.3.8': optional: true - '@next/swc-darwin-x64@16.3.6': + '@next/swc-darwin-x64@16.3.8': optional: true - '@next/swc-linux-arm64-gnu@16.3.6': + '@next/swc-linux-arm64-gnu@16.3.8': optional: true - '@next/swc-linux-arm64-musl@16.3.6': + '@next/swc-linux-arm64-musl@16.3.8': optional: true - '@next/swc-linux-x64-gnu@16.3.6': + '@next/swc-linux-x64-gnu@16.3.8': optional: true - '@next/swc-linux-x64-musl@16.3.6': + '@next/swc-linux-x64-musl@16.3.8': optional: true - '@next/swc-win32-arm64-msvc@16.3.6': + '@next/swc-win32-arm64-msvc@16.3.8': optional: true - '@next/swc-win32-x64-msvc@16.3.6': + '@next/swc-win32-x64-msvc@16.3.8': optional: true '@nodelib/fs.scandir@2.1.5': @@ -16890,12 +16846,12 @@ snapshots: pkg-types: 2.3.2 semver: 7.8.5 - '@nuxt/devtools@3.4.2(@vercel/blob@2.8.0)(db0@0.4.1)(ioredis@5.11.1(supports-color@10.2.2))(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3))': + '@nuxt/devtools@3.4.2(@vercel/blob@2.8.0)(db0@0.4.1)(ioredis@5.11.1(supports-color@10.2.2))(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3))': dependencies: '@nuxt/devtools-kit': 3.4.2(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@nuxt/devtools-wizard': 3.4.2 '@nuxt/kit': 4.5.2(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) - '@vue/devtools-core': 8.2.1(vue@3.5.43(typescript@6.0.3)) + '@vue/devtools-core': 8.2.1(vue@3.5.44(typescript@6.0.3)) '@vue/devtools-kit': 8.2.1 birpc: 4.2.0 consola: 3.4.2 @@ -16923,7 +16879,7 @@ snapshots: unstorage: 1.17.5(@vercel/blob@2.8.0)(db0@0.4.1)(ioredis@5.11.1(supports-color@10.2.2)) vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vite-plugin-inspect: 11.4.1(@nuxt/kit@4.5.2(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - vite-plugin-vue-tracer: 1.5.0(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + vite-plugin-vue-tracer: 1.5.0(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) which: 6.0.1 ws: 8.21.3 transitivePeerDependencies: @@ -17015,12 +16971,42 @@ snapshots: - rolldown - unplugin - '@nuxt/nitro-server@4.5.1(65327837dec16c59f3f5f31d95e55e72)': + '@nuxt/kit@4.5.2(magic-string@1.4.3)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))': + dependencies: + c12: 3.3.4(magicast@0.5.4) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.2 + exsolve: 1.1.1 + ignore: 7.0.8 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + nostics: 1.3.0 + ohash: 2.0.12 + pathe: 2.0.3 + pkg-types: 2.3.2 + rc9: 3.1.0 + scule: 1.3.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 3.0.1(magic-string@1.4.3)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) + untyped: 2.0.0 + verkit: 0.3.2 + transitivePeerDependencies: + - magic-string + - magicast + - oxc-parser + - rolldown + - unplugin + + '@nuxt/nitro-server@4.5.1(c5e45d7509f829f91ad486a7b6f7d61d)': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.5.1(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) - '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) - '@vue/shared': 3.5.43 + '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) + '@vue/shared': 3.5.44 consola: 3.4.2 defu: 6.1.7 destr: 2.0.5 @@ -17034,7 +17020,7 @@ snapshots: mocked-exports: 0.1.1 nitropack: 2.13.4(@parcel/watcher@2.6.0)(@vercel/blob@2.8.0)(encoding@0.1.13)(oxc-parser@0.150.0)(rolldown@1.2.12)(srvx@1.0.5)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(xml2js@0.6.2) nostics: 1.3.0 - nuxt: 4.5.1(b53531fa9d3cd6e74ecb137ed5477214) + nuxt: 4.5.1(3f8bd1df2e23a886b4cf62a075f0d37e) nypm: 0.6.10 ohash: 2.0.12 pathe: 2.0.3 @@ -17043,7 +17029,7 @@ snapshots: ufo: 1.6.4 unctx: 3.0.1(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) unstorage: 1.17.5(@vercel/blob@2.8.0)(db0@0.4.1)(ioredis@5.11.1(supports-color@10.2.2)) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vue-bundle-renderer: 2.4.0 vue-devtools-stub: 0.1.0 optionalDependencies: @@ -17104,7 +17090,7 @@ snapshots: '@nuxt/schema@4.5.1': dependencies: - '@vue/shared': 3.5.43 + '@vue/shared': 3.5.44 defu: 6.1.7 nostics: 1.3.0 pathe: 2.0.3 @@ -17119,11 +17105,11 @@ snapshots: rc9: 3.1.0 std-env: 4.2.0 - '@nuxt/vite-builder@4.5.1(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@types/node@26.4.1)(esbuild@0.28.2)(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(magic-string@1.4.2)(magicast@0.5.4)(meow@14.1.0)(nuxt@4.5.1(b53531fa9d3cd6e74ecb137ed5477214))(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.63.1))(rollup@4.63.1)(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3))(vue@3.5.43(typescript@6.0.3))(yaml@2.9.0)': + '@nuxt/vite-builder@4.5.1(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@types/node@26.4.1)(esbuild@0.28.2)(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(magic-string@1.4.2)(magicast@0.5.4)(meow@14.1.0)(nuxt@4.5.1(3f8bd1df2e23a886b4cf62a075f0d37e))(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.63.1))(rollup@4.63.1)(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3))(vue@3.5.44(typescript@6.0.3))(yaml@2.9.0)': dependencies: '@nuxt/kit': 4.5.1(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) - '@vitejs/plugin-vue': 6.0.9(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.10(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) autoprefixer: 10.6.1(postcss@8.5.28) consola: 3.4.2 cssnano: 8.0.10(postcss@8.5.28) @@ -17137,7 +17123,7 @@ snapshots: knitwork: 1.3.0 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.5.1(b53531fa9d3cd6e74ecb137ed5477214) + nuxt: 4.5.1(3f8bd1df2e23a886b4cf62a075f0d37e) nypm: 0.6.10 pathe: 2.0.3 pkg-types: 2.3.2 @@ -17151,7 +17137,7 @@ snapshots: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vite-node: 6.0.0(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vite-plugin-checker: 0.14.5(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(meow@14.1.0)(optionator@0.9.4)(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue-tsc@3.3.11(typescript@6.0.3)) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vue-bundle-renderer: 2.4.0 optionalDependencies: '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) @@ -17605,12 +17591,12 @@ snapshots: '@poppinss/exception@1.2.3': {} - '@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@11.0.0)(rollup@4.63.1)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@10.2.2))(preact@11.0.1)(rollup@4.63.1)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) - '@prefresh/vite': 2.4.12(preact@11.0.0)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@prefresh/vite': 2.4.12(preact@11.0.1)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@rollup/pluginutils': 5.4.0(rollup@4.63.1) babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7(supports-color@10.2.2)) debug: 4.4.3(supports-color@10.2.2) @@ -17626,52 +17612,53 @@ snapshots: '@prefresh/babel-plugin@0.5.3': {} - '@prefresh/core@1.5.11(preact@11.0.0)': + '@prefresh/core@1.5.11(preact@11.0.1)': dependencies: - preact: 11.0.0 + preact: 11.0.1 '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.12(preact@11.0.0)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@prefresh/vite@2.4.12(preact@11.0.1)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@prefresh/babel-plugin': 0.5.3 - '@prefresh/core': 1.5.11(preact@11.0.0) + '@prefresh/core': 1.5.11(preact@11.0.1) '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 - preact: 11.0.0 + preact: 11.0.1 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) transitivePeerDependencies: - supports-color - '@react-native/asset-utils@0.87.1': {} + '@react-native/asset-utils@0.88.0': {} - '@react-native/codegen@0.87.1(@babel/core@8.0.5)': + '@react-native/codegen@0.88.0(@babel/core@8.0.5)': dependencies: '@babel/core': 8.0.5 '@babel/parser': 7.29.8 - hermes-parser: 0.36.1 + flow-parser: 0.327.0 invariant: 2.2.4 nullthrows: 1.1.1 tinyglobby: 0.2.17 yargs: 17.7.3 - '@react-native/community-cli-plugin@0.87.1(supports-color@10.2.2)': + '@react-native/community-cli-plugin@0.88.0(supports-color@10.2.2)': dependencies: - '@react-native/asset-utils': 0.87.1 - '@react-native/dev-middleware': 0.87.1(supports-color@10.2.2) + '@react-native/asset-utils': 0.88.0 + '@react-native/dev-middleware': 0.88.0(supports-color@10.2.2) + commander: 12.1.0 debug: 4.4.3(supports-color@10.2.2) invariant: 2.2.4 - metro: 0.87.0(supports-color@10.2.2) + metro: 0.87.1(supports-color@10.2.2) semver: 7.8.5 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.87.1': {} + '@react-native/debugger-frontend@0.88.0': {} - '@react-native/debugger-shell@0.87.1(supports-color@10.2.2)': + '@react-native/debugger-shell@0.88.0(supports-color@10.2.2)': dependencies: cross-spawn: 7.0.5 debug: 4.4.3(supports-color@10.2.2) @@ -17679,18 +17666,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-native/dev-middleware@0.87.1(supports-color@10.2.2)': + '@react-native/dev-middleware@0.88.0(supports-color@10.2.2)': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.87.1 - '@react-native/debugger-shell': 0.87.1(supports-color@10.2.2) - chrome-launcher: 0.15.2(supports-color@10.2.2) - chromium-edge-launcher: 0.3.0(supports-color@10.2.2) + '@react-native/debugger-frontend': 0.88.0 + '@react-native/debugger-shell': 0.88.0(supports-color@10.2.2) connect: 3.7.0(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2) invariant: 2.2.4 nullthrows: 1.1.1 - open: 7.4.2 + open: 8.4.2 serve-static: 1.16.3(supports-color@10.2.2) ws: 7.5.13 transitivePeerDependencies: @@ -17698,27 +17683,27 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.87.1': {} + '@react-native/gradle-plugin@0.88.0': {} - '@react-native/normalize-colors@0.87.1': {} + '@react-native/normalize-colors@0.88.0': {} - '@react-native/virtualized-lists@0.87.1(@types/react@19.3.0)(react-native@0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0)': + '@react-native/virtualized-lists@0.88.0(@types/react@19.3.0)(react-native@0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react: 19.3.0 - react-native: 0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2) + react: 19.3.1 + react-native: 0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2) optionalDependencies: '@types/react': 19.3.0 - '@react-router/dev@8.3.1(@react-router/serve@8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3))(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@react-router/dev@8.3.1(@react-router/serve@8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3))(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/generator': 7.29.8 '@babel/parser': 7.29.8 '@babel/traverse': 7.29.8(supports-color@10.2.2) '@babel/types': 7.29.8 - '@react-router/node': 8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3) + '@react-router/node': 8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3) '@remix-run/node-fetch-server': 0.14.1 babel-dead-code-elimination: 1.0.12(supports-color@10.2.2) chokidar: 5.0.0 @@ -17733,42 +17718,42 @@ snapshots: picocolors: 1.1.1 pkg-types: 2.3.2 react-refresh: 0.18.0 - react-router: 8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1) semver: 7.8.5 tinyglobby: 0.2.17 valibot: 1.4.2(typescript@6.0.3) vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) optionalDependencies: - '@react-router/serve': 8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3) + '@react-router/serve': 8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - babel-plugin-macros - supports-color - '@react-router/express@8.3.1(express@5.2.1(supports-color@10.2.2))(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3)': + '@react-router/express@8.3.1(express@5.2.1(supports-color@10.2.2))(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3)': dependencies: - '@react-router/node': 8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3) + '@react-router/node': 8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3) express: 5.2.1(supports-color@10.2.2) - react-router: 8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1) optionalDependencies: typescript: 6.0.3 - '@react-router/node@8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3)': + '@react-router/node@8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3)': dependencies: '@remix-run/node-fetch-server': 0.14.1 - react-router: 8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1) optionalDependencies: typescript: 6.0.3 - '@react-router/serve@8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(supports-color@10.2.2)(typescript@6.0.3)': + '@react-router/serve@8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(supports-color@10.2.2)(typescript@6.0.3)': dependencies: - '@react-router/express': 8.3.1(express@5.2.1(supports-color@10.2.2))(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3) - '@react-router/node': 8.3.1(react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(typescript@6.0.3) + '@react-router/express': 8.3.1(express@5.2.1(supports-color@10.2.2))(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3) + '@react-router/node': 8.3.1(react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(typescript@6.0.3) '@remix-run/node-fetch-server': 0.14.1 compression: 1.8.1(supports-color@10.2.2) express: 5.2.1(supports-color@10.2.2) morgan: 1.12.0(supports-color@10.2.2) - react-router: 8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react-router: 8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1) source-map-support: 0.5.21 transitivePeerDependencies: - supports-color @@ -18075,10 +18060,10 @@ snapshots: '@rviscomi/capo.js@2.3.0': {} - '@schematics/angular@22.2.1(chokidar@5.0.0)': + '@schematics/angular@22.2.2(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.1(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.1(chokidar@5.0.0) + '@angular-devkit/core': 22.2.2(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) jsonc-parser: 3.3.1 oxc-parser: 0.150.0 typescript: 6.0.3 @@ -18243,6 +18228,8 @@ snapshots: '@solidjs/signals@2.0.0-rc.13': {} + '@solidjs/signals@2.0.0-rc.15': {} + '@solidjs/start@2.0.5(@solidjs/router@1.0.0(solid-js@1.9.15))(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(crossws@0.4.12(srvx@1.0.5))(ocache@0.3.0)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) @@ -18292,16 +18279,22 @@ snapshots: '@testing-library/dom': 10.4.1 solid-js: 2.0.0-rc.13 - '@solidjs/vite-plugin@3.0.0-next.35(@solidjs/web@2.0.0-rc.13(solid-js@2.0.0-rc.13))(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@2.0.0-rc.13)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@solidjs/testing-library@1.0.0-beta.3(@solidjs/web@2.0.0-rc.15(solid-js@2.0.0-rc.15))(solid-js@2.0.0-rc.15)': + dependencies: + '@solidjs/web': 2.0.0-rc.15(solid-js@2.0.0-rc.15) + '@testing-library/dom': 10.4.1 + solid-js: 2.0.0-rc.15 + + '@solidjs/vite-plugin@3.0.0-next.35(@solidjs/web@2.0.0-rc.15(solid-js@2.0.0-rc.15))(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@2.0.0-rc.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@ampproject/remapping': 2.3.0 '@babel/core': 7.29.7(supports-color@10.2.2) '@solidjs/babel-plugin': 2.0.0-rc.13(@babel/core@7.29.7(supports-color@10.2.2)) '@solidjs/compiler': 2.0.0-rc.13 - '@solidjs/web': 2.0.0-rc.13(solid-js@2.0.0-rc.13) + '@solidjs/web': 2.0.0-rc.15(solid-js@2.0.0-rc.15) '@types/babel__core': 7.20.5 merge-anything: 5.1.7 - solid-js: 2.0.0-rc.13 + solid-js: 2.0.0-rc.15 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vitefu: 1.1.3(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) optionalDependencies: @@ -18334,140 +18327,108 @@ snapshots: seroval-plugins: 1.6.7(seroval@1.6.7) solid-js: 2.0.0-rc.13 + '@solidjs/web@2.0.0-rc.15(solid-js@2.0.0-rc.15)': + dependencies: + seroval: 1.6.7 + seroval-plugins: 1.6.7(seroval@1.6.7) + solid-js: 2.0.0-rc.15 + '@speed-highlight/core@1.2.24': {} '@standard-schema/spec@1.1.0': {} '@stitches/core@1.2.8': {} - '@sveltejs/acorn-typescript@1.0.13(acorn@8.18.0)': + '@sveltejs/acorn-typescript@1.0.13(acorn@8.19.0)': dependencies: - acorn: 8.18.0 + acorn: 8.19.0 + + '@sveltejs/adapter-auto@8.0.0(@sveltejs/kit@3.1.0(@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))': + dependencies: + '@sveltejs/kit': 3.1.0(@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + + '@sveltejs/kit@3.1.0(@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + dependencies: + '@rolldown/pluginutils': 1.0.1 + '@standard-schema/spec': 1.1.0 + '@sveltejs/vite-plugin-svelte': 7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + cookie: 2.0.1 + devalue: 5.9.4 + esm-env: 1.2.2 + magic-string: 1.4.3 + mrmime: 2.0.1 + sirv: 3.0.2 + svelte: 5.57.2(@typescript-eslint/types@8.69.0) + vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) + optionalDependencies: + typescript: 6.0.3 '@sveltejs/load-config@0.2.3': {} - '@sveltejs/package@2.5.8(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3)': + '@sveltejs/package@3.0.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3)': dependencies: + '@sveltejs/load-config': 0.2.3 chokidar: 5.0.0 - kleur: 4.1.5 - sade: 1.8.1 - semver: 7.8.5 - svelte: 5.57.1(@typescript-eslint/types@8.69.0) - svelte2tsx: 0.7.61(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3) - transitivePeerDependencies: - - typescript + svelte: 5.57.2(@typescript-eslint/types@8.69.0) + svelte2tsx: 0.7.61(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3) + optionalDependencies: + typescript: 6.0.3 - '@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.1(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@sveltejs/vite-plugin-svelte@7.3.1(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: deepmerge: 4.3.1 magic-string: 1.4.2 obug: 2.2.1 - svelte: 5.57.1(@typescript-eslint/types@8.69.0) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vitefu: 1.1.3(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - '@swc/core-darwin-arm64@1.7.23': - optional: true - - '@swc/core-darwin-x64@1.7.23': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.7.23': - optional: true - - '@swc/core-linux-arm64-gnu@1.7.23': - optional: true - - '@swc/core-linux-arm64-musl@1.7.23': - optional: true - - '@swc/core-linux-x64-gnu@1.7.23': - optional: true - - '@swc/core-linux-x64-musl@1.7.23': - optional: true - - '@swc/core-win32-arm64-msvc@1.7.23': - optional: true - - '@swc/core-win32-ia32-msvc@1.7.23': - optional: true - - '@swc/core-win32-x64-msvc@1.7.23': - optional: true - - '@swc/core@1.7.23(@swc/helpers@0.5.23)': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.27 - optionalDependencies: - '@swc/core-darwin-arm64': 1.7.23 - '@swc/core-darwin-x64': 1.7.23 - '@swc/core-linux-arm-gnueabihf': 1.7.23 - '@swc/core-linux-arm64-gnu': 1.7.23 - '@swc/core-linux-arm64-musl': 1.7.23 - '@swc/core-linux-x64-gnu': 1.7.23 - '@swc/core-linux-x64-musl': 1.7.23 - '@swc/core-win32-arm64-msvc': 1.7.23 - '@swc/core-win32-ia32-msvc': 1.7.23 - '@swc/core-win32-x64-msvc': 1.7.23 - '@swc/helpers': 0.5.23 - optional: true - - '@swc/counter@0.1.3': - optional: true - '@swc/helpers@0.5.23': dependencies: tslib: 2.8.1 - '@swc/types@0.1.27': - dependencies: - '@swc/counter': 0.1.3 - optional: true - '@tanstack/history@1.162.1': {} '@tanstack/history@1.162.4': {} - '@tanstack/react-router@1.170.32(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-router@1.170.32(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: '@tanstack/history': 1.162.1 - '@tanstack/react-store': 0.9.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-store': 0.9.3(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/router-core': 1.171.27 isbot: 5.2.2 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - '@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-router@1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: '@tanstack/history': 1.162.4 - '@tanstack/react-store': 0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-store': 0.11.2(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/router-core': 1.171.34 isbot: 5.2.2 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - '@tanstack/react-start-client@1.168.39(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-start-client@1.168.39(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/router-core': 1.171.34 '@tanstack/start-client-core': 1.170.34 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) - '@tanstack/react-start-rsc@0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@tanstack/react-start-rsc@0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: - '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/router-core': 1.171.34 '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) '@tanstack/start-client-core': 1.170.34 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@tanstack/start-storage-context': 1.167.36 pathe: 2.0.3 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) transitivePeerDependencies: - '@farmfe/core' - '@rsbuild/core' @@ -18482,29 +18443,29 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/react-start-server@1.167.46(crossws@0.4.12(srvx@1.0.5))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-start-server@1.167.46(crossws@0.4.12(srvx@1.0.5))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: - '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/router-core': 1.171.34 '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) transitivePeerDependencies: - crossws - '@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: - '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-client': 1.168.39(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-rsc': 0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - '@tanstack/react-start-server': 1.167.46(crossws@0.4.12(srvx@1.0.5))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@tanstack/react-start-client': 1.168.39(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + '@tanstack/react-start-rsc': 0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@tanstack/react-start-server': 1.167.46(crossws@0.4.12(srvx@1.0.5))(react-dom@19.3.1(react@19.3.1))(react@19.3.1) '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) '@tanstack/start-client-core': 1.170.34 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) pathe: 2.0.3 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) optionalDependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) transitivePeerDependencies: @@ -18521,19 +18482,19 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/react-store@0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-store@0.11.2(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: '@tanstack/store': 0.11.2 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - use-sync-external-store: 1.6.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + use-sync-external-store: 1.6.0(react@19.3.1) - '@tanstack/react-store@0.9.3(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-store@0.9.3(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: '@tanstack/store': 0.9.3 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - use-sync-external-store: 1.6.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + use-sync-external-store: 1.6.0(react@19.3.1) '@tanstack/router-core@1.171.27': dependencies: @@ -18575,7 +18536,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.35(@tanstack/react-router@1.170.32(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@tanstack/router-plugin@1.168.35(@tanstack/react-router@1.170.32(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/template': 7.29.7 @@ -18587,7 +18548,7 @@ snapshots: unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) zod: 4.6.5 optionalDependencies: - '@tanstack/react-router': 1.170.32(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.32(react-dom@19.3.1(react@19.3.1))(react@19.3.1) vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vite-plugin-solid: 2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) transitivePeerDependencies: @@ -18600,7 +18561,7 @@ snapshots: - supports-color - unloader - '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/template': 7.29.7 @@ -18612,7 +18573,7 @@ snapshots: unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) zod: 4.6.5 optionalDependencies: - '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1) vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vite-plugin-solid: 2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) transitivePeerDependencies: @@ -18660,7 +18621,7 @@ snapshots: '@tanstack/start-fn-stubs@1.162.0': {} - '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7(supports-color@10.2.2) @@ -18668,7 +18629,7 @@ snapshots: '@jridgewell/remapping': 2.3.5 '@tanstack/router-core': 1.171.34 '@tanstack/router-generator': 1.167.40(supports-color@10.2.2) - '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.1(react@19.3.1))(react@19.3.1))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(supports-color@10.2.2)(vite-plugin-solid@2.11.14(@testing-library/jest-dom@7.0.1(@testing-library/dom@10.4.1)(vitest@5.0.3))(solid-js@1.9.15)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@tanstack/router-utils': 1.162.3(supports-color@10.2.2) '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) exsolve: 1.1.1 @@ -18723,10 +18684,10 @@ snapshots: '@tanstack/virtual-file-routes@1.162.0': {} - '@tanstack/vue-virtual@3.13.36(vue@3.5.43(typescript@6.0.3))': + '@tanstack/vue-virtual@3.13.36(vue@3.5.44(typescript@6.0.3))': dependencies: '@tanstack/virtual-core': 3.17.8 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@testing-library/dom@10.4.1': dependencies: @@ -18773,42 +18734,42 @@ snapshots: optionalDependencies: vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - '@testing-library/preact@3.2.4(preact@11.0.0)': + '@testing-library/preact@3.2.4(preact@11.0.1)': dependencies: '@testing-library/dom': 8.20.1 - preact: 11.0.0 + preact: 11.0.1 - '@testing-library/react@16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@testing-library/react@16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)': dependencies: '@babel/runtime': 7.29.7 '@testing-library/dom': 10.4.1 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) optionalDependencies: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@testing-library/svelte-core@1.1.3(svelte@5.57.1(@typescript-eslint/types@8.69.0))': + '@testing-library/svelte-core@1.1.3(svelte@5.57.2(@typescript-eslint/types@8.69.0))': dependencies: - svelte: 5.57.1(@typescript-eslint/types@8.69.0) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) - '@testing-library/svelte@5.4.2(svelte@5.57.1(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3)': + '@testing-library/svelte@5.4.2(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3)': dependencies: '@testing-library/dom': 10.4.1 - '@testing-library/svelte-core': 1.1.3(svelte@5.57.1(@typescript-eslint/types@8.69.0)) - svelte: 5.57.1(@typescript-eslint/types@8.69.0) + '@testing-library/svelte-core': 1.1.3(svelte@5.57.2(@typescript-eslint/types@8.69.0)) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) optionalDependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - '@testing-library/vue@8.1.0(@vue/compiler-dom@3.5.43)(@vue/compiler-sfc@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3))': + '@testing-library/vue@8.1.0(@vue/compiler-dom@3.5.44)(@vue/compiler-sfc@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3))': dependencies: '@babel/runtime': 7.29.7 '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3)) - vue: 3.5.43(typescript@6.0.3) + '@vue/test-utils': 2.5.1(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: - '@vue/compiler-sfc': 3.5.43 + '@vue/compiler-sfc': 3.5.44 transitivePeerDependencies: - '@vue/compiler-dom' - '@vue/server-renderer' @@ -18817,18 +18778,6 @@ snapshots: '@tokenizer/token@0.3.0': {} - '@tsconfig/node10@1.0.12': - optional: true - - '@tsconfig/node12@1.0.11': - optional: true - - '@tsconfig/node14@1.0.3': - optional: true - - '@tsconfig/node16@1.0.4': - optional: true - '@tsconfig/node24@24.0.5': {} '@tsconfig/svelte@5.0.8': {} @@ -18841,7 +18790,7 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 @@ -18853,7 +18802,7 @@ snapshots: '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 '@types/babel__traverse@7.28.0': @@ -19090,7 +19039,7 @@ snapshots: '@unhead/bundler@3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(unhead@3.4.2(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: - magic-string: 1.4.2 + magic-string: 1.4.3 oxc-walker: 1.1.1(@oxc-project/types@0.152.0)(oxc-parser@0.150.0)(rolldown@1.2.12) unhead: 3.4.2(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) @@ -19108,13 +19057,13 @@ snapshots: - rollup - unloader - '@unhead/vue@3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3))': + '@unhead/vue@3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3))': dependencies: '@unhead/bundler': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(unhead@3.4.2(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) hookable: 6.1.2 unhead: 3.4.2(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) transitivePeerDependencies: @@ -19303,8 +19252,8 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 2.0.3(encoding@0.1.13)(supports-color@10.2.2) '@rollup/pluginutils': 5.4.0(rollup@4.63.1) - acorn: 8.18.0 - acorn-import-attributes: 1.9.5(acorn@8.18.0) + acorn: 8.19.0 + acorn-import-attributes: 1.9.5(acorn@8.19.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -19328,17 +19277,17 @@ snapshots: dependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.104.1)(sass@1.104.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - '@vitejs/plugin-react@6.1.1(vite@8.3.2(@types/node@25.9.5)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@vitejs/plugin-react@6.1.2(vite@8.3.2(@types/node@25.9.5)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 vite: 8.3.2(@types/node@25.9.5)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - '@vitejs/plugin-react@6.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': + '@vitejs/plugin-react@6.1.2(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - '@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3))': + '@vitejs/plugin-vue-jsx@5.1.6(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3))': dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) @@ -19346,20 +19295,20 @@ snapshots: '@rolldown/pluginutils': 1.0.1 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3))': + '@vitejs/plugin-vue@5.2.4(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3))': dependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) - '@vitejs/plugin-vue@6.0.9(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3))': + '@vitejs/plugin-vue@6.0.10(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.1 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@vitest/browser-playwright@5.0.3(playwright@1.58.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.104.1)(sass@1.104.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vitest@5.0.3)': dependencies: @@ -19393,7 +19342,7 @@ snapshots: '@vitest/mocker': 5.0.3(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.104.1)(sass@1.104.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/ui': 5.0.3(vitest@5.0.3) '@vitest/utils': 5.0.3 - magic-string: 1.4.2 + magic-string: 1.4.3 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.1 @@ -19411,7 +19360,7 @@ snapshots: '@vitest/mocker': 5.0.3(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@vitest/ui': 5.0.3(vitest@5.0.3) '@vitest/utils': 5.0.3 - magic-string: 1.4.2 + magic-string: 1.4.3 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.1 @@ -19448,7 +19397,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 '@vitest/spy': 5.0.3 estree-walker: 3.0.3 - magic-string: 1.4.2 + magic-string: 1.4.3 optionalDependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.104.1)(sass@1.104.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) @@ -19457,7 +19406,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 '@vitest/spy': 5.0.3 estree-walker: 3.0.3 - magic-string: 1.4.2 + magic-string: 1.4.3 optionalDependencies: vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) @@ -19539,15 +19488,15 @@ snapshots: '@vscode/l10n@0.0.18': {} - '@vue-macros/common@3.1.4(vue@3.5.43(typescript@6.0.3))': + '@vue-macros/common@3.1.4(vue@3.5.44(typescript@6.0.3))': dependencies: - '@vue/compiler-sfc': 3.5.43 + '@vue/compiler-sfc': 3.5.44 ast-kit: 2.2.0 local-pkg: 1.2.1 magic-string-ast: 1.0.3 unplugin-utils: 0.3.2 optionalDependencies: - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@vue/babel-helper-vue-transform-on@2.0.1': {} @@ -19561,7 +19510,7 @@ snapshots: '@babel/types': 7.29.8 '@vue/babel-helper-vue-transform-on': 2.0.1 '@vue/babel-plugin-resolve-type': 2.0.1(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) - '@vue/shared': 3.5.43 + '@vue/shared': 3.5.44 optionalDependencies: '@babel/core': 7.29.7(supports-color@10.2.2) transitivePeerDependencies: @@ -19573,40 +19522,40 @@ snapshots: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2) '@babel/helper-plugin-utils': 7.29.7 - '@babel/parser': 7.29.8 - '@vue/compiler-sfc': 3.5.43 + '@babel/parser': 7.29.9 + '@vue/compiler-sfc': 3.5.44 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.43': + '@vue/compiler-core@3.5.44': dependencies: - '@babel/parser': 7.29.8 - '@vue/shared': 3.5.43 + '@babel/parser': 7.29.9 + '@vue/shared': 3.5.44 entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.2 - '@vue/compiler-dom@3.5.43': + '@vue/compiler-dom@3.5.44': dependencies: - '@vue/compiler-core': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/compiler-core': 3.5.44 + '@vue/shared': 3.5.44 - '@vue/compiler-sfc@3.5.43': + '@vue/compiler-sfc@3.5.44': dependencies: - '@babel/parser': 7.29.8 - '@vue/compiler-core': 3.5.43 - '@vue/compiler-dom': 3.5.43 - '@vue/compiler-ssr': 3.5.43 - '@vue/shared': 3.5.43 + '@babel/parser': 7.29.9 + '@vue/compiler-core': 3.5.44 + '@vue/compiler-dom': 3.5.44 + '@vue/compiler-ssr': 3.5.44 + '@vue/shared': 3.5.44 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.28 + postcss: 8.5.30 source-map-js: 1.2.2 - '@vue/compiler-ssr@3.5.43': + '@vue/compiler-ssr@3.5.44': dependencies: - '@vue/compiler-dom': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/compiler-dom': 3.5.44 + '@vue/shared': 3.5.44 '@vue/devtools-api@7.7.10': dependencies: @@ -19616,11 +19565,11 @@ snapshots: dependencies: '@vue/devtools-kit': 8.2.1 - '@vue/devtools-core@8.2.1(vue@3.5.43(typescript@6.0.3))': + '@vue/devtools-core@8.2.1(vue@3.5.44(typescript@6.0.3))': dependencies: '@vue/devtools-kit': 8.2.1 '@vue/devtools-shared': 8.2.1 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@vue/devtools-kit@7.7.10': dependencies: @@ -19648,89 +19597,91 @@ snapshots: '@vue/language-core@3.3.11': dependencies: '@volar/language-core': 2.4.28 - '@vue/compiler-dom': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/compiler-dom': 3.5.44 + '@vue/shared': 3.5.44 alien-signals: 3.2.1 muggle-string: 0.4.1 path-browserify: 1.0.1 picomatch: 4.0.7 - '@vue/reactivity@3.5.43': + '@vue/reactivity@3.5.44': dependencies: - '@vue/shared': 3.5.43 + '@vue/shared': 3.5.44 - '@vue/runtime-core@3.5.43': + '@vue/runtime-core@3.5.44': dependencies: - '@vue/reactivity': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/reactivity': 3.5.44 + '@vue/shared': 3.5.44 - '@vue/runtime-dom@3.5.43': + '@vue/runtime-dom@3.5.44': dependencies: - '@vue/reactivity': 3.5.43 - '@vue/runtime-core': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/reactivity': 3.5.44 + '@vue/runtime-core': 3.5.44 + '@vue/shared': 3.5.44 csstype: 3.2.3 - '@vue/server-renderer@3.5.43': + '@vue/server-renderer@3.5.44': dependencies: - '@vue/compiler-ssr': 3.5.43 - '@vue/runtime-dom': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/compiler-ssr': 3.5.44 + '@vue/runtime-dom': 3.5.44 + '@vue/shared': 3.5.44 '@vue/shared@3.5.43': {} - '@vue/test-utils@2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3))': + '@vue/shared@3.5.44': {} + + '@vue/test-utils@2.5.1(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3))': dependencies: - '@vue/compiler-dom': 3.5.43 + '@vue/compiler-dom': 3.5.44 js-beautify: 2.0.3 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vue-component-type-helpers: 3.3.11 optionalDependencies: - '@vue/server-renderer': 3.5.43 + '@vue/server-renderer': 3.5.44 - '@vue/tsconfig@0.9.1(typescript@6.0.3)(vue@3.5.43(typescript@6.0.3))': + '@vue/tsconfig@0.9.1(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3))': optionalDependencies: typescript: 6.0.3 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) - '@vueuse/components@14.4.0(vue@3.5.43(typescript@6.0.3))': + '@vueuse/components@14.4.0(vue@3.5.44(typescript@6.0.3))': dependencies: - '@vueuse/core': 14.4.0(vue@3.5.43(typescript@6.0.3)) - '@vueuse/shared': 14.4.0(vue@3.5.43(typescript@6.0.3)) - vue: 3.5.43(typescript@6.0.3) + '@vueuse/core': 14.4.0(vue@3.5.44(typescript@6.0.3)) + '@vueuse/shared': 14.4.0(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) '@vueuse/core@12.8.2(typescript@6.0.3)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 12.8.2 '@vueuse/shared': 12.8.2(typescript@6.0.3) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - typescript - '@vueuse/core@14.4.0(vue@3.5.43(typescript@6.0.3))': + '@vueuse/core@14.4.0(vue@3.5.44(typescript@6.0.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 14.4.0 - '@vueuse/shared': 14.4.0(vue@3.5.43(typescript@6.0.3)) - vue: 3.5.43(typescript@6.0.3) + '@vueuse/shared': 14.4.0(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) '@vueuse/integrations@12.8.2(focus-trap@7.8.0)(fuse.js@7.5.0)(typescript@6.0.3)': dependencies: '@vueuse/core': 12.8.2(typescript@6.0.3) '@vueuse/shared': 12.8.2(typescript@6.0.3) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: focus-trap: 7.8.0 fuse.js: 7.5.0 transitivePeerDependencies: - typescript - '@vueuse/integrations@14.4.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.43(typescript@6.0.3))': + '@vueuse/integrations@14.4.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.44(typescript@6.0.3))': dependencies: - '@vueuse/core': 14.4.0(vue@3.5.43(typescript@6.0.3)) - '@vueuse/shared': 14.4.0(vue@3.5.43(typescript@6.0.3)) - vue: 3.5.43(typescript@6.0.3) + '@vueuse/core': 14.4.0(vue@3.5.44(typescript@6.0.3)) + '@vueuse/shared': 14.4.0(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: focus-trap: 7.8.0 fuse.js: 7.5.0 @@ -19741,13 +19692,13 @@ snapshots: '@vueuse/shared@12.8.2(typescript@6.0.3)': dependencies: - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - typescript - '@vueuse/shared@14.4.0(vue@3.5.43(typescript@6.0.3))': + '@vueuse/shared@14.4.0(vue@3.5.44(typescript@6.0.3))': dependencies: - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@xmldom/xmldom@0.9.12': {} @@ -19840,37 +19791,22 @@ snapshots: mime-types: 3.0.2 negotiator: 1.1.0 - acorn-import-attributes@1.9.5(acorn@8.18.0): + acorn-import-attributes@1.9.5(acorn@8.19.0): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 - acorn-jsx@5.3.2(acorn@8.18.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.18.0 - - acorn-walk@8.3.5: - dependencies: - acorn: 8.18.0 - optional: true + acorn: 8.19.0 acorn@8.18.0: {} + acorn@8.19.0: {} + agent-base@7.1.4: {} agent-base@9.0.0: {} - ajv-cli@5.0.0(ts-node@10.9.2(@swc/core@1.7.23(@swc/helpers@0.5.23))(@types/node@26.4.1)(typescript@6.0.3)): - dependencies: - ajv: 8.20.0 - fast-json-patch: 3.1.1 - glob: 7.2.3 - js-yaml: 3.15.2 - json-schema-migrate: 2.0.0 - json5: 2.2.3 - minimist: 1.2.8 - optionalDependencies: - ts-node: 10.9.2(@swc/core@1.7.23(@swc/helpers@0.5.23))(@types/node@26.4.1)(typescript@6.0.3) - ajv-draft-04@1.0.0(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 @@ -19960,12 +19896,12 @@ snapshots: ansi-styles@6.2.3: {} - ansi-to-vue3@0.1.2(vue@3.5.43(typescript@6.0.3)): + ansi-to-vue3@0.1.2(vue@3.5.44(typescript@6.0.3)): dependencies: anser: 2.3.5 escape-carriage: 1.3.1 optionalDependencies: - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) ansis@4.3.1: {} @@ -20002,15 +19938,8 @@ snapshots: - bare-buffer - react-native-b4a - arg@4.1.3: - optional: true - arg@5.0.2: {} - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} argparse@3.0.1: {} @@ -20134,7 +20063,7 @@ snapshots: yargs-parser: 22.0.0 zod: 4.6.5 optionalDependencies: - sharp: 0.35.4(@types/node@26.4.1) + sharp: 0.35.5(@types/node@26.4.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -20196,7 +20125,7 @@ snapshots: autoprefixer@10.6.1(postcss@8.5.28): dependencies: browserslist: 4.29.3 - caniuse-lite: 1.0.30001813 + caniuse-lite: 1.0.30001814 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.28 @@ -20252,10 +20181,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-syntax-hermes-parser@0.36.1: - dependencies: - hermes-parser: 0.36.1 - babel-plugin-transform-hook-names@1.0.2(@babel/core@7.29.7(supports-color@10.2.2)): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) @@ -20267,12 +20192,12 @@ snapshots: optionalDependencies: solid-js: 1.9.15 - babel-preset-solid@2.0.0-rc.2(@babel/core@7.29.7(supports-color@10.2.2))(solid-js@2.0.0-rc.13): + babel-preset-solid@2.0.0-rc.2(@babel/core@7.29.7(supports-color@10.2.2))(solid-js@2.0.0-rc.15): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@dom-expressions/babel-plugin-jsx': 0.50.0-next.44(@babel/core@7.29.7(supports-color@10.2.2)) optionalDependencies: - solid-js: 2.0.0-rc.13 + solid-js: 2.0.0-rc.15 bail@2.0.2: {} @@ -20311,8 +20236,6 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.11.26: {} - baseline-browser-mapping@2.11.27: {} basic-auth@2.0.1: @@ -20490,8 +20413,6 @@ snapshots: browserslist: 4.29.3 caniuse-lite: 1.0.30001814 - caniuse-lite@1.0.30001813: {} - caniuse-lite@1.0.30001814: {} ccount@2.0.1: {} @@ -20571,27 +20492,6 @@ snapshots: chownr@3.0.0: {} - chrome-launcher@0.15.2(supports-color@10.2.2): - dependencies: - '@types/node': 26.4.1 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2(supports-color@10.2.2) - transitivePeerDependencies: - - supports-color - - chromium-edge-launcher@0.3.0(supports-color@10.2.2): - dependencies: - '@types/node': 26.4.1 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2(supports-color@10.2.2) - mkdirp: 1.0.4 - transitivePeerDependencies: - - supports-color - - ci-info@2.0.0: {} - ci-info@3.9.0: {} ci-info@4.4.0: {} @@ -20811,9 +20711,6 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.7.0 - create-require@1.1.1: - optional: true - crelt@1.0.7: {} croner@10.0.1: {} @@ -20958,12 +20855,12 @@ snapshots: css-tree@2.2.1: dependencies: mdn-data: 2.0.28 - source-map-js: 1.2.1 + source-map-js: 1.2.2 css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.1 + source-map-js: 1.2.2 css-tree@3.2.1: dependencies: @@ -21149,6 +21046,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + define-lazy-prop@2.0.0: {} + define-lazy-prop@3.0.0: {} define-properties@1.2.1: @@ -21179,9 +21078,6 @@ snapshots: dependencies: dequal: 2.0.3 - diff@4.0.4: - optional: true - diff@8.0.4: {} diff@9.0.0: {} @@ -21610,20 +21506,20 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 4.2.1 espree@11.2.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 5.0.1 espree@9.6.1: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -21632,7 +21528,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@2.3.11(@typescript-eslint/types@8.69.0): + esrap@2.4.0(@typescript-eslint/types@8.69.0): dependencies: '@jridgewell/sourcemap-codec': 1.6.0 optionalDependencies: @@ -21755,8 +21651,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-json-patch@3.1.1: {} - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -21885,6 +21779,18 @@ snapshots: flow-enums-runtime@0.0.6: {} + flow-estree@0.327.0: {} + + flow-estree@0.331.0: {} + + flow-parser@0.327.0: + dependencies: + flow-estree: 0.327.0 + + flow-parser@0.331.0: + dependencies: + flow-estree: 0.331.0 + flru@1.0.2: {} fnv1a-64@0.1.2: {} @@ -21924,14 +21830,14 @@ snapshots: fraction.js@5.3.4: {} - framer-motion@13.2.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + framer-motion@13.2.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: motion-dom: 13.2.0 motion-utils: 13.0.0 tslib: 2.8.1 optionalDependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) fresh@0.5.2: {} @@ -22218,13 +22124,7 @@ snapshots: he@1.2.0: {} - hermes-compiler@250829098.0.17: {} - - hermes-estree@0.36.1: {} - - hermes-parser@0.36.1: - dependencies: - hermes-estree: 0.36.1 + hermes-compiler@260318099.0.4: {} hey-listen@1.0.8: {} @@ -22356,10 +22256,6 @@ snapshots: dependencies: '@types/node': 16.9.1 - image-size@1.2.1: - dependencies: - queue: 6.0.2 - image2uri@2.1.2: dependencies: node-fetch: 3.3.2 @@ -22674,7 +22570,7 @@ snapshots: istanbul-lib-instrument@6.0.3(supports-color@10.2.2): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 semver: 7.8.5 @@ -22753,11 +22649,6 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@3.15.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@4.3.2: dependencies: argparse: 2.0.1 @@ -22794,10 +22685,6 @@ snapshots: json-buffer@3.0.1: {} - json-schema-migrate@2.0.0: - dependencies: - ajv: 8.20.0 - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -22810,11 +22697,17 @@ snapshots: jsonc-eslint-parser@2.4.2: dependencies: - acorn: 8.18.0 + acorn: 8.19.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.8.5 + jsonc-eslint-parser@3.3.0: + dependencies: + acorn: 8.18.0 + eslint-visitor-keys: 5.0.1 + verkit: 0.3.2 + jsonc-parser@2.3.1: {} jsonc-parser@3.3.1: {} @@ -22891,13 +22784,6 @@ snapshots: dependencies: immediate: 3.0.6 - lighthouse-logger@1.4.2(supports-color@10.2.2): - dependencies: - debug: 2.6.9(supports-color@10.2.2) - marky: 1.3.0 - transitivePeerDependencies: - - supports-color - lightningcss-android-arm64@1.33.0: optional: true @@ -23138,18 +23024,19 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 + magic-string@1.4.3: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + magicast@0.5.4: dependencies: - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 source-map-js: 1.2.2 make-dir@5.1.0: optional: true - make-error@1.3.6: - optional: true - make-fetch-happen@14.0.3(supports-color@10.2.2): dependencies: '@npmcli/agent': 3.0.0(supports-color@10.2.2) @@ -23166,10 +23053,6 @@ snapshots: transitivePeerDependencies: - supports-color - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - mark.js@8.11.1: {} markdown-it-container@4.0.0: {} @@ -23194,8 +23077,6 @@ snapshots: markdown-title@1.0.2: {} - marky@1.3.0: {} - math-intrinsics@1.1.0: {} mdast-util-from-markdown@2.0.3(supports-color@10.2.2): @@ -23285,50 +23166,50 @@ snapshots: merge2@1.4.1: {} - metro-babel-transformer@0.87.0(supports-color@10.2.2): + metro-babel-transformer@0.87.1(supports-color@10.2.2): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) flow-enums-runtime: 0.0.6 - hermes-parser: 0.36.1 - metro-cache-key: 0.87.0 + flow-parser: 0.331.0 + metro-cache-key: 0.87.1 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-cache-key@0.87.0: + metro-cache-key@0.87.1: dependencies: flow-enums-runtime: 0.0.6 - metro-cache@0.87.0(supports-color@10.2.2): + metro-cache@0.87.1(supports-color@10.2.2): dependencies: exponential-backoff: 3.1.3 flow-enums-runtime: 0.0.6 https-proxy-agent: 7.0.6(supports-color@10.2.2) - metro-core: 0.87.0 + metro-core: 0.87.1 transitivePeerDependencies: - supports-color - metro-config@0.87.0(supports-color@10.2.2): + metro-config@0.87.1(supports-color@10.2.2): dependencies: connect: 3.7.0(supports-color@10.2.2) flow-enums-runtime: 0.0.6 jest-validate: 29.7.0 - metro: 0.87.0(supports-color@10.2.2) - metro-cache: 0.87.0(supports-color@10.2.2) - metro-core: 0.87.0 - metro-runtime: 0.87.0 + metro: 0.87.1(supports-color@10.2.2) + metro-cache: 0.87.1(supports-color@10.2.2) + metro-core: 0.87.1 + metro-runtime: 0.87.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - metro-core@0.87.0: + metro-core@0.87.1: dependencies: flow-enums-runtime: 0.0.6 lodash.throttle: 4.1.1 - metro-resolver: 0.87.0 + metro-resolver: 0.87.1 - metro-file-map@0.87.0(supports-color@10.2.2): + metro-file-map@0.87.1(supports-color@10.2.2): dependencies: debug: 4.4.3(supports-color@10.2.2) fb-watchman: 2.0.2 @@ -23338,50 +23219,49 @@ snapshots: jest-worker: 29.7.0 micromatch: 4.0.8 nullthrows: 1.1.1 - walker: 1.0.8 transitivePeerDependencies: - supports-color - metro-minify-terser@0.87.0: + metro-minify-terser@0.87.1: dependencies: flow-enums-runtime: 0.0.6 terser: 5.51.2 - metro-resolver@0.87.0: + metro-resolver@0.87.1: dependencies: flow-enums-runtime: 0.0.6 - metro-runtime@0.87.0: + metro-runtime@0.87.1: dependencies: '@babel/runtime': 7.29.7 flow-enums-runtime: 0.0.6 - metro-source-map@0.87.0(supports-color@10.2.2): + metro-source-map@0.87.1(supports-color@10.2.2): dependencies: '@babel/traverse': 7.29.8(supports-color@10.2.2) '@babel/types': 7.29.8 flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-symbolicate: 0.87.0(supports-color@10.2.2) + metro-symbolicate: 0.87.1(supports-color@10.2.2) nullthrows: 1.1.1 - ob1: 0.87.0 + ob1: 0.87.1 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-symbolicate@0.87.0(supports-color@10.2.2): + metro-symbolicate@0.87.1(supports-color@10.2.2): dependencies: flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-source-map: 0.87.0(supports-color@10.2.2) + metro-source-map: 0.87.1(supports-color@10.2.2) nullthrows: 1.1.1 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-transform-plugins@0.87.0(supports-color@10.2.2): + metro-transform-plugins@0.87.1(supports-color@10.2.2): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/generator': 7.29.8 @@ -23392,27 +23272,27 @@ snapshots: transitivePeerDependencies: - supports-color - metro-transform-worker@0.87.0(supports-color@10.2.2): + metro-transform-worker@0.87.1(supports-color@10.2.2): dependencies: '@babel/core': 7.29.7(supports-color@10.2.2) '@babel/generator': 7.29.8 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 flow-enums-runtime: 0.0.6 - metro: 0.87.0(supports-color@10.2.2) - metro-babel-transformer: 0.87.0(supports-color@10.2.2) - metro-cache: 0.87.0(supports-color@10.2.2) - metro-cache-key: 0.87.0 - metro-minify-terser: 0.87.0 - metro-source-map: 0.87.0(supports-color@10.2.2) - metro-transform-plugins: 0.87.0(supports-color@10.2.2) + metro: 0.87.1(supports-color@10.2.2) + metro-babel-transformer: 0.87.1(supports-color@10.2.2) + metro-cache: 0.87.1(supports-color@10.2.2) + metro-cache-key: 0.87.1 + metro-minify-terser: 0.87.1 + metro-source-map: 0.87.1(supports-color@10.2.2) + metro-transform-plugins: 0.87.1(supports-color@10.2.2) nullthrows: 1.1.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - metro@0.87.0(supports-color@10.2.2): + metro@0.87.1(supports-color@10.2.2): dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7(supports-color@10.2.2) @@ -23422,30 +23302,28 @@ snapshots: '@babel/traverse': 7.29.8(supports-color@10.2.2) '@babel/types': 7.29.8 accepts: 2.0.0 - ci-info: 2.0.0 connect: 3.7.0(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2) error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 + flow-parser: 0.331.0 graceful-fs: 4.2.11 - hermes-parser: 0.36.1 - image-size: 1.2.1 invariant: 2.2.4 jest-worker: 29.7.0 jsc-safe-url: 0.2.4 lodash.throttle: 4.1.1 - metro-babel-transformer: 0.87.0(supports-color@10.2.2) - metro-cache: 0.87.0(supports-color@10.2.2) - metro-cache-key: 0.87.0 - metro-config: 0.87.0(supports-color@10.2.2) - metro-core: 0.87.0 - metro-file-map: 0.87.0(supports-color@10.2.2) - metro-resolver: 0.87.0 - metro-runtime: 0.87.0 - metro-source-map: 0.87.0(supports-color@10.2.2) - metro-symbolicate: 0.87.0(supports-color@10.2.2) - metro-transform-plugins: 0.87.0(supports-color@10.2.2) - metro-transform-worker: 0.87.0(supports-color@10.2.2) + metro-babel-transformer: 0.87.1(supports-color@10.2.2) + metro-cache: 0.87.1(supports-color@10.2.2) + metro-cache-key: 0.87.1 + metro-config: 0.87.1(supports-color@10.2.2) + metro-core: 0.87.1 + metro-file-map: 0.87.1(supports-color@10.2.2) + metro-resolver: 0.87.1 + metro-runtime: 0.87.1 + metro-source-map: 0.87.1(supports-color@10.2.2) + metro-symbolicate: 0.87.1(supports-color@10.2.2) + metro-transform-plugins: 0.87.1(supports-color@10.2.2) + metro-transform-worker: 0.87.1(supports-color@10.2.2) mime-types: 3.0.2 nullthrows: 1.1.1 serialize-error: 2.1.0 @@ -23687,11 +23565,9 @@ snapshots: mitt@3.0.1: {} - mkdirp@1.0.4: {} - mlly@1.8.2: dependencies: - acorn: 8.18.0 + acorn: 8.19.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.4 @@ -23716,14 +23592,14 @@ snapshots: motion-utils@13.0.0: {} - motion-v@2.4.0(@vueuse/core@14.4.0(vue@3.5.43(typescript@6.0.3)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vue@3.5.43(typescript@6.0.3)): + motion-v@2.4.0(@vueuse/core@14.4.0(vue@3.5.44(typescript@6.0.3)))(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vue@3.5.44(typescript@6.0.3)): dependencies: - '@vueuse/core': 14.4.0(vue@3.5.43(typescript@6.0.3)) - framer-motion: 13.2.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@vueuse/core': 14.4.0(vue@3.5.44(typescript@6.0.3)) + framer-motion: 13.2.0(react-dom@19.3.1(react@19.3.1))(react@19.3.1) hey-listen: 1.0.8 motion-dom: 13.2.0 motion-utils: 13.0.0 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - react - react-dom @@ -23767,6 +23643,8 @@ snapshots: nanoid@3.3.18: {} + nanoid@3.3.20: {} + nanotar@0.3.0: {} napi-postinstall@0.3.4: {} @@ -23796,27 +23674,27 @@ snapshots: neotraverse@1.0.1: {} - next@16.3.6(@babel/core@8.0.5)(@types/node@26.4.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(sass@1.105.1): + next@16.3.8(@babel/core@8.0.5)(@types/node@26.4.1)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(sass@1.105.1): dependencies: - '@next/env': 16.3.6 + '@next/env': 16.3.8 '@swc/helpers': 0.5.23 - baseline-browser-mapping: 2.11.26 - caniuse-lite: 1.0.30001813 + baseline-browser-mapping: 2.11.27 + caniuse-lite: 1.0.30001814 postcss: 8.5.23 - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - styled-jsx: 5.1.6(@babel/core@8.0.5)(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) + styled-jsx: 5.1.6(@babel/core@8.0.5)(react@19.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 16.3.6 - '@next/swc-darwin-x64': 16.3.6 - '@next/swc-linux-arm64-gnu': 16.3.6 - '@next/swc-linux-arm64-musl': 16.3.6 - '@next/swc-linux-x64-gnu': 16.3.6 - '@next/swc-linux-x64-musl': 16.3.6 - '@next/swc-win32-arm64-msvc': 16.3.6 - '@next/swc-win32-x64-msvc': 16.3.6 + '@next/swc-darwin-arm64': 16.3.8 + '@next/swc-darwin-x64': 16.3.8 + '@next/swc-linux-arm64-gnu': 16.3.8 + '@next/swc-linux-arm64-musl': 16.3.8 + '@next/swc-linux-x64-gnu': 16.3.8 + '@next/swc-linux-x64-musl': 16.3.8 + '@next/swc-win32-arm64-msvc': 16.3.8 + '@next/swc-win32-x64-msvc': 16.3.8 sass: 1.105.1 - sharp: 0.35.4(@types/node@26.4.1) + sharp: 0.35.5(@types/node@26.4.1) transitivePeerDependencies: - '@babel/core' - '@types/node' @@ -23824,10 +23702,10 @@ snapshots: nf3@0.3.24: {} - ng-packagr@22.2.4(@angular/compiler-cli@22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3))(@volar/typescript@2.4.28(typescript@6.0.3))(@vue/language-core@3.3.11)(supports-color@10.2.2)(tslib@2.8.1)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3)): + ng-packagr@22.2.4(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@volar/typescript@2.4.28(typescript@6.0.3))(@vue/language-core@3.3.11)(supports-color@10.2.2)(tslib@2.8.1)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3)): dependencies: '@ampproject/remapping': 2.3.0 - '@angular/compiler-cli': 22.2.1(@angular/compiler@22.2.1)(typescript@6.0.3) + '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) ajv: 8.20.0 browserslist: 4.29.3 chokidar: 5.0.0 @@ -24104,17 +23982,17 @@ snapshots: optionalDependencies: chokidar: 3.6.0 - nuxt@4.5.1(b53531fa9d3cd6e74ecb137ed5477214): + nuxt@4.5.1(3f8bd1df2e23a886b4cf62a075f0d37e): dependencies: '@dxup/nuxt': 0.5.10(esbuild@0.28.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) '@nuxt/cli': 3.37.0(@nuxt/schema@4.5.1)(@parcel/watcher@2.6.0)(cac@6.7.14)(commander@15.0.0)(magicast@0.5.4)(supports-color@10.2.2) - '@nuxt/devtools': 3.4.2(@vercel/blob@2.8.0)(db0@0.4.1)(ioredis@5.11.1(supports-color@10.2.2))(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + '@nuxt/devtools': 3.4.2(@vercel/blob@2.8.0)(db0@0.4.1)(ioredis@5.11.1(supports-color@10.2.2))(magic-string@1.4.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(supports-color@10.2.2)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@nuxt/kit': 4.5.1(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))) - '@nuxt/nitro-server': 4.5.1(65327837dec16c59f3f5f31d95e55e72) + '@nuxt/nitro-server': 4.5.1(c5e45d7509f829f91ad486a7b6f7d61d) '@nuxt/schema': 4.5.1 '@nuxt/telemetry': 2.9.1(@nuxt/kit@4.5.1(magic-string@1.4.2)(magicast@0.5.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))) - '@nuxt/vite-builder': 4.5.1(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@types/node@26.4.1)(esbuild@0.28.2)(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(magic-string@1.4.2)(magicast@0.5.4)(meow@14.1.0)(nuxt@4.5.1(b53531fa9d3cd6e74ecb137ed5477214))(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.63.1))(rollup@4.63.1)(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3))(vue@3.5.43(typescript@6.0.3))(yaml@2.9.0) - '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + '@nuxt/vite-builder': 4.5.1(@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2)))(@types/node@26.4.1)(esbuild@0.28.2)(eslint@10.9.1(jiti@2.7.0)(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(magic-string@1.4.2)(magicast@0.5.4)(meow@14.1.0)(nuxt@4.5.1(3f8bd1df2e23a886b4cf62a075f0d37e))(optionator@0.9.4)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup-plugin-visualizer@7.1.1(rolldown@1.2.12)(rollup@4.63.1))(rollup@4.63.1)(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(supports-color@10.2.2)(terser@5.51.2)(typescript@6.0.3)(vue-tsc@3.3.11(typescript@6.0.3))(vue@3.5.44(typescript@6.0.3))(yaml@2.9.0) + '@unhead/vue': 3.4.2(@oxc-project/types@0.152.0)(esbuild@0.28.2)(lightningcss@1.33.0)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@vue/shared': 3.5.43 chokidar: 5.0.0 compatx: 0.2.0 @@ -24163,8 +24041,8 @@ snapshots: unrouting: 0.2.3 untyped: 2.0.0 verkit: 0.2.0 - vue: 3.5.43(typescript@6.0.3) - vue-router: 5.3.1(@vue/compiler-sfc@3.5.43)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) + vue-router: 5.3.1(@vue/compiler-sfc@3.5.44)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.6.0 '@types/node': 26.4.1 @@ -24251,7 +24129,7 @@ snapshots: pathe: 2.0.3 tinyexec: 1.3.1 - ob1@0.87.0: + ob1@0.87.1: dependencies: flow-enums-runtime: 0.0.6 @@ -24352,8 +24230,9 @@ snapshots: powershell-utils: 0.2.1 wsl-utils: 1.0.0 - open@7.4.2: + open@8.4.2: dependencies: + define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 @@ -24897,7 +24776,7 @@ snapshots: dependencies: nanoid: 3.3.18 picocolors: 1.1.1 - source-map-js: 1.2.1 + source-map-js: 1.2.2 postcss@8.5.28: dependencies: @@ -24905,13 +24784,19 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.2 + postcss@8.5.30: + dependencies: + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 + powershell-utils@0.1.0: {} powershell-utils@0.2.1: {} preact@10.29.8: {} - preact@11.0.0: {} + preact@11.0.1: {} prelude-ls@1.2.1: {} @@ -25000,10 +24885,6 @@ snapshots: queue-microtask@1.2.3: {} - queue@6.0.2: - dependencies: - inherits: 2.0.4 - radix3@1.1.2: {} range-parser@1.2.1: {} @@ -25030,49 +24911,48 @@ snapshots: - bufferutil - utf-8-validate - react-dom@19.3.0(react@19.3.0): + react-dom@19.3.1(react@19.3.1): dependencies: - react: 19.3.0 + react: 19.3.1 scheduler: 0.28.0 react-is@17.0.2: {} react-is@18.3.1: {} - react-native-svg@15.15.5(react-native@0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0): + react-native-svg@15.15.5(react-native@0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1): dependencies: css-select: 5.2.2 css-tree: 1.1.3 - react: 19.3.0 - react-native: 0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2) + react: 19.3.1 + react-native: 0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2) - react-native@0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2): + react-native@0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2): dependencies: - '@react-native/asset-utils': 0.87.1 - '@react-native/codegen': 0.87.1(@babel/core@8.0.5) - '@react-native/community-cli-plugin': 0.87.1(supports-color@10.2.2) - '@react-native/gradle-plugin': 0.87.1 - '@react-native/normalize-colors': 0.87.1 - '@react-native/virtualized-lists': 0.87.1(@types/react@19.3.0)(react-native@0.87.1(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.0)(supports-color@10.2.2))(react@19.3.0) + '@react-native/asset-utils': 0.88.0 + '@react-native/codegen': 0.88.0(@babel/core@8.0.5) + '@react-native/community-cli-plugin': 0.88.0(supports-color@10.2.2) + '@react-native/gradle-plugin': 0.88.0 + '@react-native/normalize-colors': 0.88.0 + '@react-native/virtualized-lists': 0.88.0(@types/react@19.3.0)(react-native@0.88.0(@babel/core@8.0.5)(@types/react@19.3.0)(react@19.3.1)(supports-color@10.2.2))(react@19.3.1) anser: 1.4.10 ansi-regex: 5.0.1 - babel-plugin-syntax-hermes-parser: 0.36.1 base64-js: 1.5.1 - commander: 12.1.0 flow-enums-runtime: 0.0.6 - hermes-compiler: 250829098.0.17 + flow-parser: 0.327.0 + hermes-compiler: 260318099.0.4 invariant: 2.2.4 memoize-one: 5.2.1 - metro-runtime: 0.87.0 - metro-source-map: 0.87.0(supports-color@10.2.2) + metro-runtime: 0.87.1 + metro-source-map: 0.87.1(supports-color@10.2.2) nullthrows: 1.1.1 pretty-format: 29.7.0 promise: 8.3.0 - react: 19.3.0 + react: 19.3.1 react-devtools-core: 6.1.5 react-refresh: 0.14.2 regenerator-runtime: 0.13.11 - scheduler: 0.27.0 + scheduler: 0.28.0 semver: 7.8.5 stacktrace-parser: 0.1.11 tinyglobby: 0.2.17 @@ -25093,14 +24973,14 @@ snapshots: react-refresh@0.18.0: {} - react-router@8.3.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + react-router@8.3.1(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: cookie-es: 3.1.1 - react: 19.3.0 + react: 19.3.1 optionalDependencies: - react-dom: 19.3.0(react@19.3.0) + react-dom: 19.3.1(react@19.3.1) - react@19.3.0: {} + react@19.3.1: {} readable-stream@2.3.8: dependencies: @@ -25318,7 +25198,7 @@ snapshots: rolldown-string@0.3.1(rolldown@1.2.12): dependencies: - magic-string: 1.4.2 + magic-string: 1.4.3 optionalDependencies: rolldown: 1.2.12 @@ -25527,7 +25407,7 @@ snapshots: safer-buffer@2.1.2: {} - sandpack-vue3@3.1.12(vue@3.5.43(typescript@6.0.3)): + sandpack-vue3@3.1.12(vue@3.5.44(typescript@6.0.3)): dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/commands': 6.11.0 @@ -25540,12 +25420,12 @@ snapshots: '@codesandbox/sandpack-client': 2.19.8 '@lezer/highlight': 1.2.3 '@stitches/core': 1.2.8 - ansi-to-vue3: 0.1.2(vue@3.5.43(typescript@6.0.3)) + ansi-to-vue3: 0.1.2(vue@3.5.44(typescript@6.0.3)) clean-set: 1.1.2 dequal: 2.0.3 lz-string: 1.5.0 optionalDependencies: - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) sass-embedded-all-unknown@1.104.1: dependencies: @@ -25767,8 +25647,6 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.27.0: {} - scheduler@0.28.0: {} scule@1.3.0: {} @@ -25881,37 +25759,37 @@ snapshots: setprototypeof@1.2.0: {} - sharp@0.35.4(@types/node@26.4.1): + sharp@0.35.5(@types/node@26.4.1): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 semver: 7.8.5 optionalDependencies: - '@img/sharp-darwin-arm64': 0.35.4 - '@img/sharp-darwin-x64': 0.35.4 - '@img/sharp-freebsd-wasm32': 0.35.4 - '@img/sharp-libvips-darwin-arm64': 1.3.3 - '@img/sharp-libvips-darwin-x64': 1.3.3 - '@img/sharp-libvips-linux-arm': 1.3.3 - '@img/sharp-libvips-linux-arm64': 1.3.3 - '@img/sharp-libvips-linux-ppc64': 1.3.3 - '@img/sharp-libvips-linux-riscv64': 1.3.3 - '@img/sharp-libvips-linux-s390x': 1.3.3 - '@img/sharp-libvips-linux-x64': 1.3.3 - '@img/sharp-libvips-linuxmusl-arm64': 1.3.3 - '@img/sharp-libvips-linuxmusl-x64': 1.3.3 - '@img/sharp-linux-arm': 0.35.4 - '@img/sharp-linux-arm64': 0.35.4 - '@img/sharp-linux-ppc64': 0.35.4 - '@img/sharp-linux-riscv64': 0.35.4 - '@img/sharp-linux-s390x': 0.35.4 - '@img/sharp-linux-x64': 0.35.4 - '@img/sharp-linuxmusl-arm64': 0.35.4 - '@img/sharp-linuxmusl-x64': 0.35.4 - '@img/sharp-webcontainers-wasm32': 0.35.4 - '@img/sharp-win32-arm64': 0.35.4 - '@img/sharp-win32-ia32': 0.35.4 - '@img/sharp-win32-x64': 0.35.4 + '@img/sharp-darwin-arm64': 0.35.5 + '@img/sharp-darwin-x64': 0.35.5 + '@img/sharp-freebsd-wasm32': 0.35.5 + '@img/sharp-libvips-darwin-arm64': 1.3.4 + '@img/sharp-libvips-darwin-x64': 1.3.4 + '@img/sharp-libvips-linux-arm': 1.3.4 + '@img/sharp-libvips-linux-arm64': 1.3.4 + '@img/sharp-libvips-linux-ppc64': 1.3.4 + '@img/sharp-libvips-linux-riscv64': 1.3.4 + '@img/sharp-libvips-linux-s390x': 1.3.4 + '@img/sharp-libvips-linux-x64': 1.3.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.4 + '@img/sharp-libvips-linuxmusl-x64': 1.3.4 + '@img/sharp-linux-arm': 0.35.5 + '@img/sharp-linux-arm64': 0.35.5 + '@img/sharp-linux-ppc64': 0.35.5 + '@img/sharp-linux-riscv64': 0.35.5 + '@img/sharp-linux-s390x': 0.35.5 + '@img/sharp-linux-x64': 0.35.5 + '@img/sharp-linuxmusl-arm64': 0.35.5 + '@img/sharp-linuxmusl-x64': 0.35.5 + '@img/sharp-webcontainers-wasm32': 0.35.5 + '@img/sharp-win32-arm64': 0.35.5 + '@img/sharp-win32-ia32': 0.35.5 + '@img/sharp-win32-x64': 0.35.5 '@types/node': 26.4.1 shebang-command@2.0.0: @@ -26056,6 +25934,13 @@ snapshots: seroval: 1.6.7 seroval-plugins: 1.6.7(seroval@1.6.7) + solid-js@2.0.0-rc.15: + dependencies: + '@solidjs/signals': 2.0.0-rc.15 + csstype: 3.2.3 + seroval: 1.6.7 + seroval-plugins: 1.6.7(seroval@1.6.7) + solid-refresh@0.6.3(solid-js@1.9.15)(supports-color@10.2.2): dependencies: '@babel/generator': 7.29.8 @@ -26123,8 +26008,6 @@ snapshots: speakingurl@14.0.1: {} - sprintf-js@1.0.3: {} - srvx@0.11.22: {} srvx@0.12.8: {} @@ -26281,10 +26164,10 @@ snapshots: style-mod@4.1.3: {} - styled-jsx@5.1.6(@babel/core@8.0.5)(react@19.3.0): + styled-jsx@5.1.6(@babel/core@8.0.5)(react@19.3.1): dependencies: client-only: 0.0.1 - react: 19.3.0 + react: 19.3.1 optionalDependencies: '@babel/core': 8.0.5 @@ -26336,7 +26219,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.7.6(picomatch@4.0.7)(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3): + svelte-check@4.7.6(picomatch@4.0.7)(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 '@sveltejs/load-config': 0.2.3 @@ -26344,42 +26227,42 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.57.1(@typescript-eslint/types@8.69.0) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) typescript: 6.0.3 transitivePeerDependencies: - picomatch - svelte-preprocess@6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(postcss@8.5.28)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3): + svelte-preprocess@6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.9.1(supports-color@10.2.2))(postcss@8.5.30)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3): dependencies: - svelte: 5.57.1(@typescript-eslint/types@8.69.0) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) optionalDependencies: '@babel/core': 7.29.7(supports-color@10.2.2) less: 4.9.1(supports-color@10.2.2) - postcss: 8.5.28 + postcss: 8.5.30 sass: 1.105.1 stylus: 0.56.0(supports-color@10.2.2) typescript: 6.0.3 - svelte2tsx@0.7.61(svelte@5.57.1(@typescript-eslint/types@8.69.0))(typescript@6.0.3): + svelte2tsx@0.7.61(svelte@5.57.2(@typescript-eslint/types@8.69.0))(typescript@6.0.3): dependencies: dedent-js: 1.0.1 scule: 1.3.0 - svelte: 5.57.1(@typescript-eslint/types@8.69.0) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) typescript: 6.0.3 - svelte@5.57.1(@typescript-eslint/types@8.69.0): + svelte@5.57.2(@typescript-eslint/types@8.69.0): dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.6.0 - '@sveltejs/acorn-typescript': 1.0.13(acorn@8.18.0) + '@sveltejs/acorn-typescript': 1.0.13(acorn@8.19.0) '@types/estree': 1.0.9 - acorn: 8.18.0 + acorn: 8.19.0 aria-query: 5.3.1 axobject-query: 4.1.0 clsx: 2.1.1 devalue: 5.9.4 esm-env: 1.2.2 - esrap: 2.3.11(@typescript-eslint/types@8.69.0) + esrap: 2.4.0(@typescript-eslint/types@8.69.0) is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 @@ -26511,7 +26394,7 @@ snapshots: terser@5.51.2: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.18.0 + acorn: 8.19.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -26560,8 +26443,6 @@ snapshots: dependencies: tldts-core: 7.4.11 - tmpl@1.0.5: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -26603,27 +26484,6 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@swc/core@1.7.23(@swc/helpers@0.5.23))(@types/node@26.4.1)(typescript@6.0.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 26.4.1 - acorn: 8.18.0 - acorn-walk: 8.3.5 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.4 - make-error: 1.3.6 - typescript: 6.0.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.7.23(@swc/helpers@0.5.23) - optional: true - tslib@2.8.1: {} ttf2eot@3.1.0: @@ -26746,7 +26606,7 @@ snapshots: unctx@2.5.0: dependencies: - acorn: 8.18.0 + acorn: 8.19.0 estree-walker: 3.0.3 magic-string: 0.30.21 unplugin: 2.3.11 @@ -26758,6 +26618,13 @@ snapshots: rolldown: 1.2.12 unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + unctx@3.0.1(magic-string@1.4.3)(oxc-parser@0.150.0)(rolldown@1.2.12)(unplugin@3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))): + optionalDependencies: + magic-string: 1.4.3 + oxc-parser: 0.150.0 + rolldown: 1.2.12 + unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + undici-types@7.18.2: {} undici-types@7.24.6: {} @@ -26821,11 +26688,11 @@ snapshots: unimport@6.4.0(esbuild@0.28.2)(oxc-parser@0.150.0)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 local-pkg: 1.2.1 - magic-string: 1.4.2 + magic-string: 1.4.3 mlly: 1.8.2 pathe: 2.0.3 picomatch: 4.0.7 @@ -26906,7 +26773,7 @@ snapshots: unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.18.0 + acorn: 8.19.0 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 @@ -27016,9 +26883,9 @@ snapshots: dependencies: punycode: 2.3.1 - use-sync-external-store@1.6.0(react@19.3.0): + use-sync-external-store@1.6.0(react@19.3.1): dependencies: - react: 19.3.0 + react: 19.3.1 utif2@4.1.0: dependencies: @@ -27028,9 +26895,6 @@ snapshots: utils-merge@1.0.1: {} - v8-compile-cache-lib@3.0.1: - optional: true - valibot@1.4.2(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 @@ -27059,13 +26923,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vike-vue@0.9.13(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(vike@0.4.266(h3@1.15.11)(hono@4.13.8)(srvx@0.12.8)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vue@3.5.43(typescript@6.0.3)): + vike-vue@0.9.13(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(vike@0.4.266(h3@1.15.11)(hono@4.13.8)(srvx@0.12.8)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)))(vue@3.5.44(typescript@6.0.3)): dependencies: magic-string: 0.30.21 oxc-parser: 0.104.0(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) oxc-walker: 0.6.0(oxc-parser@0.104.0(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)) vike: 0.4.266(h3@1.15.11)(hono@4.13.8)(srvx@0.12.8)(supports-color@10.2.2)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -27186,15 +27050,15 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.5.0(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)): + vite-plugin-vue-tracer@1.5.0(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.1.1 - magic-string: 1.4.2 + magic-string: 1.4.3 pathe: 2.0.3 - source-map-js: 1.2.1 + source-map-js: 1.2.2 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vite-plugin-wrapper@0.1.1(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)): dependencies: @@ -27214,7 +27078,7 @@ snapshots: dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 + postcss: 8.5.30 rolldown: 1.2.12 tinyglobby: 0.2.17 optionalDependencies: @@ -27233,7 +27097,7 @@ snapshots: dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 + postcss: 8.5.30 rolldown: 1.2.12 tinyglobby: 0.2.17 optionalDependencies: @@ -27252,7 +27116,7 @@ snapshots: dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 + postcss: 8.5.30 rolldown: 1.2.12 tinyglobby: 0.2.17 optionalDependencies: @@ -27298,16 +27162,16 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress@1.6.4(@algolia/client-search@5.57.0)(@types/node@26.4.1)(@types/react@19.3.0)(esbuild@0.28.2)(fuse.js@7.5.0)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(sass-embedded@1.105.1)(sass@1.105.1)(search-insights@2.8.2)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(typescript@6.0.3)(yaml@2.9.0): + vitepress@1.6.4(@algolia/client-search@5.57.0)(@types/node@26.4.1)(@types/react@19.3.0)(esbuild@0.28.2)(fuse.js@7.5.0)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(postcss@8.5.30)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(sass-embedded@1.105.1)(sass@1.105.1)(search-insights@2.8.2)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(typescript@6.0.3)(yaml@2.9.0): dependencies: '@docsearch/css': 3.8.2 - '@docsearch/js': 3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.8.2) + '@docsearch/js': 3.8.2(@algolia/client-search@5.57.0)(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(search-insights@2.8.2) '@iconify-json/simple-icons': 1.2.94 '@shikijs/core': 2.5.0 '@shikijs/transformers': 2.5.0 '@shikijs/types': 2.5.0 '@types/markdown-it': 14.2.0 - '@vitejs/plugin-vue': 5.2.4(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)) + '@vitejs/plugin-vue': 5.2.4(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)) '@vue/devtools-api': 7.7.10 '@vue/shared': 3.5.43 '@vueuse/core': 12.8.2(typescript@6.0.3) @@ -27317,9 +27181,9 @@ snapshots: minisearch: 7.2.0 shiki: 2.5.0 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: - postcss: 8.5.28 + postcss: 8.5.30 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -27352,10 +27216,10 @@ snapshots: - universal-cookie - yaml - vitest-browser-react@2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3): + vitest-browser-react@2.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(vitest@5.0.3): dependencies: - react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) + react: 19.3.1 + react-dom: 19.3.1(react@19.3.1) vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) optionalDependencies: '@types/react': 19.3.0 @@ -27366,11 +27230,17 @@ snapshots: solid-js: 1.9.15 vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - vitest-browser-vue@3.1.0(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vitest@5.0.3)(vue@3.5.43(typescript@6.0.3)): + vitest-browser-svelte@3.1.0(svelte@5.57.2(@typescript-eslint/types@8.69.0))(vitest@5.0.3): dependencies: - '@vue/test-utils': 2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@6.0.3)) + '@testing-library/svelte-core': 1.1.3(svelte@5.57.2(@typescript-eslint/types@8.69.0)) + svelte: 5.57.2(@typescript-eslint/types@8.69.0) vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) - vue: 3.5.43(typescript@6.0.3) + + vitest-browser-vue@3.1.0(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vitest@5.0.3)(vue@3.5.44(typescript@6.0.3)): + dependencies: + '@vue/test-utils': 2.5.1(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3)) + vitest: 5.0.3(@types/node@26.4.1)(@vitest/browser-playwright@5.0.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(jsdom@30.0.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - '@vue/compiler-dom' - '@vue/server-renderer' @@ -27543,9 +27413,9 @@ snapshots: vue-devtools-stub@0.1.0: {} - vue-router@5.3.1(@vue/compiler-sfc@3.5.43)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.43(typescript@6.0.3)): + vue-router@5.3.1(@vue/compiler-sfc@3.5.44)(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0))(vue@3.5.44(typescript@6.0.3)): dependencies: - '@vue-macros/common': 3.1.4(vue@3.5.43(typescript@6.0.3)) + '@vue-macros/common': 3.1.4(vue@3.5.44(typescript@6.0.3)) '@vue/devtools-api': 8.2.1 ast-walker-scope: 0.9.0 chokidar: 5.0.0 @@ -27561,9 +27431,9 @@ snapshots: tinyglobby: 0.2.17 unplugin: 3.3.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.1)(vite@8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0)) unplugin-utils: 0.3.2 - vue: 3.5.43(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: - '@vue/compiler-sfc': 3.5.43 + '@vue/compiler-sfc': 3.5.44 vite: 8.3.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(less@4.9.1(supports-color@10.2.2))(sass-embedded@1.105.1)(sass@1.105.1)(stylus@0.56.0(supports-color@10.2.2))(terser@5.51.2)(yaml@2.9.0) transitivePeerDependencies: - '@farmfe/core' @@ -27581,13 +27451,13 @@ snapshots: '@vue/language-core': 3.3.11 typescript: 6.0.3 - vue@3.5.43(typescript@6.0.3): + vue@3.5.44(typescript@6.0.3): dependencies: - '@vue/compiler-dom': 3.5.43 - '@vue/compiler-sfc': 3.5.43 - '@vue/runtime-dom': 3.5.43 - '@vue/server-renderer': 3.5.43 - '@vue/shared': 3.5.43 + '@vue/compiler-dom': 3.5.44 + '@vue/compiler-sfc': 3.5.44 + '@vue/runtime-dom': 3.5.44 + '@vue/server-renderer': 3.5.44 + '@vue/shared': 3.5.44 optionalDependencies: typescript: 6.0.3 @@ -27597,10 +27467,6 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - weak-lru-cache@1.2.2: optional: true @@ -27872,9 +27738,6 @@ snapshots: yerror@8.0.0: {} - yn@3.1.1: - optional: true - yocto-queue@0.1.0: {} yocto-queue@1.2.2: {} diff --git a/scripts/eslint/githubFormatter.mjs b/scripts/eslint/githubFormatter.mjs new file mode 100644 index 000000000..e4eb1cc82 --- /dev/null +++ b/scripts/eslint/githubFormatter.mjs @@ -0,0 +1,61 @@ +import path from 'node:path'; + +/** + * ESLint formatter for GitHub Actions. Prints each problem as a readable line plus a workflow + * command (`::error file=…`), so it shows up as an inline annotation in the PR diff. + * + * Unlike setup-node's `eslint-stylish` problem matcher, this also annotates parsing errors, which + * have no rule id. + * + * Usage: eslint --format ./scripts/eslint/githubFormatter.mjs + */ + +/** Escape data for a workflow command, see https://github.com/actions/toolkit/blob/main/packages/core/src/command.ts */ +const escapeData = (/** @type {string} */ value) => + value.replaceAll('%', '%25').replaceAll('\r', '%0D').replaceAll('\n', '%0A'); +const escapeProperty = (/** @type {string} */ value) => + escapeData(value).replaceAll(':', '%3A').replaceAll(',', '%2C'); + +/** @type {import('eslint').ESLint.FormatterFunction} */ +const formatter = (results) => { + const lines = []; + let errors = 0; + let warnings = 0; + + for (const result of results) { + const file = path.relative(process.cwd(), result.filePath); + + for (const message of result.messages) { + const severity = message.severity === 2 ? 'error' : 'warning'; + if (severity === 'error') errors++; + else warnings++; + + const rule = message.ruleId ?? 'parse'; + const line = message.line ?? 1; + const column = message.column ?? 1; + lines.push(`${file}:${line}:${column} ${severity} ${message.message} (${rule})`); + + const properties = [ + `file=${escapeProperty(file)}`, + `line=${line}`, + `col=${column}`, + message.endLine ? `endLine=${message.endLine}` : '', + message.endColumn ? `endColumn=${message.endColumn}` : '', + `title=${escapeProperty(`ESLint (${rule})`)}`, + ].filter(Boolean); + lines.push(`::${severity} ${properties.join(',')}::${escapeData(message.message)}`); + } + } + + if (errors + warnings > 0) { + const plural = (/** @type {number} */ count, /** @type {string} */ word) => + `${count} ${word}${count === 1 ? '' : 's'}`; + lines.push( + '', + `✖ ${plural(errors + warnings, 'problem')} (${plural(errors, 'error')}, ${plural(warnings, 'warning')})`, + ); + } + return lines.join('\n'); +}; + +export default formatter; diff --git a/scripts/eslint/jsonSchemaPlugin.mjs b/scripts/eslint/jsonSchemaPlugin.mjs new file mode 100644 index 000000000..7a317fea9 --- /dev/null +++ b/scripts/eslint/jsonSchemaPlugin.mjs @@ -0,0 +1,147 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { Ajv2020 } from 'ajv/dist/2020.js'; +import { getStaticJSONValue } from 'jsonc-eslint-parser'; + +/** + * ESLint plugin that validates JSON files against a configured JSON Schema (draft 2020-12), + * reporting each error at the offending property. It also requires the file's `$schema` field to + * point at that schema. + * + * Off-the-shelf plugins (e.g. eslint-plugin-json-schema-validator) only run Ajv in draft-07 mode, + * which silently skips 2020-12 keywords such as `dependentRequired`. + */ + +const ajv = new Ajv2020({ allErrors: true }); +/** @type {Map} */ +const validators = new Map(); + +/** @param {string} schemaPath */ +const getValidator = (schemaPath) => { + let validate = validators.get(schemaPath); + if (!validate) { + validate = ajv.compile(JSON.parse(fs.readFileSync(schemaPath, 'utf-8'))); + validators.set(schemaPath, validate); + } + return validate; +}; + +/** + * Find the AST node for a JSON pointer (e.g. `/aliases/0/name`). Returns the property node for + * object members so the report points at the key, falling back to the closest existing parent. + * + * @param {any} node + * @param {string} pointer + */ +const findNode = (node, pointer) => { + const segments = pointer + .split('/') + .slice(1) + .map((segment) => segment.replaceAll('~1', '/').replaceAll('~0', '~')); + let current = node; + let reportNode = node; + for (const segment of segments) { + if (current?.type === 'JSONObjectExpression') { + const property = current.properties.find( + (/** @type {any} */ prop) => (prop.key.value ?? prop.key.name) === segment, + ); + if (!property) break; + reportNode = property; + current = property.value; + } else if (current?.type === 'JSONArrayExpression') { + const element = current.elements[Number(segment)]; + if (!element) break; + reportNode = element; + current = element; + } else { + break; + } + } + return { node: current, reportNode }; +}; + +/** @type {import('eslint').Rule.RuleModule} */ +const noInvalid = { + meta: { + type: 'problem', + docs: { + description: 'Validate JSON files against a JSON Schema and require `$schema` to point at it', + }, + schema: [ + { + type: 'object', + properties: { + // Path to the schema, relative to the ESLint working directory (the repo root). + schema: { type: 'string' }, + }, + required: ['schema'], + additionalProperties: false, + }, + ], + }, + create(context) { + return { + /** @param {any} program */ + Program(program) { + const root = program.body[0]?.expression; + if (root?.type !== 'JSONObjectExpression') { + context.report({ node: root ?? program, message: 'Root value must be an object.' }); + return; + } + + const data = getStaticJSONValue(root); + if (typeof data?.$schema !== 'string') { + context.report({ node: root, message: 'Missing `$schema` field.' }); + return; + } + + // Validate against the configured schema, not whatever `$schema` points at, so a file can't + // opt out of validation by referencing a more permissive schema. + const schemaPath = path.resolve(context.cwd, context.options[0].schema); + const expectedRef = path + .relative(path.dirname(context.filename), schemaPath) + .split(path.sep) + .join('/'); + if (path.resolve(path.dirname(context.filename), data.$schema) !== schemaPath) { + context.report({ + node: findNode(root, '/$schema').reportNode, + message: `\`$schema\` must be "${expectedRef}".`, + }); + } + + const validate = getValidator(schemaPath); + if (validate(data)) return; + + for (const error of validate.errors ?? []) { + const { node, reportNode } = findNode(root, error.instancePath); + const location = error.instancePath || '(root)'; + + if (error.keyword === 'additionalProperties' && node?.type === 'JSONObjectExpression') { + const property = findNode( + node, + `/${error.params.additionalProperty.replaceAll('~', '~0').replaceAll('/', '~1')}`, + ).reportNode; + context.report({ + node: property, + message: `${location} has unexpected property "${error.params.additionalProperty}".`, + }); + continue; + } + + const isContainer = + reportNode.type === 'JSONObjectExpression' || reportNode.type === 'JSONArrayExpression'; + context.report({ + // Report objects and arrays at their opening bracket only, not their whole range. + loc: isContainer ? reportNode.loc.start : reportNode.loc, + message: `${location} ${error.message}.`, + }); + } + }, + }; + }, +}; + +export default { + meta: { name: 'json-schema' }, + rules: { 'no-invalid': noInvalid }, +}; diff --git a/scripts/generatePullRequestTitle.mts b/scripts/generatePullRequestTitle.mts new file mode 100644 index 000000000..03c014116 --- /dev/null +++ b/scripts/generatePullRequestTitle.mts @@ -0,0 +1,245 @@ +/** + * Generates a conventional-commit PR title from the paths a pull request changes. + * + * Because merges in this repository are squashed, the PR title becomes the + * commit message and the changelog entry. This script generates the whole title + * for icon contributions and, for every other kind of PR, inserts or updates the + * conventional-commit scope so `lint-pr-title` is satisfied. + * + * It follows the convention of `generateChangedIconsCommentMarkup.mts`: it reads + * its input from the environment, prints the result to stdout and has no other + * side effects. It only imports Node built-ins and the shared + * `conventional-commit-types.json` (a native JSON import), so Node can still run + * it natively as an `.mts` file without a `pnpm install` step. + * + * Env input (CLI wrapper at the bottom): + * - `ADDED_FILES_FILE`: path to a newline-separated list of added files, or + * - `ADDED_FILES`: a space-separated list of added files (handy for local runs). + * - `CHANGED_FILES_FILE` / `CHANGED_FILES`: the same for all changed files + * (added, modified, renamed and deleted). + * - `CURRENT_TITLE`: the current PR title. + * + * Output: the new title on stdout, or nothing at all when no change is needed. + */ + +import { readFileSync } from 'node:fs'; + +// Single source of truth for the conventional-commit types, shared with +// `lint-pr-title` (amannn/action-semantic-pull-request). +import VALID_TYPES from '../.github/conventional-commit-types.json' with { type: 'json' }; + +// Default type used in prefix mode when the current title has no valid type. +// The path reliably tells us the scope but nothing about whether a change is a +// feat/fix/chore, so we fall back to the most neutral type. +const DEFAULT_TYPE = 'chore'; + +// How many icon names to list in a generated title before summarising the rest. +const MAX_NAMES = 3; + +// How many package scopes to join with `|` before falling back to `packages`. +const MAX_SCOPES = 3; +const PACKAGES_SCOPE = 'packages'; + +/** + * - `icon`: an added file *is* the subject, so the whole title is generated. + * Changed (not added) icon files only provide a scope. + * - `package`: a package in `packages/`, scoped by its `package.json` name. + * - `repo`: any other area of the repository. + */ +type Kind = 'icon' | 'package' | 'repo'; + +type Rule = { + pattern: RegExp; + scope: string; + kind: Kind; +}; + +/** + * Path -> scope rules. Each file is matched by the *first* rule in this list + * that matches it, and scopes are listed in the order of this list, which keeps + * the outcome deterministic. The `icons`, `lab`, `metadata`, `docs` and `site` + * scopes mirror `.github/labeler.yml`; `packages/*` scopes mirror each + * package's `package.json` name. + */ +const RULES: Rule[] = [ + { pattern: /^icons\/[^/]+\.svg$/, scope: 'icons', kind: 'icon' }, + { pattern: /^lab\/[^/]+\.svg$/, scope: 'lab', kind: 'icon' }, + { pattern: /^packages\/lucide-react-native\//, scope: 'lucide-react-native', kind: 'package' }, + { pattern: /^packages\/lucide-react\//, scope: 'lucide-react', kind: 'package' }, + { pattern: /^packages\/lucide-preact\//, scope: 'lucide-preact', kind: 'package' }, + { pattern: /^packages\/lucide-solid\//, scope: 'lucide-solid', kind: 'package' }, + { pattern: /^packages\/lucide-static\//, scope: 'lucide-static', kind: 'package' }, + { pattern: /^packages\/icons\//, scope: '@lucide/icons', kind: 'package' }, + { pattern: /^packages\/vue\//, scope: '@lucide/vue', kind: 'package' }, + { pattern: /^packages\/angular\//, scope: '@lucide/angular', kind: 'package' }, + { pattern: /^packages\/svelte\//, scope: '@lucide/svelte', kind: 'package' }, + { pattern: /^packages\/solid\//, scope: '@lucide/solid', kind: 'package' }, + { pattern: /^packages\/astro\//, scope: '@lucide/astro', kind: 'package' }, + { pattern: /^packages\/lab\//, scope: '@lucide/lab', kind: 'package' }, + { pattern: /^packages\/shared\//, scope: '@lucide/shared', kind: 'package' }, + { pattern: /^packages\/lucide\//, scope: 'lucide', kind: 'package' }, + { pattern: /^(?:icons|categories)\/[^/]+\.json$/, scope: 'metadata', kind: 'repo' }, + { pattern: /^docs\/.*\.md$/, scope: 'docs', kind: 'repo' }, + { pattern: /^docs\//, scope: 'site', kind: 'repo' }, +]; + +/** + * Every scope this script can produce. A title whose scope consists only of + * these is owned by the script and may be updated; any other scope was chosen + * by a person and is kept. + */ +const GENERATED_SCOPES = new Set([...RULES.map((rule) => rule.scope), PACKAGES_SCOPE]); + +/** + * Formats a list of icon names into the subject of a generated title, e.g. + * `` `heart` icon ``, `` `heart`, `heart-off` icons `` or + * `` `a`, `b`, `c` and 2 more icons ``. + */ +const formatIconNames = (names: string[]): string => { + const quoted = names.map((name) => `\`${name}\``); + const noun = names.length === 1 ? 'icon' : 'icons'; + + if (quoted.length <= MAX_NAMES) { + return `${quoted.join(', ')} ${noun}`; + } + + const shown = quoted.slice(0, MAX_NAMES).join(', '); + const remaining = quoted.length - MAX_NAMES; + return `${shown} and ${remaining} more ${noun}`; +}; + +/** + * Builds the whole title for an icon rule from the added files matching it. + * Names are deduped by basename (an icon PR adds both `heart.svg` and + * `heart.json`) and kept in the order they first appear. + */ +const generateTitle = (scope: string, matchedFiles: string[]): string => { + const names = matchedFiles + .map((file) => file.replace(/^.*\//, '').replace(/\.[^.]+$/, '')) + .filter((name, index, all) => all.indexOf(name) === index); + + return `feat(${scope}): added ${formatIconNames(names)}`; +}; + +/** + * Derives the scope from the changed files. Package scopes win over icon + * scopes, which win over any other scope (an icon change usually touches its + * metadata too). Multiple scopes are joined with `|`, e.g. + * `lucide-react|@lucide/vue`, and more than `MAX_SCOPES` packages are + * summarised as `packages`. + */ +const resolveScope = (changedFiles: string[]): string | null => { + const matchedRules = new Set( + changedFiles + .map((file) => RULES.find((rule) => rule.pattern.test(file))) + .filter((rule) => rule != null), + ); + const scopesOf = (kind: Kind) => + RULES.filter((rule) => rule.kind === kind && matchedRules.has(rule)).map((rule) => rule.scope); + + const packageScopes = scopesOf('package'); + if (packageScopes.length > MAX_SCOPES) return PACKAGES_SCOPE; + if (packageScopes.length > 0) return packageScopes.join('|'); + + for (const kind of ['icon', 'repo'] as const) { + const scopes = scopesOf(kind); + if (scopes.length > 0) return scopes.join('|'); + } + + return null; +}; + +const isGeneratedScope = (scope: string): boolean => + scope.split('|').every((part) => GENERATED_SCOPES.has(part.trim())); + +/** + * Rewrites the current title around the resolved scope: the contributor's own + * type and subject are preserved and the title is normalised to + * `type(scope)!: subject`. A scope chosen by a person is kept; a missing scope or + * one this script generated earlier is replaced by `scope`. When the title has + * no valid type, `DEFAULT_TYPE` is used. When there is no subject or no scope to + * work with, `null` is returned so the title is left untouched. + */ +const prefixTitle = (scope: string | null, currentTitle: string): string | null => { + const match = currentTitle.match(/^\s*(\w+)\s*(?:\(([^)]*)\))?\s*(!?)\s*:\s*(.*)$/); + const type = match?.[1].toLowerCase(); + + if (match && type != null && VALID_TYPES.includes(type)) { + const [, , currentScope = '', breaking, subject] = match; + if (subject.trim() === '') return null; + + const keepScope = + currentScope.trim() !== '' && (scope == null || !isGeneratedScope(currentScope)); + const newScope = keepScope ? currentScope.trim() : scope; + if (newScope == null) return null; + + return `${type}(${newScope})${breaking}: ${subject.trim()}`; + } + + const subject = currentTitle.trim(); + if (scope == null || subject === '') return null; + return `${DEFAULT_TYPE}(${scope}): ${subject}`; +}; + +type PullRequestFiles = { + addedFiles: string[]; + changedFiles: string[]; +}; + +/** + * Pure title function: given the added and changed files and the current + * title, returns the new title, or `null` when nothing should change (no + * matching rule, no subject to work with, or the title is already correct). + */ +export const generatePullRequestTitle = ( + { addedFiles, changedFiles }: PullRequestFiles, + currentTitle: string, +): string | null => { + const iconRule = RULES.find( + (rule) => rule.kind === 'icon' && addedFiles.some((file) => rule.pattern.test(file)), + ); + + // Added files are changed files too, also when only `ADDED_FILES` is given. + const allChangedFiles = [...new Set([...addedFiles, ...changedFiles])]; + + const newTitle = + iconRule != null + ? generateTitle( + iconRule.scope, + addedFiles.filter((file) => iconRule.pattern.test(file)), + ) + : prefixTitle(resolveScope(allChangedFiles), currentTitle); + + if (newTitle == null || newTitle === currentTitle) return null; + + return newTitle; +}; + +// --- CLI wrapper ----------------------------------------------------------- +// Only runs when executed directly, keeping the function above unit-testable. + +const readFileList = (filePath: string | undefined, list: string | undefined): string[] => { + const raw = filePath != null && filePath !== '' ? readFileSync(filePath, 'utf-8') : (list ?? ''); + + return raw + .split(/\s+/) + .map((file) => file.trim()) + .filter((file) => file !== ''); +}; + +if (import.meta.main) { + const { ADDED_FILES_FILE, ADDED_FILES, CHANGED_FILES_FILE, CHANGED_FILES, CURRENT_TITLE } = + process.env; + + const newTitle = generatePullRequestTitle( + { + addedFiles: readFileList(ADDED_FILES_FILE, ADDED_FILES), + changedFiles: readFileList(CHANGED_FILES_FILE, CHANGED_FILES), + }, + CURRENT_TITLE ?? '', + ); + + if (newTitle != null) { + process.stdout.write(newTitle); + } +} diff --git a/scripts/generatePullRequestTitle.test.mts b/scripts/generatePullRequestTitle.test.mts new file mode 100644 index 000000000..b0f3a71c0 --- /dev/null +++ b/scripts/generatePullRequestTitle.test.mts @@ -0,0 +1,160 @@ +import assert from 'node:assert/strict'; +import { describe, it } from 'node:test'; + +import { generatePullRequestTitle } from './generatePullRequestTitle.mts'; + +const added = (addedFiles: string[], title: string) => + generatePullRequestTitle({ addedFiles, changedFiles: [] }, title); + +const changed = (changedFiles: string[], title: string) => + generatePullRequestTitle({ addedFiles: [], changedFiles }, title); + +describe('generatePullRequestTitle', () => { + describe('icon titles', () => { + it('generates a title for a single icon and dedupes svg and json', () => { + assert.equal( + added(['icons/heart.svg', 'icons/heart.json'], 'add heart'), + 'feat(icons): added `heart` icon', + ); + }); + + it('lists multiple icons', () => { + assert.equal( + added(['icons/heart.svg', 'icons/heart-off.svg'], 'icons'), + 'feat(icons): added `heart`, `heart-off` icons', + ); + }); + + it('summarises many icons', () => { + assert.equal( + added(['icons/a.svg', 'icons/b.svg', 'icons/c.svg', 'icons/d.svg', 'icons/e.svg'], 'x'), + 'feat(icons): added `a`, `b`, `c` and 2 more icons', + ); + }); + + it('generates a title for lab icons', () => { + assert.equal(added(['lab/ghost.svg'], 'x'), 'feat(lab): added `ghost` icon'); + }); + + it('returns null when the title is already correct', () => { + assert.equal(added(['icons/heart.svg'], 'feat(icons): added `heart` icon'), null); + }); + + it('ignores other changed files when an icon is added', () => { + assert.equal( + generatePullRequestTitle( + { addedFiles: ['icons/heart.svg'], changedFiles: ['docs/guide.md'] }, + 'x', + ), + 'feat(icons): added `heart` icon', + ); + }); + }); + + describe('scope resolution', () => { + it('uses the package name as scope', () => { + assert.equal( + changed(['packages/lucide-react/src/a.ts'], 'fix: crash'), + 'fix(lucide-react): crash', + ); + }); + + it('joins multiple packages with a pipe', () => { + assert.equal( + changed(['packages/vue/src/b.ts', 'packages/lucide-react/src/a.ts'], 'chore: Fix export'), + 'chore(lucide-react|@lucide/vue): Fix export', + ); + }); + + it('summarises more than three packages as `packages`', () => { + assert.equal( + changed( + [ + 'packages/lucide-react/a.ts', + 'packages/vue/a.ts', + 'packages/svelte/a.ts', + 'packages/angular/a.ts', + ], + 'refactor: shared types', + ), + 'refactor(packages): shared types', + ); + }); + + it('prefers packages over docs', () => { + assert.equal( + changed(['docs/guide/react.md', 'packages/lucide-react/src/a.ts'], 'feat: new prop'), + 'feat(lucide-react): new prop', + ); + }); + + it('joins docs and site scopes', () => { + assert.equal( + changed(['docs/guide/a.md', 'docs/.vitepress/theme/b.vue'], 'docs: update'), + 'docs(docs|site): update', + ); + }); + + it('uses `metadata` for icon and category json files', () => { + assert.equal(changed(['icons/heart.json'], 'fix: tags'), 'fix(metadata): tags'); + assert.equal(changed(['categories/shapes.json'], 'fix: category'), 'fix(metadata): category'); + }); + + it('prefers icons over metadata for changed icons', () => { + assert.equal( + changed(['icons/heart.svg', 'icons/heart.json'], 'fix: heart'), + 'fix(icons): heart', + ); + }); + + it('supports @lucide/solid', () => { + assert.equal(changed(['packages/solid/src/a.ts'], 'feat: x'), 'feat(@lucide/solid): x'); + }); + + it('does not match lucide-react for lucide-react-native files', () => { + assert.equal( + changed(['packages/lucide-react-native/src/a.ts'], 'fix: x'), + 'fix(lucide-react-native): x', + ); + }); + + it('returns null when no rule matches', () => { + assert.equal(changed(['README.md'], 'chore: readme'), null); + }); + }); + + describe('prefix titles', () => { + const files = ['packages/lucide-react/src/a.ts']; + + it('keeps a custom scope', () => { + assert.equal(changed(files, 'fix(react): crash'), null); + }); + + it('extends a generated scope', () => { + assert.equal( + changed([...files, 'packages/vue/src/a.ts'], 'fix(lucide-react): crash'), + 'fix(lucide-react|@lucide/vue): crash', + ); + }); + + it('normalises the type casing', () => { + assert.equal(changed(files, 'Fix: crash'), 'fix(lucide-react): crash'); + }); + + it('normalises whitespace and keeps a custom scope', () => { + assert.equal(changed(files, 'feat (react): x'), 'feat(react): x'); + }); + + it('keeps the breaking-change marker', () => { + assert.equal(changed(files, 'feat!: drop old api'), 'feat(lucide-react)!: drop old api'); + }); + + it('returns null for an empty subject', () => { + assert.equal(changed(files, 'fix:'), null); + }); + + it('falls back to the default type', () => { + assert.equal(changed(files, 'Fix crash'), 'chore(lucide-react): Fix crash'); + }); + }); +}); diff --git a/scripts/lintFormat.mts b/scripts/lintFormat.mts new file mode 100644 index 000000000..faaa37a80 --- /dev/null +++ b/scripts/lintFormat.mts @@ -0,0 +1,123 @@ +/** + * Checks formatting with Prettier and reports every unformatted range as a GitHub Actions + * annotation (`::error file=…,line=…`), so it shows up inline in the PR diff. + * + * `prettier --check` only reports file names, so this formats each listed file in memory and + * diffs it against the original to find the exact lines. + */ +import fs from 'fs'; +import os from 'os'; +import path from 'path'; +import process from 'process'; +import { spawnSync } from 'child_process'; +import { createRequire } from 'module'; +import * as prettier from 'prettier'; + +const PATTERNS = ['**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}', 'icons/*.svg']; + +const prettierBin = createRequire(import.meta.url).resolve('prettier/bin/prettier.cjs'); + +const listDifferent = spawnSync( + process.execPath, + [prettierBin, '--list-different', '--no-color', ...PATTERNS], + { encoding: 'utf-8', maxBuffer: 64 * 1024 * 1024 }, +); + +/** Escape data for a workflow command, see https://github.com/actions/toolkit/blob/main/packages/core/src/command.ts */ +const escapeData = (value: string) => + value.replaceAll('%', '%25').replaceAll('\r', '%0D').replaceAll('\n', '%0A'); +const escapeProperty = (value: string) => + escapeData(value).replaceAll(':', '%3A').replaceAll(',', '%2C'); + +let problems = 0; + +// Exit code 2 means Prettier could not process a file, e.g. because of a syntax error. +if (listDifferent.status !== 0 && listDifferent.status !== 1) { + console.log('::group::Prettier errors'); + console.log(listDifferent.stderr); + console.log('::endgroup::'); + + const syntaxError = /^\[error\] (.+?): (\w*Error: .+) \((\d+):(\d+)\)$/; + for (const line of listDifferent.stderr.split('\n')) { + const match = line.match(syntaxError); + if (!match) continue; + const [, file, message, errorLine, column] = match; + console.log( + `::error file=${escapeProperty(file)},line=${errorLine},col=${column},title=Prettier::${escapeData(message)}`, + ); + problems++; + } + + if (problems === 0) { + console.log( + `::error title=Prettier::${escapeData(listDifferent.stderr.trim() || 'Prettier failed.')}`, + ); + problems++; + } +} + +const files = listDifferent.stdout.split('\n').filter(Boolean); + +if (files.length === 0 && problems === 0) { + console.log('All matched files use Prettier code style!'); + process.exit(0); +} + +const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'lint-format-')); +const hunkHeader = /^@@ -(\d+)(?:,(\d+))? \+\d+(?:,\d+)? @@/; + +for (const file of files) { + const source = fs.readFileSync(file, 'utf-8'); + const options = await prettier.resolveConfig(file); + const formatted = await prettier.format(source, { ...options, filepath: file }); + + const formattedFile = path.join(tmpDir, 'formatted'); + fs.writeFileSync(formattedFile, formatted); + + const { stdout: diff } = spawnSync( + 'git', + ['diff', '--no-index', '--no-color', '-U0', '--', file, formattedFile], + { encoding: 'utf-8', maxBuffer: 64 * 1024 * 1024 }, + ); + + console.log(`::group::${file}`); + console.log(diff); + console.log('::endgroup::'); + + const lines = diff.split('\n'); + for (let index = 0; index < lines.length; index++) { + const match = lines[index].match(hunkHeader); + if (!match) continue; + + const start = Number(match[1]); + const count = match[2] === undefined ? 1 : Number(match[2]); + + const expected: string[] = []; + while (index + 1 < lines.length && /^[-+\\ ]/.test(lines[index + 1])) { + index++; + if (lines[index].startsWith('+')) expected.push(lines[index].slice(1)); + } + + // A pure insertion (count 0) happens after `start`, so point at that line. + const line = Math.max(start, 1); + const endLine = count === 0 ? line : start + count - 1; + + const message = + expected.length > 0 + ? `Code is not formatted with Prettier. Expected:\n${expected.join('\n')}` + : 'Code is not formatted with Prettier. Remove these lines.'; + + console.log( + `::error file=${escapeProperty(file)},line=${line},endLine=${endLine},title=Prettier::${escapeData(message)}`, + ); + } +} + +fs.rmSync(tmpDir, { recursive: true, force: true }); + +if (files.length > 0) { + console.log( + `\n${files.length} file(s) not formatted with Prettier. Run \`pnpm lint:format-fix\` and \`pnpm lint:icons-fix\` to fix.`, + ); +} +process.exit(1); diff --git a/scripts/lintSpelling.mts b/scripts/lintSpelling.mts new file mode 100644 index 000000000..512522e9b --- /dev/null +++ b/scripts/lintSpelling.mts @@ -0,0 +1,57 @@ +/** + * Spell checks icon and category metadata with cspell and reports every unknown word as a GitHub + * Actions annotation (`::error file=…,line=…`), so it shows up inline in the PR diff. + * + * Words that are correct but unknown to cspell go in `.cspell/custom-words.txt`. + */ +import process from 'process'; +import { spawnSync } from 'child_process'; +import { fileURLToPath } from 'url'; + +const PATTERNS = ['icons/*.json', 'categories/*.json']; + +// cspell only exports its bin for `import`, so resolve it the ESM way. +const cspellBin = fileURLToPath(import.meta.resolve('cspell/bin.mjs')); + +const cspell = spawnSync( + process.execPath, + [cspellBin, '--no-color', '--no-progress', '--no-summary', ...PATTERNS], + { encoding: 'utf-8', maxBuffer: 64 * 1024 * 1024 }, +); + +/** Escape data for a workflow command, see https://github.com/actions/toolkit/blob/main/packages/core/src/command.ts */ +const escapeData = (value: string) => + value.replaceAll('%', '%25').replaceAll('\r', '%0D').replaceAll('\n', '%0A'); +const escapeProperty = (value: string) => + escapeData(value).replaceAll(':', '%3A').replaceAll(',', '%2C'); + +const issue = /^(.+?):(\d+):(\d+) - Unknown word \((.+?)\)(?: fix: \((.+?)\))?/; +let problems = 0; + +for (const line of cspell.stdout.split('\n')) { + const match = line.match(issue); + if (!match) continue; + + const [, file, lineNumber, column, word, fix] = match; + const suggestion = fix ? ` Did you mean "${fix}"?` : ''; + const message = `Unknown word "${word}".${suggestion} Fix the typo or add the word to .cspell/custom-words.txt.`; + + console.log(line); + console.log( + `::error file=${escapeProperty(file)},line=${lineNumber},col=${column},endColumn=${Number(column) + word.length},title=cspell::${escapeData(message)}`, + ); + problems++; +} + +if (cspell.status !== 0 && problems === 0) { + process.stderr.write(cspell.stderr); + console.log(`::error title=cspell::${escapeData(cspell.stderr.trim() || 'cspell failed.')}`); + process.exit(cspell.status ?? 1); +} + +if (problems > 0) { + console.log(`\n${problems} spelling issue(s) found.`); + process.exit(1); +} + +console.log('No spelling issues found.');