From d69a328ce95994beeff6fc0c51e57319d6e3ec38 Mon Sep 17 00:00:00 2001 From: LynithDev <61880709+LynithDev@users.noreply.github.com> Date: Sun, 20 Jul 2025 16:16:43 +0200 Subject: [PATCH 1/2] chore: cleanup + prepare things for open source --- .github/ISSUE_TEMPLATE/bug_report.yml | 11 ++- .github/ISSUE_TEMPLATE/enhancement.yml | 13 ++- .github/media/RepoBanner.png | Bin 0 -> 54906 bytes .github/workflows/oneclient_release.yml | 47 +++++++++ .../{release.yml => onelauncher_release.yml} | 4 +- .vscode/extensions.json | 3 +- .vscode/settings.json | 3 - ATTRIBUTION.md | 93 +++++------------- CONTRIBUTING.md | 13 +-- README.md | 49 +++++++-- changelog.config.ts | 17 ---- test.rs | 0 tsconfig.base.json | 2 +- uno.config.ts | 1 - vitest.workspace.json | 4 - 15 files changed, 145 insertions(+), 115 deletions(-) create mode 100644 .github/media/RepoBanner.png create mode 100644 .github/workflows/oneclient_release.yml rename .github/workflows/{release.yml => onelauncher_release.yml} (94%) delete mode 100644 changelog.config.ts delete mode 100644 test.rs delete mode 100644 uno.config.ts delete mode 100644 vitest.workspace.json diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 78222842..6d74574a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -5,12 +5,21 @@ body: - type: markdown attributes: value: Before raising an issue, please search for existing issues to avoid creating duplicates. - - type: textarea + - type: input attributes: label: Original reporter/ticket ID description: If you are rewording a ticket, put the original reporter(s) and ticket ID(s). If not, leave this blank. validations: required: false + - type: dropdown + attributes: + label: Project + description: Select the project this issue is related to. + multiple: true + options: + - Core + - OneClient + - OneLauncher - type: textarea attributes: label: Describe the bug diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml index 374d53bb..0b15e1a2 100644 --- a/.github/ISSUE_TEMPLATE/enhancement.yml +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -5,12 +5,23 @@ body: - type: markdown attributes: value: Before raising an issue, please search for existing issues and [Discord](https://polyfrost.org/discord) suggestions to avoid creating duplicates. - - type: textarea + - type: input attributes: label: Original reporter/ticket ID description: If you are rewording a ticket, put the original reporter(s) and ticket ID(s). If not, leave this blank. validations: required: false + - type: dropdown + attributes: + label: Project + description: Select the project this issue is related to. + multiple: true + default: General + options: + - General + - Core + - OneClient + - OneLauncher - type: textarea attributes: label: Is your suggested enhancement related to a problem? Please describe, or link another Issue. diff --git a/.github/media/RepoBanner.png b/.github/media/RepoBanner.png new file mode 100644 index 0000000000000000000000000000000000000000..db9ec1e4a39afbdfb6de8fde570d856be7919d08 GIT binary patch literal 54906 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 KRk)tx)Bgjp-7D?@ literal 0 HcmV?d00001 diff --git a/.github/workflows/oneclient_release.yml b/.github/workflows/oneclient_release.yml new file mode 100644 index 00000000..15f36428 --- /dev/null +++ b/.github/workflows/oneclient_release.yml @@ -0,0 +1,47 @@ +name: OneClient Release Build + +on: + workflow_dispatch: + +jobs: + publish-tauri: + permissions: + contents: write + strategy: + fail-fast: false + matrix: + include: + - platform: macos-latest # ARM + args: --target aarch64-apple-darwin + - platform: macos-latest # Intel + args: --target x86_64-apple-darwin + - platform: ubuntu-22.04 + args: '' + - platform: windows-latest + args: '' + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust + uses: ./.github/actions/setup-rust + with: + # Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds. + target: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} + save-cache: true + restore-cache: true + + - name: Setup Packages + uses: ./.github/actions/setup-packages + + - uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tagName: oneclient-__VERSION__ + releaseName: OneClient __VERSION__ + releaseDraft: true + prerelease: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-alpha') || false }} + tauriScript: pnpm oneclient:desktop + args: ${{ matrix.args }} diff --git a/.github/workflows/release.yml b/.github/workflows/onelauncher_release.yml similarity index 94% rename from .github/workflows/release.yml rename to .github/workflows/onelauncher_release.yml index ab90fbc8..0b2e4a14 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/onelauncher_release.yml @@ -1,4 +1,4 @@ -name: Release Build +name: OneLauncher Release Build on: workflow_dispatch: @@ -43,5 +43,5 @@ jobs: releaseName: OneLauncher __VERSION__ releaseDraft: true prerelease: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-alpha') || false }} - tauriScript: pnpm desktop + tauriScript: pnpm onelauncher:desktop args: ${{ matrix.args }} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 20cdd5ec..bd082fa3 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,8 +3,7 @@ "tauri-apps.tauri-vscode", // Provides Tauri framework support. "rust-lang.rust-analyzer", // Provides Rust language support. "vadimcn.vscode-lldb", // Provides Rust debugging support. - "oscarbeaumont.rspc-vscode", // RSPC is a framework for Routers. - "antfu.unocss", // Provides UnoCSS intellisense. + "bradlc.vscode-tailwindcss", // Provides UnoCSS intellisense. "EditorConfig.EditorConfig", // Maintains consistent coding styles. "dbaeumer.vscode-eslint" // Code formatting using ESLint. ] diff --git a/.vscode/settings.json b/.vscode/settings.json index 1c108fed..d76bd693 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -27,9 +27,6 @@ "rust-analyzer.diagnostics.disabled": [ "macro-error" // TODO: Remove this once taurpc upgrades to latest specta ], - "rust-analyzer.procMacro.ignored": { - "tauri-specta": ["command"] - }, "rust-analyzer.check.command": "check", "rust-analyzer.diagnostics.experimental.enable": false, "rust-analyzer.linkedProjects": [], diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index b1201280..1c162ee9 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -1,6 +1,6 @@ # Attribution -The source code of this repository is licensed under the GNU General Public License, Version 3 only, which is provided in the file [LICENSE](./LICENSE), with a header provided below. [Certain files in our library wrappers](./core/wrapper/) may be under a different license or [require credit](#additional-libraries), with their specific headers outlined in the below non-exhaustive list. +The source code of this repository is licensed under the GNU General Public License, Version 3 only, which is provided in the file [LICENSE](./LICENSE), with a header provided below. Certain files in our library wrappers may be under a different license or [require credit](#additional-libraries), with their specific headers outlined in the below non-exhaustive list. ## OneLauncher @@ -16,6 +16,20 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public You should have received a copy of the GNU General Public License along with this program. If not, see . ``` +## OneClient + +```txt +OneClient - A Minecraft Launcher +Copyright (C) 2023~CURRENT Polyfrost and Contributors + +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program. If not, see . +``` + ## Polyfrost branding Any files depicting [Polyfrost branding](https://polyfrost.org/legal/branding), including the Polyfrost logo, any landing and background images, the OneConfig logo, the OneLauncher logo, and variations thereof, are licensed under the following: @@ -31,80 +45,25 @@ This includes, but may not be limited to, the following files: ## Additional Libraries -The following are libraries, projects, and codebases which we (Polyfrost and Contributors) copied or modified, with additional attribution inline (THIS IS A NON-EXHAUSTIVE LIST, IF WE ARE MISSING A LICENSE, PLEASE CHECK OUR [attributions page](https://polyfrost.org/attributions), OR LEAVE A TICKET IN [our Discord server](https://polyfrost.org/discord)): - -## [Prism Launcher] - -```txt -Prism Launcher - Minecraft Launcher -Copyright (C) 2022-2024 Prism Launcher Contributors - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -This file incorporates work covered by the following copyright and -permission notice: - - Copyright 2013-2021 MultiMC Contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -## [Modrinth App] - -```txt -Modrinth App -Copyright (C) 2022-2023 Modrinth - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -``` +The following are libraries, projects, and codebases which we (Polyfrost and Contributors) copied or modified, with additional attribution inline (THIS IS A NON-EXHAUSTIVE LIST, IF WE ARE MISSING A LICENSE, PLEASE LEAVE A TICKET IN [our Discord server](https://polyfrost.org/discord)): ## [Gamemode] ```txt -Copyright (c) 2017-2022, Feral Interactive +Copyright (c) 2017-2025, Feral Interactive and the GameMode contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -* Neither the name of Feral Interactive nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Feral Interactive nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -145,7 +104,5 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` -[Prism Launcher]: https://github.com/PrismLauncher/PrismLauncher -[Modrinth App]: https://github.com/modrinth/code [Gamemode]: https://github.com/FeralInteractive/gamemode [Rust Gamemode Internal Linking]: https://github.com/SophieSilver/linking-gamemode diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0482336f..d2d4c777 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,17 +47,14 @@ To make changes locally, follow these steps: 4. Install dependencies: `pnpm i` 5. Prepare your cargo installation: `pnpm prep` -To quickly run only the desktop app after `prep`, you can use: +### Running +The most common scripts you will use are: -- `pnpm desktop dev` +- `pnpm onelauncher:desktop dev` - Runs the **OneLauncher** desktop application with watch mode enabled and starts up the frontend's vite dev server. - If necessary, the webview devtools can be opened by pressing `Ctrl + Shift + I` (Linux and Windows) or `Command + Option + I` (macOS) in the desktop app. +- `pnpm oneclient:desktop dev` - Runs the **OneClient** desktop application with watch mode enabled and starts up the frontend's vite dev server. -If you encounter any issues, ensure that you are using the following versions (or later) of Rust, Node and Pnpm: - -- `rustc` version: **1.80** -- `node` version: **20.15** -- `pnpm` version: **9.6.0** +If necessary, the webview devtools can be opened by pressing `Ctrl + Shift + I` (Linux and Windows) or `Command + Option + I` (macOS) in the desktop app. After cleaning out your build artifacts using `pnpm clean`, `git clean`, or `cargo clean`, it is necessary to re-run the `setup` script. diff --git a/README.md b/README.md index e90e94af..99041200 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,45 @@ -# OneLauncher +
-Rust-based Minecraft launcher utilizing Tauri, SolidJS, and Tailwind +Repository Banner -## Project Structure +# ` OneLauncher ` + ` OneClient ` +Here is the monorepo containing the code for OneLauncher and OneClient. -* [`apps/desktop`](./apps/desktop/) - Rust-based Minecraft launcher utilizing Tauri, SolidJS, and Tailwind. -* [`crates/core`](./crates/core/) - The core for our Minecraft launcher (platform agnostic), along with Rust-based utilities for other Polyfrost projects and interactions. -* [`testing`](./crates/testing/) - Testing playground for our Rust core, independant of Tauri. -* [`distribution`](./packages/distribution/) - Distribution utilties and meta files for the [`apps/desktop`](./apps/desktop/) app. +
+ +## Technologies Used +- [**Tauri**](https://tauri.app/) +- [**Sea ORM**](https://www.sea-ql.org/SeaORM/) +- [**SQLite**](https://www.sqlite.org/) +- [**React**](https://react.dev/) +- [**Tailwind CSS**](https://tailwindcss.com/) +- [**Tanstack Query**](https://tanstack.com/query/latest) +- [**Tanstack Router**](https://tanstack.com/router/latest) + +## Contributing +We welcome contributions! Please read our [contributing guidelines](CONTRIBUTING.md) before getting started. + +### Requirements + +If you encounter any issues, ensure that you are using the following versions (or later) of Rust, Node and Pnpm: + +- `rustc` version: **1.89** +- `node` version: **22.15** +- `pnpm` version: **10.13** + +### Project Structure +- **`packages/`** - Shared libraries and utilities. + - [**`core/`**](./packages/core/) - Launcher Core. This is the library that contains the entire launcher logic. + - [**`entity/`**](./packages/entity/) - Contains entity definitions used in the launcher's database. + - [**`macro/`**](./packages/macro/) - Contains macro definitions to simplify some code. + - [**`scripts/`**](./packages/scripts/) - General scripts for CI/CD or development environments. + - [**`web_common/`**](./packages/web_common/) - Contains common web code used by both OneLauncher and OneClient. +- **`apps/`** + - [**`onelauncher/`**](./apps/onelauncher/) + - **`desktop/`** - Tauri desktop application. + - **`frontend/`** - React SPA frontend. + - **`distribution/`** - Files used for release builds. + - [**`oneclient/`**](./apps/oneclient/) + - **`desktop/`** - Tauri desktop application. + - **`frontend/`** - React SPA frontend. + - **`distribution/`** - Files used for release builds. diff --git a/changelog.config.ts b/changelog.config.ts deleted file mode 100644 index c3303233..00000000 --- a/changelog.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -const config = { - types: { - chore: { title: '🔨 Chores' }, - feature: { title: '✨ Features' }, - fix: { title: '🐞 Bug Fixes' }, - perf: { title: '🏎 Performance' }, - refactor: { title: '♻️ Refactors' }, - test: { title: '✅ Tests' }, - style: { title: '🎨 Stylistic' }, - doc: { title: '📝 Docs' }, - deps: { title: '📦 Dependencies' }, - deploy: { title: '🚀 Deployments' }, - wip: { title: '🚧 Experiments' }, - }, -}; - -export default config; diff --git a/test.rs b/test.rs deleted file mode 100644 index e69de29b..00000000 diff --git a/tsconfig.base.json b/tsconfig.base.json index 231ebc56..3491112c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "ESNext", "jsx": "preserve", - "jsxImportSource": "solid-js", + "jsxImportSource": "react", "lib": ["ESNext", "DOM", "DOM.Iterable"], "useDefineForClassFields": true, "module": "ESNext", diff --git a/uno.config.ts b/uno.config.ts deleted file mode 100644 index f6976c0d..00000000 --- a/uno.config.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './apps/onelauncher/old_frontend/uno.config'; diff --git a/vitest.workspace.json b/vitest.workspace.json deleted file mode 100644 index 143f4f59..00000000 --- a/vitest.workspace.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - "packages/client/vitest.config.ts", - "apps/frontend/vitest.config.ts" -] From 69ee55ffe917b6b81df0a5dd3e8e247fa01b25b5 Mon Sep 17 00:00:00 2001 From: LynithDev <61880709+LynithDev@users.noreply.github.com> Date: Sun, 20 Jul 2025 16:47:31 +0200 Subject: [PATCH 2/2] chore: move all node dependency versions to pnpm catalogs --- apps/oneclient/frontend/package.json | 70 +- apps/onelauncher/frontend/package.json | 68 +- package.json | 24 +- packages/web_common/package.json | 44 +- pnpm-lock.yaml | 974 +++++++++---------------- pnpm-workspace.yaml | 72 ++ 6 files changed, 536 insertions(+), 716 deletions(-) diff --git a/apps/oneclient/frontend/package.json b/apps/oneclient/frontend/package.json index ce9ec9ea..c97fb0fb 100644 --- a/apps/oneclient/frontend/package.json +++ b/apps/oneclient/frontend/package.json @@ -12,43 +12,43 @@ "check": "prettier --write . && eslint --fix" }, "dependencies": { - "@fontsource/poppins": "^5.2.6", - "@formatjs/intl-durationformat": "^0.7.4", + "@fontsource/poppins": "catalog:", + "@formatjs/intl-durationformat": "catalog:", "@onelauncher/common": "workspace:*", - "@tailwindcss/vite": "^4.0.6", - "@tanstack/match-sorter-utils": "^8.19.4", - "@tanstack/react-query": "^5.66.5", - "@tanstack/react-query-devtools": "^5.66.5", - "@tanstack/react-router": "^1.114.3", - "@tanstack/react-router-devtools": "^1.114.3", - "@tanstack/react-table": "^8.21.2", - "@tanstack/router-plugin": "^1.114.3", - "@tauri-apps/api": "^2.5.0", - "@tauri-apps/plugin-clipboard-manager": "^2.2.2", - "@tauri-apps/plugin-dialog": "^2.2.1", - "@tauri-apps/plugin-shell": "^2.2.1", - "@untitled-theme/icons-react": "^0.14.0", - "motion": "^12.10.5", - "overlayscrollbars": "^2.11.2", - "overlayscrollbars-react": "^0.5.6", - "react": "^19.0.0", - "react-aria-components": "^1.8.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^3.2.0", - "tailwind-variants": "^1.0.0", - "tailwindcss": "^4.0.6", - "tailwindcss-animated": "^2.0.0", - "tailwindcss-react-aria-components": "^2.0.0", - "taurpc": "^1.8.1", - "zustand": "^5.0.5" + "@tailwindcss/vite": "catalog:", + "@tanstack/match-sorter-utils": "catalog:", + "@tanstack/react-query": "catalog:", + "@tanstack/react-query-devtools": "catalog:", + "@tanstack/react-router": "catalog:", + "@tanstack/react-router-devtools": "catalog:", + "@tanstack/react-table": "catalog:", + "@tanstack/router-plugin": "catalog:", + "@tauri-apps/api": "catalog:", + "@tauri-apps/plugin-clipboard-manager": "catalog:", + "@tauri-apps/plugin-dialog": "catalog:", + "@tauri-apps/plugin-shell": "catalog:", + "@untitled-theme/icons-react": "catalog:", + "motion": "catalog:", + "overlayscrollbars": "catalog:", + "overlayscrollbars-react": "catalog:", + "react": "catalog:", + "react-aria-components": "catalog:", + "react-dom": "catalog:", + "tailwind-merge": "catalog:", + "tailwind-variants": "catalog:", + "tailwindcss": "catalog:", + "tailwindcss-animated": "catalog:", + "tailwindcss-react-aria-components": "catalog:", + "taurpc": "catalog:", + "zustand": "catalog:" }, "devDependencies": { - "@tanstack/eslint-config": "^0.1.0", - "@types/react": "^19.0.8", - "@types/react-dom": "^19.0.3", - "@vitejs/plugin-react": "^4.3.4", - "typescript": "^5.7.2", - "vite": "^6.1.0", - "vite-plugin-svgr": "^4.3.0" + "@tanstack/eslint-config": "catalog:", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@vitejs/plugin-react": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vite-plugin-svgr": "catalog:" } } diff --git a/apps/onelauncher/frontend/package.json b/apps/onelauncher/frontend/package.json index a3c44f0c..69e0a441 100644 --- a/apps/onelauncher/frontend/package.json +++ b/apps/onelauncher/frontend/package.json @@ -11,42 +11,42 @@ "check": "eslint --fix" }, "dependencies": { - "@fontsource/poppins": "^5.2.6", + "@fontsource/poppins": "catalog:", "@onelauncher/common": "workspace:*", - "@tailwindcss/vite": "^4.0.6", - "@tanstack/match-sorter-utils": "^8.19.4", - "@tanstack/react-query": "^5.66.5", - "@tanstack/react-query-devtools": "^5.66.5", - "@tanstack/react-router": "^1.114.3", - "@tanstack/react-router-devtools": "^1.114.3", - "@tanstack/react-table": "^8.21.2", - "@tanstack/router-plugin": "^1.114.3", - "@tauri-apps/api": "^2.5.0", - "@tauri-apps/plugin-clipboard-manager": "^2.2.2", - "@tauri-apps/plugin-dialog": "^2.2.1", - "@tauri-apps/plugin-opener": "^2.3.0", - "@tauri-apps/plugin-shell": "^2.2.1", - "@untitled-theme/icons-react": "^0.14.0", - "motion": "^12.10.5", - "overlayscrollbars": "^2.11.2", - "overlayscrollbars-react": "^0.5.6", - "react": "^19.0.0", - "react-aria-components": "^1.8.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^3.2.0", - "tailwind-variants": "^1.0.0", - "tailwindcss": "^4.0.6", - "tailwindcss-animated": "^2.0.0", - "tailwindcss-react-aria-components": "^2.0.0", - "taurpc": "^1.8.1", - "valtio": "^2.1.5" + "@tailwindcss/vite": "catalog:", + "@tanstack/match-sorter-utils": "catalog:", + "@tanstack/react-query": "catalog:", + "@tanstack/react-query-devtools": "catalog:", + "@tanstack/react-router": "catalog:", + "@tanstack/react-router-devtools": "catalog:", + "@tanstack/react-table": "catalog:", + "@tanstack/router-plugin": "catalog:", + "@tauri-apps/api": "catalog:", + "@tauri-apps/plugin-clipboard-manager": "catalog:", + "@tauri-apps/plugin-dialog": "catalog:", + "@tauri-apps/plugin-opener": "catalog:", + "@tauri-apps/plugin-shell": "catalog:", + "@untitled-theme/icons-react": "catalog:", + "motion": "catalog:", + "overlayscrollbars": "catalog:", + "overlayscrollbars-react": "catalog:", + "react": "catalog:", + "react-aria-components": "catalog:", + "react-dom": "catalog:", + "tailwind-merge": "catalog:", + "tailwind-variants": "catalog:", + "tailwindcss": "catalog:", + "tailwindcss-animated": "catalog:", + "tailwindcss-react-aria-components": "catalog:", + "taurpc": "catalog:", + "valtio": "catalog:" }, "devDependencies": { - "@tanstack/eslint-config": "^0.1.0", - "@types/react": "^19.0.8", - "@types/react-dom": "^19.0.3", - "@vitejs/plugin-react": "^4.3.4", - "typescript": "^5.7.2", - "vite": "^6.1.0" + "@tanstack/eslint-config": "catalog:", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@vitejs/plugin-react": "catalog:", + "typescript": "catalog:", + "vite": "catalog:" } } diff --git a/package.json b/package.json index fd274981..43425058 100644 --- a/package.json +++ b/package.json @@ -49,20 +49,14 @@ ] }, "devDependencies": { - "@eslint-react/eslint-plugin": "^1.48.5", - "@flowr/eslint": "^6.0.0", - "@tanstack/eslint-config": "^0.1.0", - "@tanstack/eslint-plugin-query": "5.74.7", - "@tanstack/eslint-plugin-router": "1.115.0", - "@types/node": "^22.7.9", - "@unocss/eslint-plugin": "^66.0.0", - "eslint": "^9.20.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-solid": "^0.14.5", - "jiti": "^2.3.3", - "rimraf": "^6.0.1", - "tsx": "^4.19.4", - "typescript": "^5.8.3", - "vite": "^6.3.4" + "@eslint-react/eslint-plugin": "catalog:", + "@flowr/eslint": "catalog:", + "@tanstack/eslint-config": "catalog:", + "@types/node": "catalog:", + "eslint": "catalog:", + "rimraf": "catalog:", + "tsx": "catalog:", + "typescript": "catalog:", + "vite": "catalog:" } } diff --git a/packages/web_common/package.json b/packages/web_common/package.json index 0a99a4aa..d1818ed5 100644 --- a/packages/web_common/package.json +++ b/packages/web_common/package.json @@ -22,29 +22,29 @@ "build": "vite build" }, "peerDependencies": { - "@tanstack/react-query": "^5.66.5", - "@tanstack/react-router": "^1.114.3", - "@untitled-theme/icons-react": "^0.14.0", - "motion": "^12.10.5", - "react": "^19.0.0", - "react-aria-components": "^1.8.0", - "tailwind-merge": "^3.2.0", - "tailwind-variants": "^1.0.0", - "tailwindcss": "^4.0.6", - "tailwindcss-animated": "^2.0.0", - "tailwindcss-react-aria-components": "^2.0.0" - }, - "devDependencies": { - "@tailwindcss/vite": "^4.0.6", - "@types/react": "^19.0.8", - "@vitejs/plugin-react": "^4.3.4", - "typescript": "^5.8.3", - "vite": "^6.1.0", - "vite-plugin-dts": "^4.5.4", - "vite-plugin-static-copy": "^3.0.0" + "@tanstack/react-query": "catalog:", + "@tanstack/react-router": "catalog:", + "@untitled-theme/icons-react": "catalog:", + "motion": "catalog:", + "react": "catalog:", + "react-aria-components": "catalog:", + "tailwind-merge": "catalog:", + "tailwind-variants": "catalog:", + "tailwindcss": "catalog:", + "tailwindcss-animated": "catalog:", + "tailwindcss-react-aria-components": "catalog:" }, "dependencies": { - "@untitled-theme/icons-react": "^0.14.0", - "overlayscrollbars-react": "^0.5.6" + "@untitled-theme/icons-react": "catalog:", + "overlayscrollbars-react": "catalog:" + }, + "devDependencies": { + "@tailwindcss/vite": "catalog:", + "@types/react": "catalog:", + "@vitejs/plugin-react": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vite-plugin-dts": "catalog:", + "vite-plugin-static-copy": "catalog:" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe59b9ad..4cf77109 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,55 +4,175 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +catalogs: + default: + '@eslint-react/eslint-plugin': + specifier: ^1.48.5 + version: 1.48.5 + '@flowr/eslint': + specifier: ^6.0.0 + version: 6.0.0 + '@fontsource/poppins': + specifier: ^5.2.6 + version: 5.2.6 + '@formatjs/intl-durationformat': + specifier: ^0.7.4 + version: 0.7.4 + '@tailwindcss/vite': + specifier: ^4.0.6 + version: 4.1.10 + '@tanstack/eslint-config': + specifier: ^0.1.0 + version: 0.1.0 + '@tanstack/match-sorter-utils': + specifier: ^8.19.4 + version: 8.19.4 + '@tanstack/react-query': + specifier: ^5.66.5 + version: 5.75.0 + '@tanstack/react-query-devtools': + specifier: ^5.66.5 + version: 5.75.0 + '@tanstack/react-router': + specifier: ^1.114.3 + version: 1.119.0 + '@tanstack/react-router-devtools': + specifier: ^1.114.3 + version: 1.119.1 + '@tanstack/react-table': + specifier: ^8.21.2 + version: 8.21.3 + '@tanstack/router-plugin': + specifier: ^1.114.3 + version: 1.119.0 + '@tauri-apps/api': + specifier: ^2.5.0 + version: 2.5.0 + '@tauri-apps/plugin-clipboard-manager': + specifier: ^2.2.2 + version: 2.2.2 + '@tauri-apps/plugin-dialog': + specifier: ^2.2.1 + version: 2.2.1 + '@tauri-apps/plugin-opener': + specifier: ^2.3.0 + version: 2.3.0 + '@tauri-apps/plugin-shell': + specifier: ^2.2.1 + version: 2.2.1 + '@types/node': + specifier: ^22.13.14 + version: 22.16.5 + '@types/react': + specifier: ^19.0.8 + version: 19.1.2 + '@types/react-dom': + specifier: ^19.0.3 + version: 19.1.3 + '@untitled-theme/icons-react': + specifier: ^0.14.0 + version: 0.14.0 + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.4.1 + eslint: + specifier: ^9.20.0 + version: 9.25.1 + motion: + specifier: ^12.10.5 + version: 12.10.5 + overlayscrollbars: + specifier: ^2.11.2 + version: 2.11.2 + overlayscrollbars-react: + specifier: ^0.5.6 + version: 0.5.6 + react: + specifier: ^19.0.0 + version: 19.1.0 + react-aria-components: + specifier: ^1.8.0 + version: 1.8.0 + react-dom: + specifier: ^19.0.0 + version: 19.1.0 + rimraf: + specifier: ^6.0.1 + version: 6.0.1 + tailwind-merge: + specifier: ^3.2.0 + version: 3.2.0 + tailwind-variants: + specifier: ^1.0.0 + version: 1.0.0 + tailwindcss: + specifier: ^4.0.6 + version: 4.1.10 + tailwindcss-animated: + specifier: ^2.0.0 + version: 2.0.0 + tailwindcss-react-aria-components: + specifier: ^2.0.0 + version: 2.0.0 + taurpc: + specifier: ^1.8.1 + version: 1.8.1 + tsx: + specifier: ^4.19.4 + version: 4.19.4 + typescript: + specifier: ^5.8.3 + version: 5.8.3 + valtio: + specifier: ^2.1.5 + version: 2.1.5 + vite: + specifier: ^6.3.4 + version: 6.3.4 + vite-plugin-dts: + specifier: ^4.5.4 + version: 4.5.4 + vite-plugin-static-copy: + specifier: ^3.0.0 + version: 3.0.0 + vite-plugin-svgr: + specifier: ^4.3.0 + version: 4.3.0 + zustand: + specifier: ^5.0.5 + version: 5.0.5 + importers: .: devDependencies: '@eslint-react/eslint-plugin': - specifier: ^1.48.5 + specifier: 'catalog:' version: 1.48.5(eslint@9.25.1(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3) '@flowr/eslint': - specifier: ^6.0.0 - version: 6.0.0(@eslint-react/eslint-plugin@1.48.5(eslint@9.25.1(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3))(@tanstack/eslint-plugin-query@5.74.7(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@typescript-eslint/utils@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.0.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.25.1(jiti@2.4.2)))(eslint-plugin-solid@0.14.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@2.1.3)(vue-eslint-parser@9.4.3(eslint@9.25.1(jiti@2.4.2))) + specifier: 'catalog:' + version: 6.0.0(@eslint-react/eslint-plugin@1.48.5(eslint@9.25.1(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3))(@tanstack/eslint-plugin-query@5.74.7(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@typescript-eslint/utils@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.25.1(jiti@2.4.2)))(eslint-plugin-solid@0.14.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@2.1.3)(vue-eslint-parser@9.4.3(eslint@9.25.1(jiti@2.4.2))) '@tanstack/eslint-config': - specifier: ^0.1.0 + specifier: 'catalog:' version: 0.1.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - '@tanstack/eslint-plugin-query': - specifier: 5.74.7 - version: 5.74.7(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - '@tanstack/eslint-plugin-router': - specifier: 1.115.0 - version: 1.115.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@types/node': - specifier: ^22.7.9 - version: 22.7.9 - '@unocss/eslint-plugin': - specifier: ^66.0.0 - version: 66.0.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) + specifier: 'catalog:' + version: 22.16.5 eslint: - specifier: ^9.20.0 + specifier: 'catalog:' version: 9.25.1(jiti@2.4.2) - eslint-plugin-react-hooks: - specifier: ^5.2.0 - version: 5.2.0(eslint@9.25.1(jiti@2.4.2)) - eslint-plugin-solid: - specifier: ^0.14.5 - version: 0.14.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - jiti: - specifier: ^2.3.3 - version: 2.4.2 rimraf: - specifier: ^6.0.1 + specifier: 'catalog:' version: 6.0.1 tsx: - specifier: ^4.19.4 + specifier: 'catalog:' version: 4.19.4 typescript: - specifier: ^5.8.3 + specifier: 'catalog:' version: 5.8.3 vite: - specifier: ^6.3.4 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + specifier: 'catalog:' + version: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) .github/actions/publish-artifacts: dependencies: @@ -86,114 +206,114 @@ importers: apps/oneclient/frontend: dependencies: '@fontsource/poppins': - specifier: ^5.2.6 + specifier: 'catalog:' version: 5.2.6 '@formatjs/intl-durationformat': - specifier: ^0.7.4 + specifier: 'catalog:' version: 0.7.4 '@onelauncher/common': specifier: workspace:* version: link:../../../packages/web_common '@tailwindcss/vite': - specifier: ^4.0.6 - version: 4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.1.10(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tanstack/match-sorter-utils': - specifier: ^8.19.4 + specifier: 'catalog:' version: 8.19.4 '@tanstack/react-query': - specifier: ^5.66.5 + specifier: 'catalog:' version: 5.75.0(react@19.1.0) '@tanstack/react-query-devtools': - specifier: ^5.66.5 + specifier: 'catalog:' version: 5.75.0(@tanstack/react-query@5.75.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router': - specifier: ^1.114.3 + specifier: 'catalog:' version: 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router-devtools': - specifier: ^1.114.3 + specifier: 'catalog:' version: 1.119.1(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.119.0)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tiny-invariant@1.3.3) '@tanstack/react-table': - specifier: ^8.21.2 + specifier: 'catalog:' version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/router-plugin': - specifier: ^1.114.3 - version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tauri-apps/api': - specifier: ^2.5.0 + specifier: 'catalog:' version: 2.5.0 '@tauri-apps/plugin-clipboard-manager': - specifier: ^2.2.2 + specifier: 'catalog:' version: 2.2.2 '@tauri-apps/plugin-dialog': - specifier: ^2.2.1 + specifier: 'catalog:' version: 2.2.1 '@tauri-apps/plugin-shell': - specifier: ^2.2.1 + specifier: 'catalog:' version: 2.2.1 '@untitled-theme/icons-react': - specifier: ^0.14.0 + specifier: 'catalog:' version: 0.14.0(@types/react@19.1.2)(react@19.1.0) motion: - specifier: ^12.10.5 + specifier: 'catalog:' version: 12.10.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) overlayscrollbars: - specifier: ^2.11.2 + specifier: 'catalog:' version: 2.11.2 overlayscrollbars-react: - specifier: ^0.5.6 + specifier: 'catalog:' version: 0.5.6(overlayscrollbars@2.11.2)(react@19.1.0) react: - specifier: ^19.0.0 + specifier: 'catalog:' version: 19.1.0 react-aria-components: - specifier: ^1.8.0 + specifier: 'catalog:' version: 1.8.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-dom: - specifier: ^19.0.0 + specifier: 'catalog:' version: 19.1.0(react@19.1.0) tailwind-merge: - specifier: ^3.2.0 + specifier: 'catalog:' version: 3.2.0 tailwind-variants: - specifier: ^1.0.0 - version: 1.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 1.0.0(tailwindcss@4.1.10) tailwindcss: - specifier: ^4.0.6 - version: 4.1.5 + specifier: 'catalog:' + version: 4.1.10 tailwindcss-animated: - specifier: ^2.0.0 - version: 2.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 2.0.0(tailwindcss@4.1.10) tailwindcss-react-aria-components: - specifier: ^2.0.0 - version: 2.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 2.0.0(tailwindcss@4.1.10) taurpc: - specifier: ^1.8.1 + specifier: 'catalog:' version: 1.8.1 zustand: - specifier: ^5.0.5 + specifier: 'catalog:' version: 5.0.5(@types/react@19.1.2)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) devDependencies: '@tanstack/eslint-config': - specifier: ^0.1.0 + specifier: 'catalog:' version: 0.1.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@types/react': - specifier: ^19.0.8 + specifier: 'catalog:' version: 19.1.2 '@types/react-dom': - specifier: ^19.0.3 + specifier: 'catalog:' version: 19.1.3(@types/react@19.1.2) '@vitejs/plugin-react': - specifier: ^4.3.4 - version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.4.1(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) typescript: - specifier: ^5.7.2 + specifier: 'catalog:' version: 5.8.3 vite: - specifier: ^6.1.0 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + specifier: 'catalog:' + version: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) vite-plugin-svgr: - specifier: ^4.3.0 - version: 4.3.0(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.3.0(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) apps/onelauncher/desktop: dependencies: @@ -208,111 +328,111 @@ importers: apps/onelauncher/frontend: dependencies: '@fontsource/poppins': - specifier: ^5.2.6 + specifier: 'catalog:' version: 5.2.6 '@onelauncher/common': specifier: workspace:* version: link:../../../packages/web_common '@tailwindcss/vite': - specifier: ^4.0.6 - version: 4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.1.10(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tanstack/match-sorter-utils': - specifier: ^8.19.4 + specifier: 'catalog:' version: 8.19.4 '@tanstack/react-query': - specifier: ^5.66.5 + specifier: 'catalog:' version: 5.75.0(react@19.1.0) '@tanstack/react-query-devtools': - specifier: ^5.66.5 + specifier: 'catalog:' version: 5.75.0(@tanstack/react-query@5.75.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router': - specifier: ^1.114.3 + specifier: 'catalog:' version: 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router-devtools': - specifier: ^1.114.3 + specifier: 'catalog:' version: 1.119.1(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.119.0)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tiny-invariant@1.3.3) '@tanstack/react-table': - specifier: ^8.21.2 + specifier: 'catalog:' version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/router-plugin': - specifier: ^1.114.3 - version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tauri-apps/api': - specifier: ^2.5.0 + specifier: 'catalog:' version: 2.5.0 '@tauri-apps/plugin-clipboard-manager': - specifier: ^2.2.2 + specifier: 'catalog:' version: 2.2.2 '@tauri-apps/plugin-dialog': - specifier: ^2.2.1 + specifier: 'catalog:' version: 2.2.1 '@tauri-apps/plugin-opener': - specifier: ^2.3.0 + specifier: 'catalog:' version: 2.3.0 '@tauri-apps/plugin-shell': - specifier: ^2.2.1 + specifier: 'catalog:' version: 2.2.1 '@untitled-theme/icons-react': - specifier: ^0.14.0 + specifier: 'catalog:' version: 0.14.0(@types/react@19.1.2)(react@19.1.0) motion: - specifier: ^12.10.5 + specifier: 'catalog:' version: 12.10.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) overlayscrollbars: - specifier: ^2.11.2 + specifier: 'catalog:' version: 2.11.2 overlayscrollbars-react: - specifier: ^0.5.6 + specifier: 'catalog:' version: 0.5.6(overlayscrollbars@2.11.2)(react@19.1.0) react: - specifier: ^19.0.0 + specifier: 'catalog:' version: 19.1.0 react-aria-components: - specifier: ^1.8.0 + specifier: 'catalog:' version: 1.8.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-dom: - specifier: ^19.0.0 + specifier: 'catalog:' version: 19.1.0(react@19.1.0) tailwind-merge: - specifier: ^3.2.0 + specifier: 'catalog:' version: 3.2.0 tailwind-variants: - specifier: ^1.0.0 - version: 1.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 1.0.0(tailwindcss@4.1.10) tailwindcss: - specifier: ^4.0.6 - version: 4.1.5 + specifier: 'catalog:' + version: 4.1.10 tailwindcss-animated: - specifier: ^2.0.0 - version: 2.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 2.0.0(tailwindcss@4.1.10) tailwindcss-react-aria-components: - specifier: ^2.0.0 - version: 2.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 2.0.0(tailwindcss@4.1.10) taurpc: - specifier: ^1.8.1 + specifier: 'catalog:' version: 1.8.1 valtio: - specifier: ^2.1.5 + specifier: 'catalog:' version: 2.1.5(@types/react@19.1.2)(react@19.1.0) devDependencies: '@tanstack/eslint-config': - specifier: ^0.1.0 + specifier: 'catalog:' version: 0.1.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@types/react': - specifier: ^19.0.8 + specifier: 'catalog:' version: 19.1.2 '@types/react-dom': - specifier: ^19.0.3 + specifier: 'catalog:' version: 19.1.3(@types/react@19.1.2) '@vitejs/plugin-react': - specifier: ^4.3.4 - version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.4.1(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) typescript: - specifier: ^5.7.2 + specifier: 'catalog:' version: 5.8.3 vite: - specifier: ^6.1.0 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + specifier: 'catalog:' + version: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) packages/core: {} @@ -357,63 +477,63 @@ importers: packages/web_common: dependencies: '@tanstack/react-query': - specifier: ^5.66.5 + specifier: 'catalog:' version: 5.75.0(react@19.1.0) '@tanstack/react-router': - specifier: ^1.114.3 + specifier: 'catalog:' version: 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@untitled-theme/icons-react': - specifier: ^0.14.0 + specifier: 'catalog:' version: 0.14.0(@types/react@19.1.2)(react@19.1.0) motion: - specifier: ^12.10.5 + specifier: 'catalog:' version: 12.10.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) overlayscrollbars-react: - specifier: ^0.5.6 + specifier: 'catalog:' version: 0.5.6(overlayscrollbars@2.11.2)(react@19.1.0) react: - specifier: ^19.0.0 + specifier: 'catalog:' version: 19.1.0 react-aria-components: - specifier: ^1.8.0 + specifier: 'catalog:' version: 1.8.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) tailwind-merge: - specifier: ^3.2.0 + specifier: 'catalog:' version: 3.2.0 tailwind-variants: - specifier: ^1.0.0 - version: 1.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 1.0.0(tailwindcss@4.1.10) tailwindcss: - specifier: ^4.0.6 - version: 4.1.5 + specifier: 'catalog:' + version: 4.1.10 tailwindcss-animated: - specifier: ^2.0.0 - version: 2.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 2.0.0(tailwindcss@4.1.10) tailwindcss-react-aria-components: - specifier: ^2.0.0 - version: 2.0.0(tailwindcss@4.1.5) + specifier: 'catalog:' + version: 2.0.0(tailwindcss@4.1.10) devDependencies: '@tailwindcss/vite': - specifier: ^4.0.6 - version: 4.1.10(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.1.10(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@types/react': - specifier: ^19.0.8 + specifier: 'catalog:' version: 19.1.2 '@vitejs/plugin-react': - specifier: ^4.3.4 - version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.4.1(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) typescript: - specifier: ^5.8.3 + specifier: 'catalog:' version: 5.8.3 vite: - specifier: ^6.1.0 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + specifier: 'catalog:' + version: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) vite-plugin-dts: - specifier: ^4.5.4 - version: 4.5.4(@types/node@22.7.9)(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 4.5.4(@types/node@22.16.5)(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) vite-plugin-static-copy: - specifier: ^3.0.0 - version: 3.0.0(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + specifier: 'catalog:' + version: 3.0.0(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) packages: @@ -445,9 +565,6 @@ packages: '@antfu/install-pkg@1.0.0': resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@azure/abort-controller@1.1.0': resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} @@ -554,11 +671,6 @@ packages: resolution: {integrity: sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.1': - resolution: {integrity: sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.27.5': resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} engines: {node: '>=6.0.0'} @@ -596,10 +708,6 @@ packages: resolution: {integrity: sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==} engines: {node: '>=6.9.0'} - '@babel/types@7.27.1': - resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} - engines: {node: '>=6.9.0'} - '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} @@ -1485,10 +1593,6 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@pkgr/core@0.2.4': resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -2435,117 +2539,60 @@ packages: '@tailwindcss/node@4.1.10': resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==} - '@tailwindcss/node@4.1.5': - resolution: {integrity: sha512-CBhSWo0vLnWhXIvpD0qsPephiaUYfHUX3U9anwDaHZAeuGpTiB3XmsxPAN6qX7bFhipyGBqOa1QYQVVhkOUGxg==} - '@tailwindcss/oxide-android-arm64@4.1.10': resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-android-arm64@4.1.5': - resolution: {integrity: sha512-LVvM0GirXHED02j7hSECm8l9GGJ1RfgpWCW+DRn5TvSaxVsv28gRtoL4aWKGnXqwvI3zu1GABeDNDVZeDPOQrw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.10': resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-arm64@4.1.5': - resolution: {integrity: sha512-//TfCA3pNrgnw4rRJOqavW7XUk8gsg9ddi8cwcsWXp99tzdBAZW0WXrD8wDyNbqjW316Pk2hiN/NJx/KWHl8oA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.10': resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.5': - resolution: {integrity: sha512-XQorp3Q6/WzRd9OalgHgaqgEbjP3qjHrlSUb5k1EuS1Z9NE9+BbzSORraO+ecW432cbCN7RVGGL/lSnHxcd+7Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.10': resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-freebsd-x64@4.1.5': - resolution: {integrity: sha512-bPrLWbxo8gAo97ZmrCbOdtlz/Dkuy8NK97aFbVpkJ2nJ2Jo/rsCbu0TlGx8joCuA3q6vMWTSn01JY46iwG+clg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.5': - resolution: {integrity: sha512-1gtQJY9JzMAhgAfvd/ZaVOjh/Ju/nCoAsvOVJenWZfs05wb8zq+GOTnZALWGqKIYEtyNpCzvMk+ocGpxwdvaVg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.5': - resolution: {integrity: sha512-dtlaHU2v7MtdxBXoqhxwsWjav7oim7Whc6S9wq/i/uUMTWAzq/gijq1InSgn2yTnh43kR+SFvcSyEF0GCNu1PQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.10': resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.5': - resolution: {integrity: sha512-fg0F6nAeYcJ3CriqDT1iVrqALMwD37+sLzXs8Rjy8Z1ZHshJoYceodfyUwGJEsQoTyWbliFNRs2wMQNXtT7MVA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.10': resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.5': - resolution: {integrity: sha512-SO+F2YEIAHa1AITwc8oPwMOWhgorPzzcbhWEb+4oLi953h45FklDmM8dPSZ7hNHpIk9p/SCZKUYn35t5fjGtHA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.10': resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.5': - resolution: {integrity: sha512-6UbBBplywkk/R+PqqioskUeXfKcBht3KU7juTi1UszJLx0KPXUo10v2Ok04iBJIaDPkIFkUOVboXms5Yxvaz+g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.1.10': resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==} engines: {node: '>=14.0.0'} @@ -2558,60 +2605,27 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-wasm32-wasi@4.1.5': - resolution: {integrity: sha512-hwALf2K9FHuiXTPqmo1KeOb83fTRNbe9r/Ixv9ZNQ/R24yw8Ge1HOWDDgTdtzntIaIUJG5dfXCf4g9AD4RiyhQ==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - bundledDependencies: - - '@napi-rs/wasm-runtime' - - '@emnapi/core' - - '@emnapi/runtime' - - '@tybys/wasm-util' - - '@emnapi/wasi-threads' - - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-arm64-msvc@4.1.5': - resolution: {integrity: sha512-oDKncffWzaovJbkuR7/OTNFRJQVdiw/n8HnzaCItrNQUeQgjy7oUiYpsm9HUBgpmvmDpSSbGaCa2Evzvk3eFmA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.10': resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.5': - resolution: {integrity: sha512-WiR4dtyrFdbb+ov0LK+7XsFOsG+0xs0PKZKkt41KDn9jYpO7baE3bXiudPVkTqUEwNfiglCygQHl2jklvSBi7Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - '@tailwindcss/oxide@4.1.10': resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==} engines: {node: '>= 10'} - '@tailwindcss/oxide@4.1.5': - resolution: {integrity: sha512-1n4br1znquEvyW/QuqMKQZlBen+jxAbvyduU87RS8R3tUSvByAkcaMTkJepNIrTlYhD+U25K4iiCIxE6BGdRYA==} - engines: {node: '>= 10'} - '@tailwindcss/vite@4.1.10': resolution: {integrity: sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==} peerDependencies: vite: ^5.2.0 || ^6 - '@tailwindcss/vite@4.1.5': - resolution: {integrity: sha512-FE1stRoqdHSb7RxesMfCXE8icwI1W6zGE/512ae3ZDrpkQYTTYeSyUJPRCjZd8CwVAhpDUbi1YR8pcZioFJQ/w==} - peerDependencies: - vite: ^5.2.0 || ^6 - '@tanstack/eslint-config@0.1.0': resolution: {integrity: sha512-/lVsQmmezpqqbCFtaxGNkoSnQ/+H0PAHyHF37PGQ6ZBrF8RXktgazMdsD5SCaNT9oEnGCl274GCZ9sY80b50Sg==} engines: {node: '>=18'} @@ -2621,11 +2635,6 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@tanstack/eslint-plugin-router@1.115.0': - resolution: {integrity: sha512-vwKP9NjzAQ2nU3qADDoTSTxD1vNduLcK0312AWkXkicCWUZQZJtmRuZXPk9cEfuzDD2BAJCIUmlaF1K0vq4oRw==} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - '@tanstack/history@1.115.0': resolution: {integrity: sha512-K7JJNrRVvyjAVnbXOH2XLRhFXDkeP54Kt2P4FR1Kl2KDGlIbkua5VqZQD2rot3qaDrpufyUa63nuLai1kOLTsQ==} engines: {node: '>=12'} @@ -2865,8 +2874,8 @@ packages: '@types/mustache@4.2.5': resolution: {integrity: sha512-PLwiVvTBg59tGFL/8VpcGvqOu3L4OuveNvPi0EYbWchRdEVP++yRUXJPFl+CApKEq13017/4Nf7aQ5lTtHUNsA==} - '@types/node@22.7.9': - resolution: {integrity: sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==} + '@types/node@22.16.5': + resolution: {integrity: sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2932,21 +2941,6 @@ packages: resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unocss/config@66.0.0': - resolution: {integrity: sha512-nFRGop/guBa4jLkrgXjaRDm5JPz4x3YpP10m5IQkHpHwlnHUVn1L9smyPl04ohYWhYn9ZcAHgR28Ih2jwta8hw==} - engines: {node: '>=14'} - - '@unocss/core@66.0.0': - resolution: {integrity: sha512-PdVbSMHNDDkr++9nkqzsZRAkaU84gxMTEgYbqI7dt2p1DXp/5tomVtmMsr2/whXGYKRiUc0xZ3p4Pzraz8TcXA==} - - '@unocss/eslint-plugin@66.0.0': - resolution: {integrity: sha512-KTP6uK0loH9+PkUjL2F4eyuMcUZRiVYkg4zJfqVWNctE1yGkuTUzCvm6ORRvLakajAU8G/Zzvuo1pE94zyZQbw==} - engines: {node: '>=14'} - - '@unocss/rule-utils@66.0.0': - resolution: {integrity: sha512-UJ51YHbwxYTGyj35ugsPlOT4gaa7tCbXdywZ3m5Nn0JgywwIqGmBFyiN9ZjHBHfJuDxmmPd6lxojoBscih/WMQ==} - engines: {node: '>=14'} - '@unrs/resolver-binding-darwin-arm64@1.7.2': resolution: {integrity: sha512-vxtBno4xvowwNmO/ASL0Y45TpHqmNkAaDtz4Jqb+clmcVSSl8XCG/PNFFkGsXXXS6AMjP+ja/TtNCFFa1QwLRg==} cpu: [arm64] @@ -3501,9 +3495,6 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -4289,130 +4280,66 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lightningcss-darwin-arm64@1.29.2: - resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - lightningcss-darwin-arm64@1.30.1: resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.29.2: - resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - lightningcss-darwin-x64@1.30.1: resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.29.2: - resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - lightningcss-freebsd-x64@1.30.1: resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.29.2: - resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - lightningcss-linux-arm-gnueabihf@1.30.1: resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.29.2: - resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - lightningcss-linux-arm64-gnu@1.30.1: resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-arm64-musl@1.29.2: - resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - lightningcss-linux-arm64-musl@1.30.1: resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-x64-gnu@1.29.2: - resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - lightningcss-linux-x64-gnu@1.30.1: resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-linux-x64-musl@1.29.2: - resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - lightningcss-linux-x64-musl@1.30.1: resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-win32-arm64-msvc@1.29.2: - resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - lightningcss-win32-arm64-msvc@1.30.1: resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.29.2: - resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - lightningcss-win32-x64-msvc@1.30.1: resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.29.2: - resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} - engines: {node: '>= 12.0.0'} - lightningcss@1.30.1: resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} engines: {node: '>= 12.0.0'} @@ -5233,10 +5160,6 @@ packages: resolution: {integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==} engines: {node: ^14.18.0 || >=16.0.0} - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} - engines: {node: ^14.18.0 || >=16.0.0} - tailwind-merge@3.0.2: resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==} @@ -5262,9 +5185,6 @@ packages: tailwindcss@4.1.10: resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} - tailwindcss@4.1.5: - resolution: {integrity: sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==} - tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -5421,11 +5341,8 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - unconfig@7.0.0: - resolution: {integrity: sha512-G5CJSoG6ZTxgzCJblEfgpdRK2tos9+UdD2WtecDUVfImzQ0hFjwpH5RVvGMhP4pRpC9ML7NrC4qBsBl0Ttj35A==} - - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} undici@5.28.4: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} @@ -5841,8 +5758,6 @@ snapshots: package-manager-detector: 0.2.11 tinyexec: 0.3.2 - '@antfu/utils@8.1.1': {} - '@azure/abort-controller@1.1.0': dependencies: tslib: 2.8.1 @@ -5953,10 +5868,10 @@ snapshots: '@babel/helper-compilation-targets': 7.27.1 '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1) '@babel/helpers': 7.27.1 - '@babel/parser': 7.27.1 + '@babel/parser': 7.27.5 '@babel/template': 7.27.1 '@babel/traverse': 7.27.1 - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 convert-source-map: 2.0.0 debug: 4.4.0 gensync: 1.0.0-beta.2 @@ -5967,8 +5882,8 @@ snapshots: '@babel/generator@7.27.1': dependencies: - '@babel/parser': 7.27.1 - '@babel/types': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -5989,7 +5904,7 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: '@babel/traverse': 7.27.1 - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color @@ -6013,11 +5928,7 @@ snapshots: '@babel/helpers@7.27.1': dependencies: '@babel/template': 7.27.1 - '@babel/types': 7.27.1 - - '@babel/parser@7.27.1': - dependencies: - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 '@babel/parser@7.27.5': dependencies: @@ -6046,26 +5957,21 @@ snapshots: '@babel/template@7.27.1': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.1 - '@babel/types': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@babel/traverse@7.27.1': dependencies: '@babel/code-frame': 7.27.1 '@babel/generator': 7.27.1 - '@babel/parser': 7.27.1 + '@babel/parser': 7.27.5 '@babel/template': 7.27.1 - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.27.1': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/types@7.27.6': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -6503,7 +6409,7 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@flowr/eslint@6.0.0(@eslint-react/eslint-plugin@1.48.5(eslint@9.25.1(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3))(@tanstack/eslint-plugin-query@5.74.7(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@typescript-eslint/utils@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.0.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.25.1(jiti@2.4.2)))(eslint-plugin-solid@0.14.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@2.1.3)(vue-eslint-parser@9.4.3(eslint@9.25.1(jiti@2.4.2)))': + '@flowr/eslint@6.0.0(@eslint-react/eslint-plugin@1.48.5(eslint@9.25.1(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3))(@tanstack/eslint-plugin-query@5.74.7(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@typescript-eslint/utils@8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.25.1(jiti@2.4.2)))(eslint-plugin-solid@0.14.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@2.1.3)(vue-eslint-parser@9.4.3(eslint@9.25.1(jiti@2.4.2)))': dependencies: '@antfu/install-pkg': 1.0.0 '@clack/prompts': 0.10.1 @@ -6539,7 +6445,6 @@ snapshots: optionalDependencies: '@eslint-react/eslint-plugin': 1.48.5(eslint@9.25.1(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3) '@tanstack/eslint-plugin-query': 5.74.7(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - '@unocss/eslint-plugin': 66.0.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) eslint-plugin-react-hooks: 5.2.0(eslint@9.25.1(jiti@2.4.2)) eslint-plugin-solid: 0.14.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) vue-eslint-parser: 9.4.3(eslint@9.25.1(jiti@2.4.2)) @@ -6647,23 +6552,23 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@microsoft/api-extractor-model@7.30.6(@types/node@22.7.9)': + '@microsoft/api-extractor-model@7.30.6(@types/node@22.16.5)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.7.9) + '@rushstack/node-core-library': 5.13.1(@types/node@22.16.5) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.8(@types/node@22.7.9)': + '@microsoft/api-extractor@7.52.8(@types/node@22.16.5)': dependencies: - '@microsoft/api-extractor-model': 7.30.6(@types/node@22.7.9) + '@microsoft/api-extractor-model': 7.30.6(@types/node@22.16.5) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1(@types/node@22.7.9) + '@rushstack/node-core-library': 5.13.1(@types/node@22.16.5) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3(@types/node@22.7.9) - '@rushstack/ts-command-line': 5.0.1(@types/node@22.7.9) + '@rushstack/terminal': 0.15.3(@types/node@22.16.5) + '@rushstack/ts-command-line': 5.0.1(@types/node@22.16.5) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -6848,8 +6753,6 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.1.1': {} - '@pkgr/core@0.2.4': {} '@pnpm/constants@9.0.0': {} @@ -8057,7 +7960,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.41.1': optional: true - '@rushstack/node-core-library@5.13.1(@types/node@22.7.9)': + '@rushstack/node-core-library@5.13.1(@types/node@22.16.5)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -8068,23 +7971,23 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 22.7.9 + '@types/node': 22.16.5 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.15.3(@types/node@22.7.9)': + '@rushstack/terminal@0.15.3(@types/node@22.16.5)': dependencies: - '@rushstack/node-core-library': 5.13.1(@types/node@22.7.9) + '@rushstack/node-core-library': 5.13.1(@types/node@22.16.5) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.7.9 + '@types/node': 22.16.5 - '@rushstack/ts-command-line@5.0.1(@types/node@22.7.9)': + '@rushstack/ts-command-line@5.0.1(@types/node@22.16.5)': dependencies: - '@rushstack/terminal': 0.15.3(@types/node@22.7.9) + '@rushstack/terminal': 0.15.3(@types/node@22.16.5) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -8170,7 +8073,7 @@ snapshots: '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 entities: 4.5.0 '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))': @@ -8197,85 +8100,42 @@ snapshots: source-map-js: 1.2.1 tailwindcss: 4.1.10 - '@tailwindcss/node@4.1.5': - dependencies: - enhanced-resolve: 5.18.1 - jiti: 2.4.2 - lightningcss: 1.29.2 - tailwindcss: 4.1.5 - '@tailwindcss/oxide-android-arm64@4.1.10': optional: true - '@tailwindcss/oxide-android-arm64@4.1.5': - optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.10': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.5': - optional: true - '@tailwindcss/oxide-darwin-x64@4.1.10': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.5': - optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.10': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.5': - optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.5': - optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.5': - optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.10': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.5': - optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.10': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.5': - optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.10': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.5': - optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.10': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.5': - optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.5': - optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.10': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.5': - optional: true - '@tailwindcss/oxide@4.1.10': dependencies: detect-libc: 2.0.4 @@ -8294,34 +8154,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 '@tailwindcss/oxide-win32-x64-msvc': 4.1.10 - '@tailwindcss/oxide@4.1.5': - optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.5 - '@tailwindcss/oxide-darwin-arm64': 4.1.5 - '@tailwindcss/oxide-darwin-x64': 4.1.5 - '@tailwindcss/oxide-freebsd-x64': 4.1.5 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.5 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.5 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.5 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.5 - '@tailwindcss/oxide-linux-x64-musl': 4.1.5 - '@tailwindcss/oxide-wasm32-wasi': 4.1.5 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.5 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.5 - - '@tailwindcss/vite@4.1.10(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + '@tailwindcss/vite@4.1.10(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': dependencies: '@tailwindcss/node': 4.1.10 '@tailwindcss/oxide': 4.1.10 tailwindcss: 4.1.10 - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) - - '@tailwindcss/vite@4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': - dependencies: - '@tailwindcss/node': 4.1.5 - '@tailwindcss/oxide': 4.1.5 - tailwindcss: 4.1.5 - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) '@tanstack/eslint-config@0.1.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': dependencies: @@ -8344,14 +8182,7 @@ snapshots: transitivePeerDependencies: - supports-color - typescript - - '@tanstack/eslint-plugin-router@1.115.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/utils': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.25.1(jiti@2.4.2) - transitivePeerDependencies: - - supports-color - - typescript + optional: true '@tanstack/history@1.115.0': {} @@ -8435,14 +8266,14 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-plugin@1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + '@tanstack/router-plugin@1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.1) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.1) '@babel/template': 7.27.1 '@babel/traverse': 7.27.1 - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 '@tanstack/router-core': 1.119.0 '@tanstack/router-generator': 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@tanstack/router-utils': 1.115.0 @@ -8456,15 +8287,15 @@ snapshots: zod: 3.25.27 optionalDependencies: '@tanstack/react-router': 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) - vite-plugin-solid: 2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite-plugin-solid: 2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) transitivePeerDependencies: - supports-color '@tanstack/router-utils@1.115.0': dependencies: '@babel/generator': 7.27.1 - '@babel/parser': 7.27.1 + '@babel/parser': 7.27.5 ansis: 3.17.0 diff: 7.0.0 @@ -8548,24 +8379,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.27.1 - '@babel/types': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.7 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.27.1 - '@babel/types': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@types/babel__traverse@7.20.7': dependencies: - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 '@types/debug@4.1.12': dependencies: @@ -8588,9 +8419,9 @@ snapshots: '@types/mustache@4.2.5': {} - '@types/node@22.7.9': + '@types/node@22.16.5': dependencies: - undici-types: 6.19.8 + undici-types: 6.21.0 '@types/normalize-package-data@2.4.4': {} @@ -8683,31 +8514,6 @@ snapshots: '@typescript-eslint/types': 8.31.1 eslint-visitor-keys: 4.2.0 - '@unocss/config@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - unconfig: 7.0.0 - - '@unocss/core@66.0.0': {} - - '@unocss/eslint-plugin@66.0.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': - dependencies: - '@typescript-eslint/utils': 8.31.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - '@unocss/config': 66.0.0 - '@unocss/core': 66.0.0 - '@unocss/rule-utils': 66.0.0 - magic-string: 0.30.17 - synckit: 0.9.2 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@unocss/rule-utils@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - magic-string: 0.30.17 - '@unrs/resolver-binding-darwin-arm64@1.7.2': optional: true @@ -8769,14 +8575,14 @@ snapshots: '@vercel/ncc@0.38.2': {} - '@vitejs/plugin-react@4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + '@vitejs/plugin-react@4.4.1(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.1) '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) transitivePeerDependencies: - supports-color @@ -8786,7 +8592,7 @@ snapshots: eslint: 9.25.1(jiti@2.4.2) optionalDependencies: typescript: 5.8.3 - vitest: 2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3) + vitest: 2.1.3(@types/node@22.16.5)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3) '@vitest/expect@2.1.3': dependencies: @@ -8796,13 +8602,13 @@ snapshots: tinyrainbow: 1.2.0 optional: true - '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3))': + '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3))': dependencies: '@vitest/spy': 2.1.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) + vite: 5.4.10(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3) optional: true '@vitest/pretty-format@2.1.3': @@ -8837,7 +8643,7 @@ snapshots: sirv: 2.0.4 tinyglobby: 0.2.13 tinyrainbow: 1.2.0 - vitest: 2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3) + vitest: 2.1.3(@types/node@22.16.5)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3) optional: true '@vitest/utils@2.1.3': @@ -9009,9 +8815,9 @@ snapshots: babel-dead-code-elimination@1.0.10: dependencies: '@babel/core': 7.27.1 - '@babel/parser': 7.27.1 + '@babel/parser': 7.27.5 '@babel/traverse': 7.27.1 - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color @@ -9258,8 +9064,6 @@ snapshots: deep-is@0.1.4: {} - defu@6.1.4: {} - delayed-stream@1.0.0: optional: true @@ -9597,6 +9401,7 @@ snapshots: eslint-plugin-react-hooks@5.2.0(eslint@9.25.1(jiti@2.4.2)): dependencies: eslint: 9.25.1(jiti@2.4.2) + optional: true eslint-plugin-react-naming-convention@1.48.5(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3): dependencies: @@ -9663,7 +9468,7 @@ snapshots: eslint-plugin-regexp@2.7.0(eslint@9.25.1(jiti@2.4.2)): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.25.1(jiti@2.4.2)) - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 eslint: 9.25.1(jiti@2.4.2) jsdoc-type-pratt-parser: 4.1.0 @@ -9683,6 +9488,7 @@ snapshots: typescript: 5.8.3 transitivePeerDependencies: - supports-color + optional: true eslint-plugin-toml@0.12.0(eslint@9.25.1(jiti@2.4.2)): dependencies: @@ -10021,7 +9827,8 @@ snapshots: html-entities@2.3.3: optional: true - html-tags@3.3.1: {} + html-tags@3.3.1: + optional: true http-proxy-agent@7.0.2: dependencies: @@ -10069,7 +9876,8 @@ snapshots: inherits@2.0.4: {} - inline-style-parser@0.2.4: {} + inline-style-parser@0.2.4: + optional: true intl-messageformat@10.7.16: dependencies: @@ -10107,6 +9915,7 @@ snapshots: is-html@2.0.0: dependencies: html-tags: 3.3.1 + optional: true is-immutable-type@5.0.1(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3): dependencies: @@ -10222,13 +10031,15 @@ snapshots: jwt-decode@3.1.2: {} - kebab-case@1.0.2: {} + kebab-case@1.0.2: + optional: true keyv@4.5.4: dependencies: json-buffer: 3.0.1 - known-css-properties@0.30.0: {} + known-css-properties@0.30.0: + optional: true kolorist@1.8.0: {} @@ -10241,81 +10052,36 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lightningcss-darwin-arm64@1.29.2: - optional: true - lightningcss-darwin-arm64@1.30.1: optional: true - lightningcss-darwin-x64@1.29.2: - optional: true - lightningcss-darwin-x64@1.30.1: optional: true - lightningcss-freebsd-x64@1.29.2: - optional: true - lightningcss-freebsd-x64@1.30.1: optional: true - lightningcss-linux-arm-gnueabihf@1.29.2: - optional: true - lightningcss-linux-arm-gnueabihf@1.30.1: optional: true - lightningcss-linux-arm64-gnu@1.29.2: - optional: true - lightningcss-linux-arm64-gnu@1.30.1: optional: true - lightningcss-linux-arm64-musl@1.29.2: - optional: true - lightningcss-linux-arm64-musl@1.30.1: optional: true - lightningcss-linux-x64-gnu@1.29.2: - optional: true - lightningcss-linux-x64-gnu@1.30.1: optional: true - lightningcss-linux-x64-musl@1.29.2: - optional: true - lightningcss-linux-x64-musl@1.30.1: optional: true - lightningcss-win32-arm64-msvc@1.29.2: - optional: true - lightningcss-win32-arm64-msvc@1.30.1: optional: true - lightningcss-win32-x64-msvc@1.29.2: - optional: true - lightningcss-win32-x64-msvc@1.30.1: optional: true - lightningcss@1.29.2: - dependencies: - detect-libc: 2.0.4 - optionalDependencies: - lightningcss-darwin-arm64: 1.29.2 - lightningcss-darwin-x64: 1.29.2 - lightningcss-freebsd-x64: 1.29.2 - lightningcss-linux-arm-gnueabihf: 1.29.2 - lightningcss-linux-arm64-gnu: 1.29.2 - lightningcss-linux-arm64-musl: 1.29.2 - lightningcss-linux-x64-gnu: 1.29.2 - lightningcss-linux-x64-musl: 1.29.2 - lightningcss-win32-arm64-msvc: 1.29.2 - lightningcss-win32-x64-msvc: 1.29.2 - lightningcss@1.30.1: dependencies: detect-libc: 2.0.4 @@ -11135,11 +10901,11 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-tree@0.1.27: {} @@ -11253,7 +11019,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -11402,6 +11168,7 @@ snapshots: style-to-object@1.0.8: dependencies: inline-style-parser: 0.2.4 + optional: true supports-color@7.2.0: dependencies: @@ -11423,32 +11190,25 @@ snapshots: '@pkgr/core': 0.2.4 tslib: 2.8.1 - synckit@0.9.2: - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.8.1 - tailwind-merge@3.0.2: {} tailwind-merge@3.2.0: {} - tailwind-variants@1.0.0(tailwindcss@4.1.5): + tailwind-variants@1.0.0(tailwindcss@4.1.10): dependencies: tailwind-merge: 3.0.2 - tailwindcss: 4.1.5 + tailwindcss: 4.1.10 - tailwindcss-animated@2.0.0(tailwindcss@4.1.5): + tailwindcss-animated@2.0.0(tailwindcss@4.1.10): dependencies: - tailwindcss: 4.1.5 + tailwindcss: 4.1.10 - tailwindcss-react-aria-components@2.0.0(tailwindcss@4.1.5): + tailwindcss-react-aria-components@2.0.0(tailwindcss@4.1.10): dependencies: - tailwindcss: 4.1.5 + tailwindcss: 4.1.10 tailwindcss@4.1.10: {} - tailwindcss@4.1.5: {} - tapable@2.2.1: {} tar-stream@3.1.7: @@ -11594,13 +11354,7 @@ snapshots: ufo@1.5.4: {} - unconfig@7.0.0: - dependencies: - '@antfu/utils': 8.1.1 - defu: 6.1.4 - jiti: 2.4.2 - - undici-types@6.19.8: {} + undici-types@6.21.0: {} undici@5.28.4: dependencies: @@ -11695,12 +11449,12 @@ snapshots: '@types/react': 19.1.2 react: 19.1.0 - vite-node@2.1.3(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3): + vite-node@2.1.3(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3): dependencies: cac: 6.7.14 debug: 4.4.0 pathe: 1.1.2 - vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) + vite: 5.4.10(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3) transitivePeerDependencies: - '@types/node' - less @@ -11713,9 +11467,9 @@ snapshots: - terser optional: true - vite-plugin-dts@4.5.4(@types/node@22.7.9)(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vite-plugin-dts@4.5.4(@types/node@22.16.5)(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): dependencies: - '@microsoft/api-extractor': 7.52.8(@types/node@22.7.9) + '@microsoft/api-extractor': 7.52.8(@types/node@22.16.5) '@rollup/pluginutils': 5.1.4(rollup@4.41.1) '@volar/typescript': 2.4.14 '@vue/language-core': 2.2.0(typescript@5.8.3) @@ -11726,13 +11480,13 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.3 optionalDependencies: - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): dependencies: '@babel/core': 7.27.1 '@types/babel__core': 7.20.5 @@ -11740,45 +11494,45 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.6 solid-refresh: 0.6.3(solid-js@1.9.6) - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) - vitefu: 1.0.6(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vitefu: 1.0.6(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) transitivePeerDependencies: - supports-color optional: true - vite-plugin-static-copy@3.0.0(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vite-plugin-static-copy@3.0.0(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.13 - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) - vite-plugin-svgr@4.3.0(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vite-plugin-svgr@4.3.0(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) '@svgr/core': 8.1.0(typescript@5.8.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3)) - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) transitivePeerDependencies: - rollup - supports-color - typescript - vite@5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3): + vite@5.4.10(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3): dependencies: esbuild: 0.21.5 postcss: 8.5.3 rollup: 4.41.1 optionalDependencies: - '@types/node': 22.7.9 + '@types/node': 22.16.5 fsevents: 2.3.3 lightningcss: 1.30.1 sass: 1.80.3 optional: true - vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0): + vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0): dependencies: esbuild: 0.25.3 fdir: 6.4.4(picomatch@4.0.2) @@ -11787,7 +11541,7 @@ snapshots: rollup: 4.40.1 tinyglobby: 0.2.13 optionalDependencies: - '@types/node': 22.7.9 + '@types/node': 22.16.5 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 @@ -11795,15 +11549,15 @@ snapshots: tsx: 4.19.4 yaml: 2.6.0 - vitefu@1.0.6(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vitefu@1.0.6(vite@6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): optionalDependencies: - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.16.5)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) optional: true - vitest@2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3): + vitest@2.1.3(@types/node@22.16.5)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3): dependencies: '@vitest/expect': 2.1.3 - '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3)) + '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3)) '@vitest/pretty-format': 2.1.3 '@vitest/runner': 2.1.3 '@vitest/snapshot': 2.1.3 @@ -11818,11 +11572,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) - vite-node: 2.1.3(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) + vite: 5.4.10(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3) + vite-node: 2.1.3(@types/node@22.16.5)(lightningcss@1.30.1)(sass@1.80.3) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.7.9 + '@types/node': 22.16.5 '@vitest/ui': 2.1.3(vitest@2.1.3) jsdom: 25.0.1 transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4d5f7e28..e3a767fb 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,3 +3,75 @@ packages: - apps/onelauncher/* - packages/* - .github/actions/* + +catalog: + # -- + # dev dependencies + # --- + + # typescript + tsx: ^4.19.4 + typescript: ^5.8.3 + '@types/node': ^22.13.14 + '@types/react': ^19.0.8 + '@types/react-dom': ^19.0.3 + + # eslintjs + eslint: ^9.20.0 + '@flowr/eslint': ^6.0.0 + '@eslint-react/eslint-plugin': ^1.48.5 + '@tanstack/eslint-config': ^0.1.0 + + # vite + vite: ^6.3.4 + vite-plugin-dts: ^4.5.4 + vite-plugin-static-copy: ^3.0.0 + vite-plugin-svgr: ^4.3.0 + '@vitejs/plugin-react': ^4.3.4 + '@tailwindcss/vite': ^4.0.6 + + # other + rimraf: ^6.0.1 + + # --- + # dependencies + # --- + + # react + libraries + react: ^19.0.0 + react-aria-components: ^1.8.0 + '@tanstack/react-query': ^5.66.5 + '@tanstack/react-router': ^1.114.3 + '@untitled-theme/icons-react': ^0.14.0 + motion: ^12.10.5 + react-dom: ^19.0.0 + + # tailwindcss + tailwind-merge: ^3.2.0 + tailwind-variants: ^1.0.0 + tailwindcss: ^4.0.6 + tailwindcss-animated: ^2.0.0 + tailwindcss-react-aria-components: ^2.0.0 + + # tanstack + '@tanstack/match-sorter-utils': ^8.19.4 + '@tanstack/react-query-devtools': ^5.66.5 + '@tanstack/react-router-devtools': ^1.114.3 + '@tanstack/react-table': ^8.21.2 + '@tanstack/router-plugin': ^1.114.3 + + # tauri + taurpc: ^1.8.1 + '@tauri-apps/api': ^2.5.0 + '@tauri-apps/plugin-clipboard-manager': ^2.2.2 + '@tauri-apps/plugin-dialog': ^2.2.1 + '@tauri-apps/plugin-shell': ^2.2.1 + '@tauri-apps/plugin-opener': ^2.3.0 + + # other + overlayscrollbars: ^2.11.2 + overlayscrollbars-react: ^0.5.6 + '@fontsource/poppins': ^5.2.6 + '@formatjs/intl-durationformat': ^0.7.4 + zustand: ^5.0.5 + valtio: ^2.1.5