├── .editorconfig ├── .github └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── .prettierrc ├── CHANGELOG.md ├── LICENSE ├── README.md ├── example ├── .gitignore ├── README.md ├── index.html ├── package.json ├── public │ └── vite.svg ├── src-tauri │ ├── .gitignore │ ├── Cargo.lock │ ├── Cargo.toml │ ├── build.rs │ ├── capabilities │ │ └── default.json │ ├── icons │ │ ├── 128x128.png │ │ ├── 128x128@2x.png │ │ ├── 32x32.png │ │ ├── Square107x107Logo.png │ │ ├── Square142x142Logo.png │ │ ├── Square150x150Logo.png │ │ ├── Square284x284Logo.png │ │ ├── Square30x30Logo.png │ │ ├── Square310x310Logo.png │ │ ├── Square44x44Logo.png │ │ ├── Square71x71Logo.png │ │ ├── Square89x89Logo.png │ │ ├── StoreLogo.png │ │ ├── icon.icns │ │ ├── icon.ico │ │ └── icon.png │ ├── src │ │ └── main.rs │ └── tauri.conf.json ├── src │ ├── App.vue │ ├── assets │ │ └── vue.svg │ ├── components │ │ └── HelloWorld.vue │ ├── main.js │ └── style.css ├── vite.config.tauri.ts └── vite.config.ts ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── index.ts └── utils.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | tags: 4 | - "v*" 5 | 6 | jobs: 7 | release: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | - run: corepack enable 12 | - uses: actions/setup-node@v4 13 | with: 14 | registry-url: "https://registry.npmjs.org" 15 | cache: pnpm 16 | - run: pnpm install 17 | - run: pnpm build 18 | - run: npm publish --access public 19 | env: 20 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 21 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | branches: 4 | - master 5 | 6 | pull_request: 7 | branches: 8 | - master 9 | 10 | jobs: 11 | test: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - run: corepack enable 16 | - uses: actions/setup-node@v4 17 | with: 18 | registry-url: "https://registry.npmjs.org" 19 | cache: pnpm 20 | - run: pnpm install 21 | - run: pnpm build 22 | - run: pnpm ts:check 23 | - run: pnpm format:check 24 | - name: install system dependencies 25 | run: | 26 | sudo apt-get update 27 | sudo apt-get install -y libgtk-3-dev webkit2gtk-4.1 libayatana-appindicator3-dev librsvg2-dev patchelf 28 | - uses: dtolnay/rust-toolchain@stable 29 | - name: build example 30 | working-directory: example 31 | run: | 32 | pnpm i 33 | pnpm build:tauri 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | logs 2 | *.log 3 | npm-debug.log* 4 | yarn-debug.log* 5 | yarn-error.log* 6 | 7 | node_modules/ 8 | 9 | .vscode/ 10 | .idea/ 11 | 12 | *.tgz 13 | 14 | dist 15 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | tabWidth: 2 2 | useTabs: false 3 | endOfLine: "lf" 4 | singleQuote: false 5 | semi: true -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [4.0.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v4.0.0...v3.3.0) (2024-12-23) 2 | 3 | - Add support for Tauri v2. 4 | - Parse Tauri CLI arguments from `process.argv` so now you could pass `-- -t/--tauri `. 5 | - **Breaking change**: Removed `debug`, `verbose`, and `target` config options, instead, you should pass these options as Tauri CLI arguments. 6 | 7 | # [3.3.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.3.0...v3.2.0) (2023-5-7) 8 | 9 | - Add option to build with verbose logging 10 | - Fix regression in `3.2.0` where `dev` was always built with `--release` flag and devtools were inaccessible. 11 | 12 | # [3.2.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.2.0...v3.1.1) (2023-5-6) 13 | 14 | - Add option to specify the rust build target 15 | 16 | # [3.1.1](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.1.1...v3.1.0) (2023-5-5) 17 | 18 | - Updated dependencies 19 | 20 | # [3.1.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.1.0...v3.0.2) (2022-10-1) 21 | 22 | - Add a default export to the plugin which allows two styles of importing: 23 | 24 | - Named export (current): 25 | ```ts 26 | import { tauri } from "vite-plugin-tauri"; 27 | ``` 28 | - Default export (new): 29 | ```ts 30 | import tauri from "vite-plugin-tauri"; 31 | ``` 32 | 33 | - Detect `Tauri.toml` file when detecting if there is a Tauri project is initialized or not. 34 | 35 | # [3.0.2](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.0.2...v3.0.1) (2022-10-1) 36 | 37 | - Removed internal modification of vite config to disable `clearScreen` and `server.open` and delegate it to the user. 38 | - Removed `kolorist` dependency to reduce package size. 39 | 40 | # [3.0.1](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.0.1...v3.0.0) (2022-10-1) 41 | 42 | - Fix passing `debug` option to tauri cli in build mode. 43 | 44 | # [3.0.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v3.0.0...v2.3.0) (2022-10-1) 45 | 46 | - Refactored the plugin to be a proper Vite plugin. Consult [README.md](https://github.com/amrbashir/vite-plugin-tauri#usage) for how to use it. 47 | 48 | # [2.3.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v2.3.0...v2.2.0) (2022-09-26) 49 | 50 | - Auto-fill `beforeDevCommand` and `beforeBuildCommand` when initializing the tauri project. 51 | 52 | # [2.2.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v2.1.0...v2.2.0) (2022-07-24) 53 | 54 | - Update `vite` peerDependency to `>= 2` which adds vite@3 support 55 | 56 | # [2.1.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v2.0.0...v2.1.0) (2022-06-12) 57 | 58 | - Update `@tauri-apps/cli` to `v1.0.0` 59 | 60 | # [2.0.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v1.1.3...v2.0.0) (2022-06-04) 61 | 62 | ### Breaking Changes 63 | 64 | - Bump minimum supported Node.js version to `14.6.0` 65 | 66 | ## [1.1.3](https://github.com/amrbashir/vite-plugin-tauri/compare/v1.1.2...v1.1.3) (2022-05-02) 67 | 68 | ### Misc. 69 | 70 | - update dependencies 71 | 72 | ## [1.1.2](https://github.com/amrbashir/vite-plugin-tauri/compare/v1.1.1...v1.1.2) (2022-02-28) 73 | 74 | ### Bug Fixes 75 | 76 | - fix running subcommands other than `init, dev, build` ([0094010](https://github.com/amrbashir/vite-plugin-tauri/commit/009401058c1df2b7ae1e4e2e1a28aacc5310f080)) 77 | - prevent `init` subcommand also running `dev` ([c31e1a5](https://github.com/amrbashir/vite-plugin-tauri/commit/c31e1a5982af841ca17da9f94b160518b6fc7e0d)) 78 | - resolve vite outDir before passing to tauri cli ([99f648d](https://github.com/amrbashir/vite-plugin-tauri/commit/99f648d3005b5c5e805aacdd3e0f98649a3261d2)) 79 | 80 | ## [1.1.1](https://github.com/amrbashir/vite-plugin-tauri/compare/v1.1.0...v1.1.1) (2022-02-21) 81 | 82 | ### Bug Fixes 83 | 84 | - fix `ERROR_MODULE_NOT_FOUND` due to wrong import, fix [#2](https://github.com/amrbashir/vite-plugin-tauri/issues/2) ([a0efed5](https://github.com/amrbashir/vite-plugin-tauri/commit/a0efed5659ac5e0690d0dba5401295b7eb5c0f72)) 85 | 86 | # [1.1.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v1.0.0...v1.1.0) (2022-02-14) 87 | 88 | ### Features 89 | 90 | - use `TAURI_PATH_DEPTH` env if it exists ([b5224fb](https://github.com/amrbashir/vite-plugin-tauri/commit/b5224fb48b0d96f034f8a13d5829e7c307ae2bf4)) 91 | 92 | # [1.0.0](https://github.com/amrbashir/vite-plugin-tauri/compare/v0.1.12...v1.0.0) (2022-02-12) 93 | 94 | ### Features 95 | 96 | - use `@tauri-apps/cli` as a peerDeppendency ([ad1bbf4](https://github.com/amrbashir/vite-plugin-tauri/commit/ad1bbf47bf8c2f9b15bf51c09c16d05b7471013c)) 97 | 98 | ## [0.1.12](https://github.com/amrbashir/vite-plugin-tauri/compare/v0.1.11...v0.1.12) (2022-01-12) 99 | 100 | ### Bug Fixes 101 | 102 | - use a relative path when building, fixes [#1](https://github.com/amrbashir/vite-plugin-tauri/issues/1) ([63a2f88](https://github.com/amrbashir/vite-plugin-tauri/commit/63a2f88b985513c919b6cdf464d8bbfa33d420cd)) 103 | 104 | ## 0.1.11 (2022-01-11) 105 | 106 | ### Bug Fixes 107 | 108 | - pass vite `outDir` directly to tauri-cli, fixes [#1](https://github.com/amrbashir/vite-plugin-tauri/issues/1) ([7d0fe4c](https://github.com/amrbashir/vite-plugin-tauri/commit/7d0fe4c1c2923919beb8236eac78b920ffab0ce5)) 109 | 110 | ## 0.1.10 (2021-12-12) 111 | 112 | ### Bug Fixes 113 | 114 | - print stdout from tauri correctly ([85ed5dd](https://github.com/amrbashir/vite-plugin-tauri/commit/85ed5dd17777521aab718e6f1923c751055ff69a)) 115 | 116 | ## 0.1.9 (2021-12-06) 117 | 118 | ### Misc. 119 | 120 | - upadte `LICENSE.md` 121 | 122 | ## 0.1.8 (2021-12-03) 123 | 124 | ### Bug Fixes 125 | 126 | - show correct cli name in help message 127 | 128 | ## 0.1.7 (2021-12-02) 129 | 130 | ### Bug Fixes 131 | 132 | - use node12 compatible api to remove corrupted downloads 133 | 134 | ## 0.1.6 (2021-11-08) 135 | 136 | ### Bug Fixes 137 | 138 | - correctly construct window title upon initialization 139 | - print tauri help message when a subcommand isn't passed 140 | 141 | ## 0.1.5 (2021-10-31) 142 | 143 | ### Bug Fixes 144 | 145 | - fix crash upon running the cli without passing a subcommand 146 | 147 | ## 0.1.4 (2021-10-30) 148 | 149 | ### Bug Fixes 150 | 151 | - lower needed NodeJs version to `>=12.20` 152 | - pass cli arguments to tauri cli in dev/build 153 | - update node engine to `^12.20.0 || ^14.13.1 || >=16.0.0` 154 | 155 | ## 0.1.3 (2021-09-02) 156 | 157 | ### Bug Fixes 158 | 159 | - append version to downloaded cli 160 | - use correct tauri cli command for `vite-tauri build` 161 | 162 | ## 0.1.2 (2021-08-27) 163 | 164 | ### Bug Fixes 165 | 166 | - fix `Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'stream'` 167 | 168 | ## 0.1.1 (2021-08-27) 169 | 170 | ### Bug Fixes 171 | 172 | - update required node version 173 | 174 | ## 0.1.0 (2021-08-27) 175 | 176 | ### Features 177 | 178 | - add support for all tauri cli commands and flags 179 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![StandWithPalestine](https://raw.githubusercontent.com/Safouene1/support-palestine-banner/master/StandWithPalestine.svg)](https://techforpalestine.org/learn-more) 2 | 3 | # vite-plugin-tauri 4 | 5 | Integrate [Tauri](https://github.com/tauri-apps/tauri) in a [Vite](https://github.com/vitejs/vite) project to build cross-platform apps 6 | 7 | [![NPM Version](https://img.shields.io/npm/v/vite-plugin-tauri)](https://www.npmjs.com/package/vite-plugin-tauri) 8 | 9 | ## Install 10 | 11 | > Make sure to [setup your environment](https://tauri.studio/en/docs/getting-started/intro#setting-up-your-environment) for Tauri development. 12 | 13 | ```sh 14 | # pnpm 15 | pnpm add -D vite-plugin-tauri @tauri-apps/cli 16 | # yarn 17 | yarn add -D vite-plugin-tauri @tauri-apps/cli 18 | # npm 19 | npm i -D vite-plugin-tauri @tauri-apps/cli 20 | ``` 21 | 22 | ## Usage 23 | 24 | ```ts 25 | // vite.config.js 26 | import { defineConfig } from "vite"; 27 | import tauri from "vite-plugin-tauri"; // 1. import the plugin 28 | 29 | export default defineConfig({ 30 | plugins: [ 31 | tauri(), // 2. add it to the plugins list 32 | ], 33 | 34 | // 3. optional but recommended 35 | clearScreen: false, 36 | server: { 37 | open: false, 38 | }, 39 | }); 40 | ``` 41 | 42 | ## Tauri CLI arguments 43 | 44 | You can pass arguments to the tauri CLI by prefixing the args with `-- -t/--tauri`, for example: 45 | 46 | ```sh 47 | pnpm dev -- -t --verbose --release 48 | ``` 49 | 50 | The `--` is necessary, otherwise `vite` will crash with unkown CLI argument and `-t` or `--tauri` marks the start of the tauri arguments. 51 | 52 | ## Advanced Usage 53 | 54 | ### Using a separate config for Tauri 55 | 56 | You can also use a separate config file to add the `vite-plugin-tauri` plugin 57 | which allows you to define a separate script in `package.json` to develop 58 | your tauri app that won't conflict with your normal vite web development flow. 59 | 60 | 1. Create a `vite.config.tauri.js` with the following content 61 | 62 | ```ts 63 | import { defineConfig, mergeConfig } from "vite"; 64 | import baseViteConfig from "./vite.config"; 65 | import tauri from "vite-plugin-tauri"; 66 | 67 | export default defineConfig( 68 | mergeConfig(baseViteConfig, { 69 | plugins: [tauri()], 70 | 71 | // optional but recommended 72 | clearScreen: false, 73 | server: { 74 | open: false, 75 | }, 76 | }), 77 | ); 78 | ``` 79 | 80 | 2. Modify `package.json`: 81 | ```diff 82 | // package.json 83 | { 84 | .. 85 | "scripts": { 86 | "dev": "vite", 87 | "build": "vite build", 88 | + "dev:tauri": "vite --config vite.config.tauri.js", 89 | + "build:tauri": "vite build --config vite.config.tauri.js", 90 | "preview": "vite preview" 91 | }, 92 | .. 93 | } 94 | ``` 95 | 96 | ## License 97 | 98 | [MIT](./LICENSE) © Amr Bashir 99 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- 1 | # Vite + Tauri Example 2 | 3 | This example demonstrates the [advanced usage](../README.md#advanced-usage) of the plugin and is used for testing the plugin in CI. 4 | -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + Vue 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-project", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "dev:tauri": "vite --config vite.config.tauri.js", 10 | "build:tauri": "vite build --config vite.config.tauri.js", 11 | "preview": "vite preview" 12 | }, 13 | "dependencies": { 14 | "vue": "^3.5.13" 15 | }, 16 | "devDependencies": { 17 | "@tauri-apps/cli": "^2.1.0", 18 | "@vitejs/plugin-vue": "^5.2.1", 19 | "typescript": "^5.7.2", 20 | "vite": "^6.0.5", 21 | "vite-plugin-tauri": "workspace:^" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /example/public/vite.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /example/src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | /gen/schemas 6 | -------------------------------------------------------------------------------- /example/src-tauri/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "app" 3 | version = "0.1.0" 4 | description = "A Tauri App" 5 | authors = ["you"] 6 | license = "" 7 | repository = "" 8 | default-run = "app" 9 | edition = "2021" 10 | rust-version = "1.57" 11 | 12 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 13 | 14 | [build-dependencies] 15 | tauri-build = { version = "2", features = [] } 16 | 17 | [dependencies] 18 | serde_json = "1.0" 19 | serde = { version = "1.0", features = ["derive"] } 20 | tauri = { version = "2", features = [] } 21 | 22 | [features] 23 | # this feature is used for production builds or when `devPath` points to the filesystem 24 | # DO NOT remove this 25 | custom-protocol = ["tauri/custom-protocol"] 26 | -------------------------------------------------------------------------------- /example/src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /example/src-tauri/capabilities/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "identifier": "default", 3 | "local": true, 4 | "windows": ["main"], 5 | "permissions": ["core:default"] 6 | } 7 | -------------------------------------------------------------------------------- /example/src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/128x128.png -------------------------------------------------------------------------------- /example/src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/128x128@2x.png -------------------------------------------------------------------------------- /example/src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/32x32.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square107x107Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square142x142Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square150x150Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square284x284Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square30x30Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square310x310Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square44x44Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square71x71Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/Square89x89Logo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/StoreLogo.png -------------------------------------------------------------------------------- /example/src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/icon.icns -------------------------------------------------------------------------------- /example/src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/icon.ico -------------------------------------------------------------------------------- /example/src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amrbashir/vite-plugin-tauri/8ba5f9a767203ff44ac88b04ab3252371998041f/example/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /example/src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | #![cfg_attr( 2 | all(not(debug_assertions), target_os = "windows"), 3 | windows_subsystem = "windows" 4 | )] 5 | 6 | fn main() { 7 | tauri::Builder::default() 8 | .run(tauri::generate_context!()) 9 | .expect("error while running tauri application"); 10 | } 11 | -------------------------------------------------------------------------------- /example/src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.tauri.app/config/2", 3 | "productName": "vite-project", 4 | "mainBinaryName": "vite-project", 5 | "version": "0.1.0", 6 | "identifier": "com.vite-plugin-tauri.dev", 7 | "build": { 8 | "devUrl": "Injected: by vite-plugin-tauri", 9 | "frontendDist": "Injected by vite-plugin-tauri" 10 | }, 11 | "app": { 12 | "windows": [ 13 | { 14 | "title": "vite-project window" 15 | } 16 | ], 17 | "security": { 18 | "csp": null 19 | } 20 | }, 21 | "bundle": { 22 | "active": true, 23 | "targets": "all", 24 | "icon": [ 25 | "icons/32x32.png", 26 | "icons/128x128.png", 27 | "icons/128x128@2x.png", 28 | "icons/icon.icns", 29 | "icons/icon.ico" 30 | ] 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /example/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 16 | 17 | 33 | -------------------------------------------------------------------------------- /example/src/assets/vue.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /example/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 35 | 36 | 41 | -------------------------------------------------------------------------------- /example/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import "./style.css"; 3 | import App from "./App.vue"; 4 | 5 | createApp(App).mount("#app"); 6 | -------------------------------------------------------------------------------- /example/src/style.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 1.5; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #242424; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | -webkit-text-size-adjust: 100%; 15 | } 16 | 17 | a { 18 | font-weight: 500; 19 | color: #646cff; 20 | text-decoration: inherit; 21 | } 22 | 23 | a:hover { 24 | color: #535bf2; 25 | } 26 | 27 | a { 28 | font-weight: 500; 29 | color: #646cff; 30 | text-decoration: inherit; 31 | } 32 | 33 | a:hover { 34 | color: #535bf2; 35 | } 36 | 37 | body { 38 | margin: 0; 39 | display: flex; 40 | place-items: center; 41 | min-width: 320px; 42 | min-height: 100vh; 43 | } 44 | 45 | h1 { 46 | font-size: 3.2em; 47 | line-height: 1.1; 48 | } 49 | 50 | button { 51 | border-radius: 8px; 52 | border: 1px solid transparent; 53 | padding: 0.6em 1.2em; 54 | font-size: 1em; 55 | font-weight: 500; 56 | font-family: inherit; 57 | background-color: #1a1a1a; 58 | cursor: pointer; 59 | transition: border-color 0.25s; 60 | } 61 | 62 | button:hover { 63 | border-color: #646cff; 64 | } 65 | 66 | button:focus, 67 | button:focus-visible { 68 | outline: 4px auto -webkit-focus-ring-color; 69 | } 70 | 71 | .card { 72 | padding: 2em; 73 | } 74 | 75 | #app { 76 | max-width: 1280px; 77 | margin: 0 auto; 78 | padding: 2rem; 79 | text-align: center; 80 | } 81 | 82 | @media (prefers-color-scheme: light) { 83 | :root { 84 | color: #213547; 85 | background-color: #ffffff; 86 | } 87 | 88 | a:hover { 89 | color: #747bff; 90 | } 91 | 92 | button { 93 | background-color: #f9f9f9; 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /example/vite.config.tauri.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig, mergeConfig } from "vite"; 2 | import baseViteConfig from "./vite.config"; 3 | import { tauri } from "vite-plugin-tauri"; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig( 7 | mergeConfig(baseViteConfig, { 8 | plugins: [tauri()], 9 | clearScreen: false, 10 | server: { 11 | open: false, 12 | }, 13 | }), 14 | ); 15 | -------------------------------------------------------------------------------- /example/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()], 7 | }); 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-tauri", 3 | "version": "4.0.0", 4 | "description": "Integrate Tauri in a Vite project to build cross-platform apps.", 5 | "repository": "https://github.com/amrbashir/vite-plugin-tauri.git", 6 | "author": "Amr Bashir ", 7 | "license": "MIT", 8 | "files": [ 9 | "dist", 10 | "CHANGELOG.md", 11 | "LCIENSE", 12 | "README.md" 13 | ], 14 | "type": "module", 15 | "types": "./dist/index.d.ts", 16 | "main": "./dist/index.js", 17 | "module": "./dist/index.js", 18 | "exports": { 19 | "types": "./dist/index.d.ts", 20 | "import": "./dist/index.js", 21 | "require": "./dist/index.js" 22 | }, 23 | "scripts": { 24 | "prepublishOnly": "pnpm run build", 25 | "build": "tsup src/index.ts --format esm --dts --clean", 26 | "watch": "tsup src/index.ts --watch --format esm --dts --clean", 27 | "ts:check": "tsc --noEmit", 28 | "format": "prettier --write \"./**/*.{js,ts,json,vue,html}\" --ignore-path .gitignore", 29 | "format:check": "prettier --check \"./**/*.{js,ts,json,vue,html}\" --ignore-path .gitignore", 30 | "deps:up": "pnpm dlx taze latest -w -i" 31 | }, 32 | "dependencies": { 33 | "fast-glob": "^3.3.2", 34 | "local-pkg": "^0.5.1" 35 | }, 36 | "peerDependencies": { 37 | "@tauri-apps/cli": ">= 1", 38 | "vite": ">= 2" 39 | }, 40 | "devDependencies": { 41 | "@tauri-apps/cli": "^2.1.0", 42 | "@types/node": "^22.10.2", 43 | "prettier": "^3.4.2", 44 | "tsup": "^8.3.5", 45 | "typescript": "^5.7.2", 46 | "vite": "^6.0.5" 47 | }, 48 | "resolutions": { 49 | "minimatch": ">=3.0.5" 50 | }, 51 | "engines": { 52 | "node": ">=14.6.0" 53 | }, 54 | "keywords": [ 55 | "vite", 56 | "vite-plugin", 57 | "tauri", 58 | "tauri-plugin" 59 | ], 60 | "packageManager": "pnpm@9.12.2" 61 | } 62 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | overrides: 8 | minimatch: '>=3.0.5' 9 | 10 | importers: 11 | 12 | .: 13 | dependencies: 14 | fast-glob: 15 | specifier: ^3.3.2 16 | version: 3.3.2 17 | local-pkg: 18 | specifier: ^0.5.1 19 | version: 0.5.1 20 | devDependencies: 21 | '@tauri-apps/cli': 22 | specifier: ^2.1.0 23 | version: 2.1.0 24 | '@types/node': 25 | specifier: ^22.10.2 26 | version: 22.10.2 27 | prettier: 28 | specifier: ^3.4.2 29 | version: 3.4.2 30 | tsup: 31 | specifier: ^8.3.5 32 | version: 8.3.5(postcss@8.5.6)(typescript@5.7.2) 33 | typescript: 34 | specifier: ^5.7.2 35 | version: 5.7.2 36 | vite: 37 | specifier: ^6.0.5 38 | version: 6.4.1(@types/node@22.10.2) 39 | 40 | example: 41 | dependencies: 42 | vue: 43 | specifier: ^3.5.13 44 | version: 3.5.13(typescript@5.7.2) 45 | devDependencies: 46 | '@tauri-apps/cli': 47 | specifier: ^2.1.0 48 | version: 2.1.0 49 | '@vitejs/plugin-vue': 50 | specifier: ^5.2.1 51 | version: 5.2.1(vite@6.4.1(@types/node@22.10.2))(vue@3.5.13(typescript@5.7.2)) 52 | typescript: 53 | specifier: ^5.7.2 54 | version: 5.7.2 55 | vite: 56 | specifier: ^6.0.5 57 | version: 6.4.1(@types/node@22.10.2) 58 | vite-plugin-tauri: 59 | specifier: workspace:^ 60 | version: link:.. 61 | 62 | packages: 63 | 64 | '@babel/helper-string-parser@7.25.9': 65 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 66 | engines: {node: '>=6.9.0'} 67 | 68 | '@babel/helper-validator-identifier@7.25.9': 69 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 70 | engines: {node: '>=6.9.0'} 71 | 72 | '@babel/parser@7.26.3': 73 | resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} 74 | engines: {node: '>=6.0.0'} 75 | hasBin: true 76 | 77 | '@babel/types@7.26.3': 78 | resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} 79 | engines: {node: '>=6.9.0'} 80 | 81 | '@esbuild/aix-ppc64@0.24.2': 82 | resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} 83 | engines: {node: '>=18'} 84 | cpu: [ppc64] 85 | os: [aix] 86 | 87 | '@esbuild/aix-ppc64@0.25.11': 88 | resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} 89 | engines: {node: '>=18'} 90 | cpu: [ppc64] 91 | os: [aix] 92 | 93 | '@esbuild/android-arm64@0.24.2': 94 | resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} 95 | engines: {node: '>=18'} 96 | cpu: [arm64] 97 | os: [android] 98 | 99 | '@esbuild/android-arm64@0.25.11': 100 | resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} 101 | engines: {node: '>=18'} 102 | cpu: [arm64] 103 | os: [android] 104 | 105 | '@esbuild/android-arm@0.24.2': 106 | resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} 107 | engines: {node: '>=18'} 108 | cpu: [arm] 109 | os: [android] 110 | 111 | '@esbuild/android-arm@0.25.11': 112 | resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} 113 | engines: {node: '>=18'} 114 | cpu: [arm] 115 | os: [android] 116 | 117 | '@esbuild/android-x64@0.24.2': 118 | resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} 119 | engines: {node: '>=18'} 120 | cpu: [x64] 121 | os: [android] 122 | 123 | '@esbuild/android-x64@0.25.11': 124 | resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} 125 | engines: {node: '>=18'} 126 | cpu: [x64] 127 | os: [android] 128 | 129 | '@esbuild/darwin-arm64@0.24.2': 130 | resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} 131 | engines: {node: '>=18'} 132 | cpu: [arm64] 133 | os: [darwin] 134 | 135 | '@esbuild/darwin-arm64@0.25.11': 136 | resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} 137 | engines: {node: '>=18'} 138 | cpu: [arm64] 139 | os: [darwin] 140 | 141 | '@esbuild/darwin-x64@0.24.2': 142 | resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} 143 | engines: {node: '>=18'} 144 | cpu: [x64] 145 | os: [darwin] 146 | 147 | '@esbuild/darwin-x64@0.25.11': 148 | resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} 149 | engines: {node: '>=18'} 150 | cpu: [x64] 151 | os: [darwin] 152 | 153 | '@esbuild/freebsd-arm64@0.24.2': 154 | resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} 155 | engines: {node: '>=18'} 156 | cpu: [arm64] 157 | os: [freebsd] 158 | 159 | '@esbuild/freebsd-arm64@0.25.11': 160 | resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} 161 | engines: {node: '>=18'} 162 | cpu: [arm64] 163 | os: [freebsd] 164 | 165 | '@esbuild/freebsd-x64@0.24.2': 166 | resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} 167 | engines: {node: '>=18'} 168 | cpu: [x64] 169 | os: [freebsd] 170 | 171 | '@esbuild/freebsd-x64@0.25.11': 172 | resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} 173 | engines: {node: '>=18'} 174 | cpu: [x64] 175 | os: [freebsd] 176 | 177 | '@esbuild/linux-arm64@0.24.2': 178 | resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} 179 | engines: {node: '>=18'} 180 | cpu: [arm64] 181 | os: [linux] 182 | 183 | '@esbuild/linux-arm64@0.25.11': 184 | resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} 185 | engines: {node: '>=18'} 186 | cpu: [arm64] 187 | os: [linux] 188 | 189 | '@esbuild/linux-arm@0.24.2': 190 | resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} 191 | engines: {node: '>=18'} 192 | cpu: [arm] 193 | os: [linux] 194 | 195 | '@esbuild/linux-arm@0.25.11': 196 | resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} 197 | engines: {node: '>=18'} 198 | cpu: [arm] 199 | os: [linux] 200 | 201 | '@esbuild/linux-ia32@0.24.2': 202 | resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} 203 | engines: {node: '>=18'} 204 | cpu: [ia32] 205 | os: [linux] 206 | 207 | '@esbuild/linux-ia32@0.25.11': 208 | resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} 209 | engines: {node: '>=18'} 210 | cpu: [ia32] 211 | os: [linux] 212 | 213 | '@esbuild/linux-loong64@0.24.2': 214 | resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} 215 | engines: {node: '>=18'} 216 | cpu: [loong64] 217 | os: [linux] 218 | 219 | '@esbuild/linux-loong64@0.25.11': 220 | resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} 221 | engines: {node: '>=18'} 222 | cpu: [loong64] 223 | os: [linux] 224 | 225 | '@esbuild/linux-mips64el@0.24.2': 226 | resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} 227 | engines: {node: '>=18'} 228 | cpu: [mips64el] 229 | os: [linux] 230 | 231 | '@esbuild/linux-mips64el@0.25.11': 232 | resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} 233 | engines: {node: '>=18'} 234 | cpu: [mips64el] 235 | os: [linux] 236 | 237 | '@esbuild/linux-ppc64@0.24.2': 238 | resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} 239 | engines: {node: '>=18'} 240 | cpu: [ppc64] 241 | os: [linux] 242 | 243 | '@esbuild/linux-ppc64@0.25.11': 244 | resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} 245 | engines: {node: '>=18'} 246 | cpu: [ppc64] 247 | os: [linux] 248 | 249 | '@esbuild/linux-riscv64@0.24.2': 250 | resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} 251 | engines: {node: '>=18'} 252 | cpu: [riscv64] 253 | os: [linux] 254 | 255 | '@esbuild/linux-riscv64@0.25.11': 256 | resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} 257 | engines: {node: '>=18'} 258 | cpu: [riscv64] 259 | os: [linux] 260 | 261 | '@esbuild/linux-s390x@0.24.2': 262 | resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} 263 | engines: {node: '>=18'} 264 | cpu: [s390x] 265 | os: [linux] 266 | 267 | '@esbuild/linux-s390x@0.25.11': 268 | resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} 269 | engines: {node: '>=18'} 270 | cpu: [s390x] 271 | os: [linux] 272 | 273 | '@esbuild/linux-x64@0.24.2': 274 | resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} 275 | engines: {node: '>=18'} 276 | cpu: [x64] 277 | os: [linux] 278 | 279 | '@esbuild/linux-x64@0.25.11': 280 | resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} 281 | engines: {node: '>=18'} 282 | cpu: [x64] 283 | os: [linux] 284 | 285 | '@esbuild/netbsd-arm64@0.24.2': 286 | resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} 287 | engines: {node: '>=18'} 288 | cpu: [arm64] 289 | os: [netbsd] 290 | 291 | '@esbuild/netbsd-arm64@0.25.11': 292 | resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==} 293 | engines: {node: '>=18'} 294 | cpu: [arm64] 295 | os: [netbsd] 296 | 297 | '@esbuild/netbsd-x64@0.24.2': 298 | resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} 299 | engines: {node: '>=18'} 300 | cpu: [x64] 301 | os: [netbsd] 302 | 303 | '@esbuild/netbsd-x64@0.25.11': 304 | resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} 305 | engines: {node: '>=18'} 306 | cpu: [x64] 307 | os: [netbsd] 308 | 309 | '@esbuild/openbsd-arm64@0.24.2': 310 | resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} 311 | engines: {node: '>=18'} 312 | cpu: [arm64] 313 | os: [openbsd] 314 | 315 | '@esbuild/openbsd-arm64@0.25.11': 316 | resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==} 317 | engines: {node: '>=18'} 318 | cpu: [arm64] 319 | os: [openbsd] 320 | 321 | '@esbuild/openbsd-x64@0.24.2': 322 | resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} 323 | engines: {node: '>=18'} 324 | cpu: [x64] 325 | os: [openbsd] 326 | 327 | '@esbuild/openbsd-x64@0.25.11': 328 | resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} 329 | engines: {node: '>=18'} 330 | cpu: [x64] 331 | os: [openbsd] 332 | 333 | '@esbuild/openharmony-arm64@0.25.11': 334 | resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} 335 | engines: {node: '>=18'} 336 | cpu: [arm64] 337 | os: [openharmony] 338 | 339 | '@esbuild/sunos-x64@0.24.2': 340 | resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} 341 | engines: {node: '>=18'} 342 | cpu: [x64] 343 | os: [sunos] 344 | 345 | '@esbuild/sunos-x64@0.25.11': 346 | resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} 347 | engines: {node: '>=18'} 348 | cpu: [x64] 349 | os: [sunos] 350 | 351 | '@esbuild/win32-arm64@0.24.2': 352 | resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} 353 | engines: {node: '>=18'} 354 | cpu: [arm64] 355 | os: [win32] 356 | 357 | '@esbuild/win32-arm64@0.25.11': 358 | resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} 359 | engines: {node: '>=18'} 360 | cpu: [arm64] 361 | os: [win32] 362 | 363 | '@esbuild/win32-ia32@0.24.2': 364 | resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} 365 | engines: {node: '>=18'} 366 | cpu: [ia32] 367 | os: [win32] 368 | 369 | '@esbuild/win32-ia32@0.25.11': 370 | resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} 371 | engines: {node: '>=18'} 372 | cpu: [ia32] 373 | os: [win32] 374 | 375 | '@esbuild/win32-x64@0.24.2': 376 | resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} 377 | engines: {node: '>=18'} 378 | cpu: [x64] 379 | os: [win32] 380 | 381 | '@esbuild/win32-x64@0.25.11': 382 | resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} 383 | engines: {node: '>=18'} 384 | cpu: [x64] 385 | os: [win32] 386 | 387 | '@isaacs/cliui@8.0.2': 388 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 389 | engines: {node: '>=12'} 390 | 391 | '@jridgewell/gen-mapping@0.3.8': 392 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 393 | engines: {node: '>=6.0.0'} 394 | 395 | '@jridgewell/resolve-uri@3.1.2': 396 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 397 | engines: {node: '>=6.0.0'} 398 | 399 | '@jridgewell/set-array@1.2.1': 400 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 401 | engines: {node: '>=6.0.0'} 402 | 403 | '@jridgewell/sourcemap-codec@1.5.0': 404 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 405 | 406 | '@jridgewell/trace-mapping@0.3.25': 407 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 408 | 409 | '@nodelib/fs.scandir@2.1.5': 410 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 411 | engines: {node: '>= 8'} 412 | 413 | '@nodelib/fs.stat@2.0.5': 414 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 415 | engines: {node: '>= 8'} 416 | 417 | '@nodelib/fs.walk@1.2.8': 418 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 419 | engines: {node: '>= 8'} 420 | 421 | '@pkgjs/parseargs@0.11.0': 422 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 423 | engines: {node: '>=14'} 424 | 425 | '@rollup/rollup-android-arm-eabi@4.29.1': 426 | resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} 427 | cpu: [arm] 428 | os: [android] 429 | 430 | '@rollup/rollup-android-arm-eabi@4.52.5': 431 | resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} 432 | cpu: [arm] 433 | os: [android] 434 | 435 | '@rollup/rollup-android-arm64@4.29.1': 436 | resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} 437 | cpu: [arm64] 438 | os: [android] 439 | 440 | '@rollup/rollup-android-arm64@4.52.5': 441 | resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} 442 | cpu: [arm64] 443 | os: [android] 444 | 445 | '@rollup/rollup-darwin-arm64@4.29.1': 446 | resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} 447 | cpu: [arm64] 448 | os: [darwin] 449 | 450 | '@rollup/rollup-darwin-arm64@4.52.5': 451 | resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} 452 | cpu: [arm64] 453 | os: [darwin] 454 | 455 | '@rollup/rollup-darwin-x64@4.29.1': 456 | resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} 457 | cpu: [x64] 458 | os: [darwin] 459 | 460 | '@rollup/rollup-darwin-x64@4.52.5': 461 | resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} 462 | cpu: [x64] 463 | os: [darwin] 464 | 465 | '@rollup/rollup-freebsd-arm64@4.29.1': 466 | resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} 467 | cpu: [arm64] 468 | os: [freebsd] 469 | 470 | '@rollup/rollup-freebsd-arm64@4.52.5': 471 | resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} 472 | cpu: [arm64] 473 | os: [freebsd] 474 | 475 | '@rollup/rollup-freebsd-x64@4.29.1': 476 | resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} 477 | cpu: [x64] 478 | os: [freebsd] 479 | 480 | '@rollup/rollup-freebsd-x64@4.52.5': 481 | resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} 482 | cpu: [x64] 483 | os: [freebsd] 484 | 485 | '@rollup/rollup-linux-arm-gnueabihf@4.29.1': 486 | resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} 487 | cpu: [arm] 488 | os: [linux] 489 | 490 | '@rollup/rollup-linux-arm-gnueabihf@4.52.5': 491 | resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} 492 | cpu: [arm] 493 | os: [linux] 494 | 495 | '@rollup/rollup-linux-arm-musleabihf@4.29.1': 496 | resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} 497 | cpu: [arm] 498 | os: [linux] 499 | 500 | '@rollup/rollup-linux-arm-musleabihf@4.52.5': 501 | resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} 502 | cpu: [arm] 503 | os: [linux] 504 | 505 | '@rollup/rollup-linux-arm64-gnu@4.29.1': 506 | resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} 507 | cpu: [arm64] 508 | os: [linux] 509 | 510 | '@rollup/rollup-linux-arm64-gnu@4.52.5': 511 | resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} 512 | cpu: [arm64] 513 | os: [linux] 514 | 515 | '@rollup/rollup-linux-arm64-musl@4.29.1': 516 | resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} 517 | cpu: [arm64] 518 | os: [linux] 519 | 520 | '@rollup/rollup-linux-arm64-musl@4.52.5': 521 | resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} 522 | cpu: [arm64] 523 | os: [linux] 524 | 525 | '@rollup/rollup-linux-loong64-gnu@4.52.5': 526 | resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} 527 | cpu: [loong64] 528 | os: [linux] 529 | 530 | '@rollup/rollup-linux-loongarch64-gnu@4.29.1': 531 | resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} 532 | cpu: [loong64] 533 | os: [linux] 534 | 535 | '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': 536 | resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} 537 | cpu: [ppc64] 538 | os: [linux] 539 | 540 | '@rollup/rollup-linux-ppc64-gnu@4.52.5': 541 | resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} 542 | cpu: [ppc64] 543 | os: [linux] 544 | 545 | '@rollup/rollup-linux-riscv64-gnu@4.29.1': 546 | resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} 547 | cpu: [riscv64] 548 | os: [linux] 549 | 550 | '@rollup/rollup-linux-riscv64-gnu@4.52.5': 551 | resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} 552 | cpu: [riscv64] 553 | os: [linux] 554 | 555 | '@rollup/rollup-linux-riscv64-musl@4.52.5': 556 | resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} 557 | cpu: [riscv64] 558 | os: [linux] 559 | 560 | '@rollup/rollup-linux-s390x-gnu@4.29.1': 561 | resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} 562 | cpu: [s390x] 563 | os: [linux] 564 | 565 | '@rollup/rollup-linux-s390x-gnu@4.52.5': 566 | resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} 567 | cpu: [s390x] 568 | os: [linux] 569 | 570 | '@rollup/rollup-linux-x64-gnu@4.29.1': 571 | resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} 572 | cpu: [x64] 573 | os: [linux] 574 | 575 | '@rollup/rollup-linux-x64-gnu@4.52.5': 576 | resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} 577 | cpu: [x64] 578 | os: [linux] 579 | 580 | '@rollup/rollup-linux-x64-musl@4.29.1': 581 | resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} 582 | cpu: [x64] 583 | os: [linux] 584 | 585 | '@rollup/rollup-linux-x64-musl@4.52.5': 586 | resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} 587 | cpu: [x64] 588 | os: [linux] 589 | 590 | '@rollup/rollup-openharmony-arm64@4.52.5': 591 | resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} 592 | cpu: [arm64] 593 | os: [openharmony] 594 | 595 | '@rollup/rollup-win32-arm64-msvc@4.29.1': 596 | resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} 597 | cpu: [arm64] 598 | os: [win32] 599 | 600 | '@rollup/rollup-win32-arm64-msvc@4.52.5': 601 | resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} 602 | cpu: [arm64] 603 | os: [win32] 604 | 605 | '@rollup/rollup-win32-ia32-msvc@4.29.1': 606 | resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} 607 | cpu: [ia32] 608 | os: [win32] 609 | 610 | '@rollup/rollup-win32-ia32-msvc@4.52.5': 611 | resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} 612 | cpu: [ia32] 613 | os: [win32] 614 | 615 | '@rollup/rollup-win32-x64-gnu@4.52.5': 616 | resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} 617 | cpu: [x64] 618 | os: [win32] 619 | 620 | '@rollup/rollup-win32-x64-msvc@4.29.1': 621 | resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} 622 | cpu: [x64] 623 | os: [win32] 624 | 625 | '@rollup/rollup-win32-x64-msvc@4.52.5': 626 | resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} 627 | cpu: [x64] 628 | os: [win32] 629 | 630 | '@tauri-apps/cli-darwin-arm64@2.1.0': 631 | resolution: {integrity: sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==} 632 | engines: {node: '>= 10'} 633 | cpu: [arm64] 634 | os: [darwin] 635 | 636 | '@tauri-apps/cli-darwin-x64@2.1.0': 637 | resolution: {integrity: sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==} 638 | engines: {node: '>= 10'} 639 | cpu: [x64] 640 | os: [darwin] 641 | 642 | '@tauri-apps/cli-linux-arm-gnueabihf@2.1.0': 643 | resolution: {integrity: sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==} 644 | engines: {node: '>= 10'} 645 | cpu: [arm] 646 | os: [linux] 647 | 648 | '@tauri-apps/cli-linux-arm64-gnu@2.1.0': 649 | resolution: {integrity: sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==} 650 | engines: {node: '>= 10'} 651 | cpu: [arm64] 652 | os: [linux] 653 | 654 | '@tauri-apps/cli-linux-arm64-musl@2.1.0': 655 | resolution: {integrity: sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==} 656 | engines: {node: '>= 10'} 657 | cpu: [arm64] 658 | os: [linux] 659 | 660 | '@tauri-apps/cli-linux-x64-gnu@2.1.0': 661 | resolution: {integrity: sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==} 662 | engines: {node: '>= 10'} 663 | cpu: [x64] 664 | os: [linux] 665 | 666 | '@tauri-apps/cli-linux-x64-musl@2.1.0': 667 | resolution: {integrity: sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==} 668 | engines: {node: '>= 10'} 669 | cpu: [x64] 670 | os: [linux] 671 | 672 | '@tauri-apps/cli-win32-arm64-msvc@2.1.0': 673 | resolution: {integrity: sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==} 674 | engines: {node: '>= 10'} 675 | cpu: [arm64] 676 | os: [win32] 677 | 678 | '@tauri-apps/cli-win32-ia32-msvc@2.1.0': 679 | resolution: {integrity: sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==} 680 | engines: {node: '>= 10'} 681 | cpu: [ia32] 682 | os: [win32] 683 | 684 | '@tauri-apps/cli-win32-x64-msvc@2.1.0': 685 | resolution: {integrity: sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==} 686 | engines: {node: '>= 10'} 687 | cpu: [x64] 688 | os: [win32] 689 | 690 | '@tauri-apps/cli@2.1.0': 691 | resolution: {integrity: sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==} 692 | engines: {node: '>= 10'} 693 | hasBin: true 694 | 695 | '@types/estree@1.0.6': 696 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 697 | 698 | '@types/estree@1.0.8': 699 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 700 | 701 | '@types/node@22.10.2': 702 | resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} 703 | 704 | '@vitejs/plugin-vue@5.2.1': 705 | resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} 706 | engines: {node: ^18.0.0 || >=20.0.0} 707 | peerDependencies: 708 | vite: ^5.0.0 || ^6.0.0 709 | vue: ^3.2.25 710 | 711 | '@vue/compiler-core@3.5.13': 712 | resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} 713 | 714 | '@vue/compiler-dom@3.5.13': 715 | resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} 716 | 717 | '@vue/compiler-sfc@3.5.13': 718 | resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} 719 | 720 | '@vue/compiler-ssr@3.5.13': 721 | resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} 722 | 723 | '@vue/reactivity@3.5.13': 724 | resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} 725 | 726 | '@vue/runtime-core@3.5.13': 727 | resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} 728 | 729 | '@vue/runtime-dom@3.5.13': 730 | resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} 731 | 732 | '@vue/server-renderer@3.5.13': 733 | resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} 734 | peerDependencies: 735 | vue: 3.5.13 736 | 737 | '@vue/shared@3.5.13': 738 | resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} 739 | 740 | acorn@8.14.0: 741 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 742 | engines: {node: '>=0.4.0'} 743 | hasBin: true 744 | 745 | ansi-regex@5.0.1: 746 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 747 | engines: {node: '>=8'} 748 | 749 | ansi-regex@6.1.0: 750 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 751 | engines: {node: '>=12'} 752 | 753 | ansi-styles@4.3.0: 754 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 755 | engines: {node: '>=8'} 756 | 757 | ansi-styles@6.2.1: 758 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 759 | engines: {node: '>=12'} 760 | 761 | any-promise@1.3.0: 762 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 763 | 764 | balanced-match@1.0.2: 765 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 766 | 767 | brace-expansion@2.0.1: 768 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 769 | 770 | braces@3.0.3: 771 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 772 | engines: {node: '>=8'} 773 | 774 | bundle-require@5.1.0: 775 | resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} 776 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 777 | peerDependencies: 778 | esbuild: '>=0.18' 779 | 780 | cac@6.7.14: 781 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 782 | engines: {node: '>=8'} 783 | 784 | chokidar@4.0.3: 785 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 786 | engines: {node: '>= 14.16.0'} 787 | 788 | color-convert@2.0.1: 789 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 790 | engines: {node: '>=7.0.0'} 791 | 792 | color-name@1.1.4: 793 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 794 | 795 | commander@4.1.1: 796 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 797 | engines: {node: '>= 6'} 798 | 799 | confbox@0.1.8: 800 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 801 | 802 | consola@3.3.0: 803 | resolution: {integrity: sha512-kxltocVQCwQNFvw40dlVRYeAkAvtYjMFZYNlOcsF5wExPpGwPxMwgx4IfDJvBRPtBpnQwItd5WkTaR0ZwT/TmQ==} 804 | engines: {node: ^14.18.0 || >=16.10.0} 805 | 806 | cross-spawn@7.0.6: 807 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 808 | engines: {node: '>= 8'} 809 | 810 | csstype@3.1.3: 811 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 812 | 813 | debug@4.4.0: 814 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 815 | engines: {node: '>=6.0'} 816 | peerDependencies: 817 | supports-color: '*' 818 | peerDependenciesMeta: 819 | supports-color: 820 | optional: true 821 | 822 | eastasianwidth@0.2.0: 823 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 824 | 825 | emoji-regex@8.0.0: 826 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 827 | 828 | emoji-regex@9.2.2: 829 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 830 | 831 | entities@4.5.0: 832 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 833 | engines: {node: '>=0.12'} 834 | 835 | esbuild@0.24.2: 836 | resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} 837 | engines: {node: '>=18'} 838 | hasBin: true 839 | 840 | esbuild@0.25.11: 841 | resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} 842 | engines: {node: '>=18'} 843 | hasBin: true 844 | 845 | estree-walker@2.0.2: 846 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 847 | 848 | fast-glob@3.3.2: 849 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 850 | engines: {node: '>=8.6.0'} 851 | 852 | fastq@1.17.1: 853 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 854 | 855 | fdir@6.5.0: 856 | resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 857 | engines: {node: '>=12.0.0'} 858 | peerDependencies: 859 | picomatch: ^3 || ^4 860 | peerDependenciesMeta: 861 | picomatch: 862 | optional: true 863 | 864 | fill-range@7.1.1: 865 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 866 | engines: {node: '>=8'} 867 | 868 | foreground-child@3.3.0: 869 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 870 | engines: {node: '>=14'} 871 | 872 | fsevents@2.3.3: 873 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 874 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 875 | os: [darwin] 876 | 877 | glob-parent@5.1.2: 878 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 879 | engines: {node: '>= 6'} 880 | 881 | glob@10.4.5: 882 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 883 | hasBin: true 884 | 885 | is-extglob@2.1.1: 886 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 887 | engines: {node: '>=0.10.0'} 888 | 889 | is-fullwidth-code-point@3.0.0: 890 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 891 | engines: {node: '>=8'} 892 | 893 | is-glob@4.0.3: 894 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 895 | engines: {node: '>=0.10.0'} 896 | 897 | is-number@7.0.0: 898 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 899 | engines: {node: '>=0.12.0'} 900 | 901 | isexe@2.0.0: 902 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 903 | 904 | jackspeak@3.4.3: 905 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 906 | 907 | joycon@3.1.1: 908 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 909 | engines: {node: '>=10'} 910 | 911 | lilconfig@3.1.3: 912 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 913 | engines: {node: '>=14'} 914 | 915 | lines-and-columns@1.2.4: 916 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 917 | 918 | load-tsconfig@0.2.5: 919 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 920 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 921 | 922 | local-pkg@0.5.1: 923 | resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} 924 | engines: {node: '>=14'} 925 | 926 | lodash.sortby@4.7.0: 927 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 928 | 929 | lru-cache@10.4.3: 930 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 931 | 932 | magic-string@0.30.17: 933 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 934 | 935 | merge2@1.4.1: 936 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 937 | engines: {node: '>= 8'} 938 | 939 | micromatch@4.0.8: 940 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 941 | engines: {node: '>=8.6'} 942 | 943 | minimatch@10.0.1: 944 | resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} 945 | engines: {node: 20 || >=22} 946 | 947 | minipass@7.1.2: 948 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 949 | engines: {node: '>=16 || 14 >=14.17'} 950 | 951 | mlly@1.7.3: 952 | resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} 953 | 954 | ms@2.1.3: 955 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 956 | 957 | mz@2.7.0: 958 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 959 | 960 | nanoid@3.3.11: 961 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 962 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 963 | hasBin: true 964 | 965 | object-assign@4.1.1: 966 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 967 | engines: {node: '>=0.10.0'} 968 | 969 | package-json-from-dist@1.0.1: 970 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 971 | 972 | path-key@3.1.1: 973 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 974 | engines: {node: '>=8'} 975 | 976 | path-scurry@1.11.1: 977 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 978 | engines: {node: '>=16 || 14 >=14.18'} 979 | 980 | pathe@1.1.2: 981 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 982 | 983 | picocolors@1.1.1: 984 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 985 | 986 | picomatch@2.3.1: 987 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 988 | engines: {node: '>=8.6'} 989 | 990 | picomatch@4.0.3: 991 | resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 992 | engines: {node: '>=12'} 993 | 994 | pirates@4.0.6: 995 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 996 | engines: {node: '>= 6'} 997 | 998 | pkg-types@1.2.1: 999 | resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} 1000 | 1001 | postcss-load-config@6.0.1: 1002 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 1003 | engines: {node: '>= 18'} 1004 | peerDependencies: 1005 | jiti: '>=1.21.0' 1006 | postcss: '>=8.0.9' 1007 | tsx: ^4.8.1 1008 | yaml: ^2.4.2 1009 | peerDependenciesMeta: 1010 | jiti: 1011 | optional: true 1012 | postcss: 1013 | optional: true 1014 | tsx: 1015 | optional: true 1016 | yaml: 1017 | optional: true 1018 | 1019 | postcss@8.5.6: 1020 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 1021 | engines: {node: ^10 || ^12 || >=14} 1022 | 1023 | prettier@3.4.2: 1024 | resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} 1025 | engines: {node: '>=14'} 1026 | hasBin: true 1027 | 1028 | punycode@2.3.1: 1029 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1030 | engines: {node: '>=6'} 1031 | 1032 | queue-microtask@1.2.3: 1033 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1034 | 1035 | readdirp@4.0.2: 1036 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 1037 | engines: {node: '>= 14.16.0'} 1038 | 1039 | resolve-from@5.0.0: 1040 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1041 | engines: {node: '>=8'} 1042 | 1043 | reusify@1.0.4: 1044 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1045 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1046 | 1047 | rollup@4.29.1: 1048 | resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} 1049 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1050 | hasBin: true 1051 | 1052 | rollup@4.52.5: 1053 | resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} 1054 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1055 | hasBin: true 1056 | 1057 | run-parallel@1.2.0: 1058 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1059 | 1060 | shebang-command@2.0.0: 1061 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1062 | engines: {node: '>=8'} 1063 | 1064 | shebang-regex@3.0.0: 1065 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1066 | engines: {node: '>=8'} 1067 | 1068 | signal-exit@4.1.0: 1069 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1070 | engines: {node: '>=14'} 1071 | 1072 | source-map-js@1.2.1: 1073 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1074 | engines: {node: '>=0.10.0'} 1075 | 1076 | source-map@0.8.0-beta.0: 1077 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1078 | engines: {node: '>= 8'} 1079 | deprecated: The work that was done in this beta branch won't be included in future versions 1080 | 1081 | string-width@4.2.3: 1082 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1083 | engines: {node: '>=8'} 1084 | 1085 | string-width@5.1.2: 1086 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1087 | engines: {node: '>=12'} 1088 | 1089 | strip-ansi@6.0.1: 1090 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1091 | engines: {node: '>=8'} 1092 | 1093 | strip-ansi@7.1.0: 1094 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1095 | engines: {node: '>=12'} 1096 | 1097 | sucrase@3.35.0: 1098 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1099 | engines: {node: '>=16 || 14 >=14.17'} 1100 | hasBin: true 1101 | 1102 | thenify-all@1.6.0: 1103 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1104 | engines: {node: '>=0.8'} 1105 | 1106 | thenify@3.3.1: 1107 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1108 | 1109 | tinyexec@0.3.1: 1110 | resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} 1111 | 1112 | tinyglobby@0.2.10: 1113 | resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} 1114 | engines: {node: '>=12.0.0'} 1115 | 1116 | tinyglobby@0.2.15: 1117 | resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 1118 | engines: {node: '>=12.0.0'} 1119 | 1120 | to-regex-range@5.0.1: 1121 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1122 | engines: {node: '>=8.0'} 1123 | 1124 | tr46@1.0.1: 1125 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1126 | 1127 | tree-kill@1.2.2: 1128 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1129 | hasBin: true 1130 | 1131 | ts-interface-checker@0.1.13: 1132 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1133 | 1134 | tsup@8.3.5: 1135 | resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} 1136 | engines: {node: '>=18'} 1137 | hasBin: true 1138 | peerDependencies: 1139 | '@microsoft/api-extractor': ^7.36.0 1140 | '@swc/core': ^1 1141 | postcss: ^8.4.12 1142 | typescript: '>=4.5.0' 1143 | peerDependenciesMeta: 1144 | '@microsoft/api-extractor': 1145 | optional: true 1146 | '@swc/core': 1147 | optional: true 1148 | postcss: 1149 | optional: true 1150 | typescript: 1151 | optional: true 1152 | 1153 | typescript@5.7.2: 1154 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 1155 | engines: {node: '>=14.17'} 1156 | hasBin: true 1157 | 1158 | ufo@1.5.4: 1159 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} 1160 | 1161 | undici-types@6.20.0: 1162 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 1163 | 1164 | vite@6.4.1: 1165 | resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} 1166 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1167 | hasBin: true 1168 | peerDependencies: 1169 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1170 | jiti: '>=1.21.0' 1171 | less: '*' 1172 | lightningcss: ^1.21.0 1173 | sass: '*' 1174 | sass-embedded: '*' 1175 | stylus: '*' 1176 | sugarss: '*' 1177 | terser: ^5.16.0 1178 | tsx: ^4.8.1 1179 | yaml: ^2.4.2 1180 | peerDependenciesMeta: 1181 | '@types/node': 1182 | optional: true 1183 | jiti: 1184 | optional: true 1185 | less: 1186 | optional: true 1187 | lightningcss: 1188 | optional: true 1189 | sass: 1190 | optional: true 1191 | sass-embedded: 1192 | optional: true 1193 | stylus: 1194 | optional: true 1195 | sugarss: 1196 | optional: true 1197 | terser: 1198 | optional: true 1199 | tsx: 1200 | optional: true 1201 | yaml: 1202 | optional: true 1203 | 1204 | vue@3.5.13: 1205 | resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} 1206 | peerDependencies: 1207 | typescript: '*' 1208 | peerDependenciesMeta: 1209 | typescript: 1210 | optional: true 1211 | 1212 | webidl-conversions@4.0.2: 1213 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 1214 | 1215 | whatwg-url@7.1.0: 1216 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 1217 | 1218 | which@2.0.2: 1219 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1220 | engines: {node: '>= 8'} 1221 | hasBin: true 1222 | 1223 | wrap-ansi@7.0.0: 1224 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1225 | engines: {node: '>=10'} 1226 | 1227 | wrap-ansi@8.1.0: 1228 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1229 | engines: {node: '>=12'} 1230 | 1231 | snapshots: 1232 | 1233 | '@babel/helper-string-parser@7.25.9': {} 1234 | 1235 | '@babel/helper-validator-identifier@7.25.9': {} 1236 | 1237 | '@babel/parser@7.26.3': 1238 | dependencies: 1239 | '@babel/types': 7.26.3 1240 | 1241 | '@babel/types@7.26.3': 1242 | dependencies: 1243 | '@babel/helper-string-parser': 7.25.9 1244 | '@babel/helper-validator-identifier': 7.25.9 1245 | 1246 | '@esbuild/aix-ppc64@0.24.2': 1247 | optional: true 1248 | 1249 | '@esbuild/aix-ppc64@0.25.11': 1250 | optional: true 1251 | 1252 | '@esbuild/android-arm64@0.24.2': 1253 | optional: true 1254 | 1255 | '@esbuild/android-arm64@0.25.11': 1256 | optional: true 1257 | 1258 | '@esbuild/android-arm@0.24.2': 1259 | optional: true 1260 | 1261 | '@esbuild/android-arm@0.25.11': 1262 | optional: true 1263 | 1264 | '@esbuild/android-x64@0.24.2': 1265 | optional: true 1266 | 1267 | '@esbuild/android-x64@0.25.11': 1268 | optional: true 1269 | 1270 | '@esbuild/darwin-arm64@0.24.2': 1271 | optional: true 1272 | 1273 | '@esbuild/darwin-arm64@0.25.11': 1274 | optional: true 1275 | 1276 | '@esbuild/darwin-x64@0.24.2': 1277 | optional: true 1278 | 1279 | '@esbuild/darwin-x64@0.25.11': 1280 | optional: true 1281 | 1282 | '@esbuild/freebsd-arm64@0.24.2': 1283 | optional: true 1284 | 1285 | '@esbuild/freebsd-arm64@0.25.11': 1286 | optional: true 1287 | 1288 | '@esbuild/freebsd-x64@0.24.2': 1289 | optional: true 1290 | 1291 | '@esbuild/freebsd-x64@0.25.11': 1292 | optional: true 1293 | 1294 | '@esbuild/linux-arm64@0.24.2': 1295 | optional: true 1296 | 1297 | '@esbuild/linux-arm64@0.25.11': 1298 | optional: true 1299 | 1300 | '@esbuild/linux-arm@0.24.2': 1301 | optional: true 1302 | 1303 | '@esbuild/linux-arm@0.25.11': 1304 | optional: true 1305 | 1306 | '@esbuild/linux-ia32@0.24.2': 1307 | optional: true 1308 | 1309 | '@esbuild/linux-ia32@0.25.11': 1310 | optional: true 1311 | 1312 | '@esbuild/linux-loong64@0.24.2': 1313 | optional: true 1314 | 1315 | '@esbuild/linux-loong64@0.25.11': 1316 | optional: true 1317 | 1318 | '@esbuild/linux-mips64el@0.24.2': 1319 | optional: true 1320 | 1321 | '@esbuild/linux-mips64el@0.25.11': 1322 | optional: true 1323 | 1324 | '@esbuild/linux-ppc64@0.24.2': 1325 | optional: true 1326 | 1327 | '@esbuild/linux-ppc64@0.25.11': 1328 | optional: true 1329 | 1330 | '@esbuild/linux-riscv64@0.24.2': 1331 | optional: true 1332 | 1333 | '@esbuild/linux-riscv64@0.25.11': 1334 | optional: true 1335 | 1336 | '@esbuild/linux-s390x@0.24.2': 1337 | optional: true 1338 | 1339 | '@esbuild/linux-s390x@0.25.11': 1340 | optional: true 1341 | 1342 | '@esbuild/linux-x64@0.24.2': 1343 | optional: true 1344 | 1345 | '@esbuild/linux-x64@0.25.11': 1346 | optional: true 1347 | 1348 | '@esbuild/netbsd-arm64@0.24.2': 1349 | optional: true 1350 | 1351 | '@esbuild/netbsd-arm64@0.25.11': 1352 | optional: true 1353 | 1354 | '@esbuild/netbsd-x64@0.24.2': 1355 | optional: true 1356 | 1357 | '@esbuild/netbsd-x64@0.25.11': 1358 | optional: true 1359 | 1360 | '@esbuild/openbsd-arm64@0.24.2': 1361 | optional: true 1362 | 1363 | '@esbuild/openbsd-arm64@0.25.11': 1364 | optional: true 1365 | 1366 | '@esbuild/openbsd-x64@0.24.2': 1367 | optional: true 1368 | 1369 | '@esbuild/openbsd-x64@0.25.11': 1370 | optional: true 1371 | 1372 | '@esbuild/openharmony-arm64@0.25.11': 1373 | optional: true 1374 | 1375 | '@esbuild/sunos-x64@0.24.2': 1376 | optional: true 1377 | 1378 | '@esbuild/sunos-x64@0.25.11': 1379 | optional: true 1380 | 1381 | '@esbuild/win32-arm64@0.24.2': 1382 | optional: true 1383 | 1384 | '@esbuild/win32-arm64@0.25.11': 1385 | optional: true 1386 | 1387 | '@esbuild/win32-ia32@0.24.2': 1388 | optional: true 1389 | 1390 | '@esbuild/win32-ia32@0.25.11': 1391 | optional: true 1392 | 1393 | '@esbuild/win32-x64@0.24.2': 1394 | optional: true 1395 | 1396 | '@esbuild/win32-x64@0.25.11': 1397 | optional: true 1398 | 1399 | '@isaacs/cliui@8.0.2': 1400 | dependencies: 1401 | string-width: 5.1.2 1402 | string-width-cjs: string-width@4.2.3 1403 | strip-ansi: 7.1.0 1404 | strip-ansi-cjs: strip-ansi@6.0.1 1405 | wrap-ansi: 8.1.0 1406 | wrap-ansi-cjs: wrap-ansi@7.0.0 1407 | 1408 | '@jridgewell/gen-mapping@0.3.8': 1409 | dependencies: 1410 | '@jridgewell/set-array': 1.2.1 1411 | '@jridgewell/sourcemap-codec': 1.5.0 1412 | '@jridgewell/trace-mapping': 0.3.25 1413 | 1414 | '@jridgewell/resolve-uri@3.1.2': {} 1415 | 1416 | '@jridgewell/set-array@1.2.1': {} 1417 | 1418 | '@jridgewell/sourcemap-codec@1.5.0': {} 1419 | 1420 | '@jridgewell/trace-mapping@0.3.25': 1421 | dependencies: 1422 | '@jridgewell/resolve-uri': 3.1.2 1423 | '@jridgewell/sourcemap-codec': 1.5.0 1424 | 1425 | '@nodelib/fs.scandir@2.1.5': 1426 | dependencies: 1427 | '@nodelib/fs.stat': 2.0.5 1428 | run-parallel: 1.2.0 1429 | 1430 | '@nodelib/fs.stat@2.0.5': {} 1431 | 1432 | '@nodelib/fs.walk@1.2.8': 1433 | dependencies: 1434 | '@nodelib/fs.scandir': 2.1.5 1435 | fastq: 1.17.1 1436 | 1437 | '@pkgjs/parseargs@0.11.0': 1438 | optional: true 1439 | 1440 | '@rollup/rollup-android-arm-eabi@4.29.1': 1441 | optional: true 1442 | 1443 | '@rollup/rollup-android-arm-eabi@4.52.5': 1444 | optional: true 1445 | 1446 | '@rollup/rollup-android-arm64@4.29.1': 1447 | optional: true 1448 | 1449 | '@rollup/rollup-android-arm64@4.52.5': 1450 | optional: true 1451 | 1452 | '@rollup/rollup-darwin-arm64@4.29.1': 1453 | optional: true 1454 | 1455 | '@rollup/rollup-darwin-arm64@4.52.5': 1456 | optional: true 1457 | 1458 | '@rollup/rollup-darwin-x64@4.29.1': 1459 | optional: true 1460 | 1461 | '@rollup/rollup-darwin-x64@4.52.5': 1462 | optional: true 1463 | 1464 | '@rollup/rollup-freebsd-arm64@4.29.1': 1465 | optional: true 1466 | 1467 | '@rollup/rollup-freebsd-arm64@4.52.5': 1468 | optional: true 1469 | 1470 | '@rollup/rollup-freebsd-x64@4.29.1': 1471 | optional: true 1472 | 1473 | '@rollup/rollup-freebsd-x64@4.52.5': 1474 | optional: true 1475 | 1476 | '@rollup/rollup-linux-arm-gnueabihf@4.29.1': 1477 | optional: true 1478 | 1479 | '@rollup/rollup-linux-arm-gnueabihf@4.52.5': 1480 | optional: true 1481 | 1482 | '@rollup/rollup-linux-arm-musleabihf@4.29.1': 1483 | optional: true 1484 | 1485 | '@rollup/rollup-linux-arm-musleabihf@4.52.5': 1486 | optional: true 1487 | 1488 | '@rollup/rollup-linux-arm64-gnu@4.29.1': 1489 | optional: true 1490 | 1491 | '@rollup/rollup-linux-arm64-gnu@4.52.5': 1492 | optional: true 1493 | 1494 | '@rollup/rollup-linux-arm64-musl@4.29.1': 1495 | optional: true 1496 | 1497 | '@rollup/rollup-linux-arm64-musl@4.52.5': 1498 | optional: true 1499 | 1500 | '@rollup/rollup-linux-loong64-gnu@4.52.5': 1501 | optional: true 1502 | 1503 | '@rollup/rollup-linux-loongarch64-gnu@4.29.1': 1504 | optional: true 1505 | 1506 | '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': 1507 | optional: true 1508 | 1509 | '@rollup/rollup-linux-ppc64-gnu@4.52.5': 1510 | optional: true 1511 | 1512 | '@rollup/rollup-linux-riscv64-gnu@4.29.1': 1513 | optional: true 1514 | 1515 | '@rollup/rollup-linux-riscv64-gnu@4.52.5': 1516 | optional: true 1517 | 1518 | '@rollup/rollup-linux-riscv64-musl@4.52.5': 1519 | optional: true 1520 | 1521 | '@rollup/rollup-linux-s390x-gnu@4.29.1': 1522 | optional: true 1523 | 1524 | '@rollup/rollup-linux-s390x-gnu@4.52.5': 1525 | optional: true 1526 | 1527 | '@rollup/rollup-linux-x64-gnu@4.29.1': 1528 | optional: true 1529 | 1530 | '@rollup/rollup-linux-x64-gnu@4.52.5': 1531 | optional: true 1532 | 1533 | '@rollup/rollup-linux-x64-musl@4.29.1': 1534 | optional: true 1535 | 1536 | '@rollup/rollup-linux-x64-musl@4.52.5': 1537 | optional: true 1538 | 1539 | '@rollup/rollup-openharmony-arm64@4.52.5': 1540 | optional: true 1541 | 1542 | '@rollup/rollup-win32-arm64-msvc@4.29.1': 1543 | optional: true 1544 | 1545 | '@rollup/rollup-win32-arm64-msvc@4.52.5': 1546 | optional: true 1547 | 1548 | '@rollup/rollup-win32-ia32-msvc@4.29.1': 1549 | optional: true 1550 | 1551 | '@rollup/rollup-win32-ia32-msvc@4.52.5': 1552 | optional: true 1553 | 1554 | '@rollup/rollup-win32-x64-gnu@4.52.5': 1555 | optional: true 1556 | 1557 | '@rollup/rollup-win32-x64-msvc@4.29.1': 1558 | optional: true 1559 | 1560 | '@rollup/rollup-win32-x64-msvc@4.52.5': 1561 | optional: true 1562 | 1563 | '@tauri-apps/cli-darwin-arm64@2.1.0': 1564 | optional: true 1565 | 1566 | '@tauri-apps/cli-darwin-x64@2.1.0': 1567 | optional: true 1568 | 1569 | '@tauri-apps/cli-linux-arm-gnueabihf@2.1.0': 1570 | optional: true 1571 | 1572 | '@tauri-apps/cli-linux-arm64-gnu@2.1.0': 1573 | optional: true 1574 | 1575 | '@tauri-apps/cli-linux-arm64-musl@2.1.0': 1576 | optional: true 1577 | 1578 | '@tauri-apps/cli-linux-x64-gnu@2.1.0': 1579 | optional: true 1580 | 1581 | '@tauri-apps/cli-linux-x64-musl@2.1.0': 1582 | optional: true 1583 | 1584 | '@tauri-apps/cli-win32-arm64-msvc@2.1.0': 1585 | optional: true 1586 | 1587 | '@tauri-apps/cli-win32-ia32-msvc@2.1.0': 1588 | optional: true 1589 | 1590 | '@tauri-apps/cli-win32-x64-msvc@2.1.0': 1591 | optional: true 1592 | 1593 | '@tauri-apps/cli@2.1.0': 1594 | optionalDependencies: 1595 | '@tauri-apps/cli-darwin-arm64': 2.1.0 1596 | '@tauri-apps/cli-darwin-x64': 2.1.0 1597 | '@tauri-apps/cli-linux-arm-gnueabihf': 2.1.0 1598 | '@tauri-apps/cli-linux-arm64-gnu': 2.1.0 1599 | '@tauri-apps/cli-linux-arm64-musl': 2.1.0 1600 | '@tauri-apps/cli-linux-x64-gnu': 2.1.0 1601 | '@tauri-apps/cli-linux-x64-musl': 2.1.0 1602 | '@tauri-apps/cli-win32-arm64-msvc': 2.1.0 1603 | '@tauri-apps/cli-win32-ia32-msvc': 2.1.0 1604 | '@tauri-apps/cli-win32-x64-msvc': 2.1.0 1605 | 1606 | '@types/estree@1.0.6': {} 1607 | 1608 | '@types/estree@1.0.8': {} 1609 | 1610 | '@types/node@22.10.2': 1611 | dependencies: 1612 | undici-types: 6.20.0 1613 | 1614 | '@vitejs/plugin-vue@5.2.1(vite@6.4.1(@types/node@22.10.2))(vue@3.5.13(typescript@5.7.2))': 1615 | dependencies: 1616 | vite: 6.4.1(@types/node@22.10.2) 1617 | vue: 3.5.13(typescript@5.7.2) 1618 | 1619 | '@vue/compiler-core@3.5.13': 1620 | dependencies: 1621 | '@babel/parser': 7.26.3 1622 | '@vue/shared': 3.5.13 1623 | entities: 4.5.0 1624 | estree-walker: 2.0.2 1625 | source-map-js: 1.2.1 1626 | 1627 | '@vue/compiler-dom@3.5.13': 1628 | dependencies: 1629 | '@vue/compiler-core': 3.5.13 1630 | '@vue/shared': 3.5.13 1631 | 1632 | '@vue/compiler-sfc@3.5.13': 1633 | dependencies: 1634 | '@babel/parser': 7.26.3 1635 | '@vue/compiler-core': 3.5.13 1636 | '@vue/compiler-dom': 3.5.13 1637 | '@vue/compiler-ssr': 3.5.13 1638 | '@vue/shared': 3.5.13 1639 | estree-walker: 2.0.2 1640 | magic-string: 0.30.17 1641 | postcss: 8.5.6 1642 | source-map-js: 1.2.1 1643 | 1644 | '@vue/compiler-ssr@3.5.13': 1645 | dependencies: 1646 | '@vue/compiler-dom': 3.5.13 1647 | '@vue/shared': 3.5.13 1648 | 1649 | '@vue/reactivity@3.5.13': 1650 | dependencies: 1651 | '@vue/shared': 3.5.13 1652 | 1653 | '@vue/runtime-core@3.5.13': 1654 | dependencies: 1655 | '@vue/reactivity': 3.5.13 1656 | '@vue/shared': 3.5.13 1657 | 1658 | '@vue/runtime-dom@3.5.13': 1659 | dependencies: 1660 | '@vue/reactivity': 3.5.13 1661 | '@vue/runtime-core': 3.5.13 1662 | '@vue/shared': 3.5.13 1663 | csstype: 3.1.3 1664 | 1665 | '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.2))': 1666 | dependencies: 1667 | '@vue/compiler-ssr': 3.5.13 1668 | '@vue/shared': 3.5.13 1669 | vue: 3.5.13(typescript@5.7.2) 1670 | 1671 | '@vue/shared@3.5.13': {} 1672 | 1673 | acorn@8.14.0: {} 1674 | 1675 | ansi-regex@5.0.1: {} 1676 | 1677 | ansi-regex@6.1.0: {} 1678 | 1679 | ansi-styles@4.3.0: 1680 | dependencies: 1681 | color-convert: 2.0.1 1682 | 1683 | ansi-styles@6.2.1: {} 1684 | 1685 | any-promise@1.3.0: {} 1686 | 1687 | balanced-match@1.0.2: {} 1688 | 1689 | brace-expansion@2.0.1: 1690 | dependencies: 1691 | balanced-match: 1.0.2 1692 | 1693 | braces@3.0.3: 1694 | dependencies: 1695 | fill-range: 7.1.1 1696 | 1697 | bundle-require@5.1.0(esbuild@0.24.2): 1698 | dependencies: 1699 | esbuild: 0.24.2 1700 | load-tsconfig: 0.2.5 1701 | 1702 | cac@6.7.14: {} 1703 | 1704 | chokidar@4.0.3: 1705 | dependencies: 1706 | readdirp: 4.0.2 1707 | 1708 | color-convert@2.0.1: 1709 | dependencies: 1710 | color-name: 1.1.4 1711 | 1712 | color-name@1.1.4: {} 1713 | 1714 | commander@4.1.1: {} 1715 | 1716 | confbox@0.1.8: {} 1717 | 1718 | consola@3.3.0: {} 1719 | 1720 | cross-spawn@7.0.6: 1721 | dependencies: 1722 | path-key: 3.1.1 1723 | shebang-command: 2.0.0 1724 | which: 2.0.2 1725 | 1726 | csstype@3.1.3: {} 1727 | 1728 | debug@4.4.0: 1729 | dependencies: 1730 | ms: 2.1.3 1731 | 1732 | eastasianwidth@0.2.0: {} 1733 | 1734 | emoji-regex@8.0.0: {} 1735 | 1736 | emoji-regex@9.2.2: {} 1737 | 1738 | entities@4.5.0: {} 1739 | 1740 | esbuild@0.24.2: 1741 | optionalDependencies: 1742 | '@esbuild/aix-ppc64': 0.24.2 1743 | '@esbuild/android-arm': 0.24.2 1744 | '@esbuild/android-arm64': 0.24.2 1745 | '@esbuild/android-x64': 0.24.2 1746 | '@esbuild/darwin-arm64': 0.24.2 1747 | '@esbuild/darwin-x64': 0.24.2 1748 | '@esbuild/freebsd-arm64': 0.24.2 1749 | '@esbuild/freebsd-x64': 0.24.2 1750 | '@esbuild/linux-arm': 0.24.2 1751 | '@esbuild/linux-arm64': 0.24.2 1752 | '@esbuild/linux-ia32': 0.24.2 1753 | '@esbuild/linux-loong64': 0.24.2 1754 | '@esbuild/linux-mips64el': 0.24.2 1755 | '@esbuild/linux-ppc64': 0.24.2 1756 | '@esbuild/linux-riscv64': 0.24.2 1757 | '@esbuild/linux-s390x': 0.24.2 1758 | '@esbuild/linux-x64': 0.24.2 1759 | '@esbuild/netbsd-arm64': 0.24.2 1760 | '@esbuild/netbsd-x64': 0.24.2 1761 | '@esbuild/openbsd-arm64': 0.24.2 1762 | '@esbuild/openbsd-x64': 0.24.2 1763 | '@esbuild/sunos-x64': 0.24.2 1764 | '@esbuild/win32-arm64': 0.24.2 1765 | '@esbuild/win32-ia32': 0.24.2 1766 | '@esbuild/win32-x64': 0.24.2 1767 | 1768 | esbuild@0.25.11: 1769 | optionalDependencies: 1770 | '@esbuild/aix-ppc64': 0.25.11 1771 | '@esbuild/android-arm': 0.25.11 1772 | '@esbuild/android-arm64': 0.25.11 1773 | '@esbuild/android-x64': 0.25.11 1774 | '@esbuild/darwin-arm64': 0.25.11 1775 | '@esbuild/darwin-x64': 0.25.11 1776 | '@esbuild/freebsd-arm64': 0.25.11 1777 | '@esbuild/freebsd-x64': 0.25.11 1778 | '@esbuild/linux-arm': 0.25.11 1779 | '@esbuild/linux-arm64': 0.25.11 1780 | '@esbuild/linux-ia32': 0.25.11 1781 | '@esbuild/linux-loong64': 0.25.11 1782 | '@esbuild/linux-mips64el': 0.25.11 1783 | '@esbuild/linux-ppc64': 0.25.11 1784 | '@esbuild/linux-riscv64': 0.25.11 1785 | '@esbuild/linux-s390x': 0.25.11 1786 | '@esbuild/linux-x64': 0.25.11 1787 | '@esbuild/netbsd-arm64': 0.25.11 1788 | '@esbuild/netbsd-x64': 0.25.11 1789 | '@esbuild/openbsd-arm64': 0.25.11 1790 | '@esbuild/openbsd-x64': 0.25.11 1791 | '@esbuild/openharmony-arm64': 0.25.11 1792 | '@esbuild/sunos-x64': 0.25.11 1793 | '@esbuild/win32-arm64': 0.25.11 1794 | '@esbuild/win32-ia32': 0.25.11 1795 | '@esbuild/win32-x64': 0.25.11 1796 | 1797 | estree-walker@2.0.2: {} 1798 | 1799 | fast-glob@3.3.2: 1800 | dependencies: 1801 | '@nodelib/fs.stat': 2.0.5 1802 | '@nodelib/fs.walk': 1.2.8 1803 | glob-parent: 5.1.2 1804 | merge2: 1.4.1 1805 | micromatch: 4.0.8 1806 | 1807 | fastq@1.17.1: 1808 | dependencies: 1809 | reusify: 1.0.4 1810 | 1811 | fdir@6.5.0(picomatch@4.0.3): 1812 | optionalDependencies: 1813 | picomatch: 4.0.3 1814 | 1815 | fill-range@7.1.1: 1816 | dependencies: 1817 | to-regex-range: 5.0.1 1818 | 1819 | foreground-child@3.3.0: 1820 | dependencies: 1821 | cross-spawn: 7.0.6 1822 | signal-exit: 4.1.0 1823 | 1824 | fsevents@2.3.3: 1825 | optional: true 1826 | 1827 | glob-parent@5.1.2: 1828 | dependencies: 1829 | is-glob: 4.0.3 1830 | 1831 | glob@10.4.5: 1832 | dependencies: 1833 | foreground-child: 3.3.0 1834 | jackspeak: 3.4.3 1835 | minimatch: 10.0.1 1836 | minipass: 7.1.2 1837 | package-json-from-dist: 1.0.1 1838 | path-scurry: 1.11.1 1839 | 1840 | is-extglob@2.1.1: {} 1841 | 1842 | is-fullwidth-code-point@3.0.0: {} 1843 | 1844 | is-glob@4.0.3: 1845 | dependencies: 1846 | is-extglob: 2.1.1 1847 | 1848 | is-number@7.0.0: {} 1849 | 1850 | isexe@2.0.0: {} 1851 | 1852 | jackspeak@3.4.3: 1853 | dependencies: 1854 | '@isaacs/cliui': 8.0.2 1855 | optionalDependencies: 1856 | '@pkgjs/parseargs': 0.11.0 1857 | 1858 | joycon@3.1.1: {} 1859 | 1860 | lilconfig@3.1.3: {} 1861 | 1862 | lines-and-columns@1.2.4: {} 1863 | 1864 | load-tsconfig@0.2.5: {} 1865 | 1866 | local-pkg@0.5.1: 1867 | dependencies: 1868 | mlly: 1.7.3 1869 | pkg-types: 1.2.1 1870 | 1871 | lodash.sortby@4.7.0: {} 1872 | 1873 | lru-cache@10.4.3: {} 1874 | 1875 | magic-string@0.30.17: 1876 | dependencies: 1877 | '@jridgewell/sourcemap-codec': 1.5.0 1878 | 1879 | merge2@1.4.1: {} 1880 | 1881 | micromatch@4.0.8: 1882 | dependencies: 1883 | braces: 3.0.3 1884 | picomatch: 2.3.1 1885 | 1886 | minimatch@10.0.1: 1887 | dependencies: 1888 | brace-expansion: 2.0.1 1889 | 1890 | minipass@7.1.2: {} 1891 | 1892 | mlly@1.7.3: 1893 | dependencies: 1894 | acorn: 8.14.0 1895 | pathe: 1.1.2 1896 | pkg-types: 1.2.1 1897 | ufo: 1.5.4 1898 | 1899 | ms@2.1.3: {} 1900 | 1901 | mz@2.7.0: 1902 | dependencies: 1903 | any-promise: 1.3.0 1904 | object-assign: 4.1.1 1905 | thenify-all: 1.6.0 1906 | 1907 | nanoid@3.3.11: {} 1908 | 1909 | object-assign@4.1.1: {} 1910 | 1911 | package-json-from-dist@1.0.1: {} 1912 | 1913 | path-key@3.1.1: {} 1914 | 1915 | path-scurry@1.11.1: 1916 | dependencies: 1917 | lru-cache: 10.4.3 1918 | minipass: 7.1.2 1919 | 1920 | pathe@1.1.2: {} 1921 | 1922 | picocolors@1.1.1: {} 1923 | 1924 | picomatch@2.3.1: {} 1925 | 1926 | picomatch@4.0.3: {} 1927 | 1928 | pirates@4.0.6: {} 1929 | 1930 | pkg-types@1.2.1: 1931 | dependencies: 1932 | confbox: 0.1.8 1933 | mlly: 1.7.3 1934 | pathe: 1.1.2 1935 | 1936 | postcss-load-config@6.0.1(postcss@8.5.6): 1937 | dependencies: 1938 | lilconfig: 3.1.3 1939 | optionalDependencies: 1940 | postcss: 8.5.6 1941 | 1942 | postcss@8.5.6: 1943 | dependencies: 1944 | nanoid: 3.3.11 1945 | picocolors: 1.1.1 1946 | source-map-js: 1.2.1 1947 | 1948 | prettier@3.4.2: {} 1949 | 1950 | punycode@2.3.1: {} 1951 | 1952 | queue-microtask@1.2.3: {} 1953 | 1954 | readdirp@4.0.2: {} 1955 | 1956 | resolve-from@5.0.0: {} 1957 | 1958 | reusify@1.0.4: {} 1959 | 1960 | rollup@4.29.1: 1961 | dependencies: 1962 | '@types/estree': 1.0.6 1963 | optionalDependencies: 1964 | '@rollup/rollup-android-arm-eabi': 4.29.1 1965 | '@rollup/rollup-android-arm64': 4.29.1 1966 | '@rollup/rollup-darwin-arm64': 4.29.1 1967 | '@rollup/rollup-darwin-x64': 4.29.1 1968 | '@rollup/rollup-freebsd-arm64': 4.29.1 1969 | '@rollup/rollup-freebsd-x64': 4.29.1 1970 | '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 1971 | '@rollup/rollup-linux-arm-musleabihf': 4.29.1 1972 | '@rollup/rollup-linux-arm64-gnu': 4.29.1 1973 | '@rollup/rollup-linux-arm64-musl': 4.29.1 1974 | '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 1975 | '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 1976 | '@rollup/rollup-linux-riscv64-gnu': 4.29.1 1977 | '@rollup/rollup-linux-s390x-gnu': 4.29.1 1978 | '@rollup/rollup-linux-x64-gnu': 4.29.1 1979 | '@rollup/rollup-linux-x64-musl': 4.29.1 1980 | '@rollup/rollup-win32-arm64-msvc': 4.29.1 1981 | '@rollup/rollup-win32-ia32-msvc': 4.29.1 1982 | '@rollup/rollup-win32-x64-msvc': 4.29.1 1983 | fsevents: 2.3.3 1984 | 1985 | rollup@4.52.5: 1986 | dependencies: 1987 | '@types/estree': 1.0.8 1988 | optionalDependencies: 1989 | '@rollup/rollup-android-arm-eabi': 4.52.5 1990 | '@rollup/rollup-android-arm64': 4.52.5 1991 | '@rollup/rollup-darwin-arm64': 4.52.5 1992 | '@rollup/rollup-darwin-x64': 4.52.5 1993 | '@rollup/rollup-freebsd-arm64': 4.52.5 1994 | '@rollup/rollup-freebsd-x64': 4.52.5 1995 | '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 1996 | '@rollup/rollup-linux-arm-musleabihf': 4.52.5 1997 | '@rollup/rollup-linux-arm64-gnu': 4.52.5 1998 | '@rollup/rollup-linux-arm64-musl': 4.52.5 1999 | '@rollup/rollup-linux-loong64-gnu': 4.52.5 2000 | '@rollup/rollup-linux-ppc64-gnu': 4.52.5 2001 | '@rollup/rollup-linux-riscv64-gnu': 4.52.5 2002 | '@rollup/rollup-linux-riscv64-musl': 4.52.5 2003 | '@rollup/rollup-linux-s390x-gnu': 4.52.5 2004 | '@rollup/rollup-linux-x64-gnu': 4.52.5 2005 | '@rollup/rollup-linux-x64-musl': 4.52.5 2006 | '@rollup/rollup-openharmony-arm64': 4.52.5 2007 | '@rollup/rollup-win32-arm64-msvc': 4.52.5 2008 | '@rollup/rollup-win32-ia32-msvc': 4.52.5 2009 | '@rollup/rollup-win32-x64-gnu': 4.52.5 2010 | '@rollup/rollup-win32-x64-msvc': 4.52.5 2011 | fsevents: 2.3.3 2012 | 2013 | run-parallel@1.2.0: 2014 | dependencies: 2015 | queue-microtask: 1.2.3 2016 | 2017 | shebang-command@2.0.0: 2018 | dependencies: 2019 | shebang-regex: 3.0.0 2020 | 2021 | shebang-regex@3.0.0: {} 2022 | 2023 | signal-exit@4.1.0: {} 2024 | 2025 | source-map-js@1.2.1: {} 2026 | 2027 | source-map@0.8.0-beta.0: 2028 | dependencies: 2029 | whatwg-url: 7.1.0 2030 | 2031 | string-width@4.2.3: 2032 | dependencies: 2033 | emoji-regex: 8.0.0 2034 | is-fullwidth-code-point: 3.0.0 2035 | strip-ansi: 6.0.1 2036 | 2037 | string-width@5.1.2: 2038 | dependencies: 2039 | eastasianwidth: 0.2.0 2040 | emoji-regex: 9.2.2 2041 | strip-ansi: 7.1.0 2042 | 2043 | strip-ansi@6.0.1: 2044 | dependencies: 2045 | ansi-regex: 5.0.1 2046 | 2047 | strip-ansi@7.1.0: 2048 | dependencies: 2049 | ansi-regex: 6.1.0 2050 | 2051 | sucrase@3.35.0: 2052 | dependencies: 2053 | '@jridgewell/gen-mapping': 0.3.8 2054 | commander: 4.1.1 2055 | glob: 10.4.5 2056 | lines-and-columns: 1.2.4 2057 | mz: 2.7.0 2058 | pirates: 4.0.6 2059 | ts-interface-checker: 0.1.13 2060 | 2061 | thenify-all@1.6.0: 2062 | dependencies: 2063 | thenify: 3.3.1 2064 | 2065 | thenify@3.3.1: 2066 | dependencies: 2067 | any-promise: 1.3.0 2068 | 2069 | tinyexec@0.3.1: {} 2070 | 2071 | tinyglobby@0.2.10: 2072 | dependencies: 2073 | fdir: 6.5.0(picomatch@4.0.3) 2074 | picomatch: 4.0.3 2075 | 2076 | tinyglobby@0.2.15: 2077 | dependencies: 2078 | fdir: 6.5.0(picomatch@4.0.3) 2079 | picomatch: 4.0.3 2080 | 2081 | to-regex-range@5.0.1: 2082 | dependencies: 2083 | is-number: 7.0.0 2084 | 2085 | tr46@1.0.1: 2086 | dependencies: 2087 | punycode: 2.3.1 2088 | 2089 | tree-kill@1.2.2: {} 2090 | 2091 | ts-interface-checker@0.1.13: {} 2092 | 2093 | tsup@8.3.5(postcss@8.5.6)(typescript@5.7.2): 2094 | dependencies: 2095 | bundle-require: 5.1.0(esbuild@0.24.2) 2096 | cac: 6.7.14 2097 | chokidar: 4.0.3 2098 | consola: 3.3.0 2099 | debug: 4.4.0 2100 | esbuild: 0.24.2 2101 | joycon: 3.1.1 2102 | picocolors: 1.1.1 2103 | postcss-load-config: 6.0.1(postcss@8.5.6) 2104 | resolve-from: 5.0.0 2105 | rollup: 4.29.1 2106 | source-map: 0.8.0-beta.0 2107 | sucrase: 3.35.0 2108 | tinyexec: 0.3.1 2109 | tinyglobby: 0.2.10 2110 | tree-kill: 1.2.2 2111 | optionalDependencies: 2112 | postcss: 8.5.6 2113 | typescript: 5.7.2 2114 | transitivePeerDependencies: 2115 | - jiti 2116 | - supports-color 2117 | - tsx 2118 | - yaml 2119 | 2120 | typescript@5.7.2: {} 2121 | 2122 | ufo@1.5.4: {} 2123 | 2124 | undici-types@6.20.0: {} 2125 | 2126 | vite@6.4.1(@types/node@22.10.2): 2127 | dependencies: 2128 | esbuild: 0.25.11 2129 | fdir: 6.5.0(picomatch@4.0.3) 2130 | picomatch: 4.0.3 2131 | postcss: 8.5.6 2132 | rollup: 4.52.5 2133 | tinyglobby: 0.2.15 2134 | optionalDependencies: 2135 | '@types/node': 22.10.2 2136 | fsevents: 2.3.3 2137 | 2138 | vue@3.5.13(typescript@5.7.2): 2139 | dependencies: 2140 | '@vue/compiler-dom': 3.5.13 2141 | '@vue/compiler-sfc': 3.5.13 2142 | '@vue/runtime-dom': 3.5.13 2143 | '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.2)) 2144 | '@vue/shared': 3.5.13 2145 | optionalDependencies: 2146 | typescript: 5.7.2 2147 | 2148 | webidl-conversions@4.0.2: {} 2149 | 2150 | whatwg-url@7.1.0: 2151 | dependencies: 2152 | lodash.sortby: 4.7.0 2153 | tr46: 1.0.1 2154 | webidl-conversions: 4.0.2 2155 | 2156 | which@2.0.2: 2157 | dependencies: 2158 | isexe: 2.0.0 2159 | 2160 | wrap-ansi@7.0.0: 2161 | dependencies: 2162 | ansi-styles: 4.3.0 2163 | string-width: 4.2.3 2164 | strip-ansi: 6.0.1 2165 | 2166 | wrap-ansi@8.1.0: 2167 | dependencies: 2168 | ansi-styles: 6.2.1 2169 | string-width: 5.1.2 2170 | strip-ansi: 7.1.0 2171 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - 'example' 3 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { PluginOption, ResolvedConfig } from "vite"; 2 | import { confirm, getPackageJson } from "./utils"; 3 | import TauriCli from "@tauri-apps/cli"; 4 | import { getPackageInfoSync } from "local-pkg"; 5 | import path, { dirname } from "path"; 6 | import fg from "fast-glob"; 7 | 8 | function getTauriConfPath(): string | null { 9 | const tauriDepthEnv = process.env.TAURI_PATH_DEPTH; 10 | const deep = tauriDepthEnv ? parseInt(tauriDepthEnv) : 3; 11 | 12 | return fg.sync("**/(tauri.conf.(json|json5)|Tauri.toml)", { 13 | absolute: true, 14 | unique: true, 15 | ignore: ["**/node_modules/**", "**/target/**"], 16 | deep, 17 | })[0]; 18 | } 19 | 20 | const tauriVersion = Number( 21 | getPackageInfoSync("@tauri-apps/cli")?.version?.split(".")[0] ?? 2, 22 | ); 23 | 24 | async function initTauri() { 25 | const confirmed = await confirm( 26 | "Couldn't find a Tauri project in current directory, would you like to initialize a new one?", 27 | ); 28 | 29 | if (!confirmed) process.exit(0); 30 | 31 | console.log("Initializing Tauri..."); 32 | const pkgName = getPackageJson().name; 33 | await TauriCli.run( 34 | [ 35 | "init", 36 | "--app-name", 37 | pkgName ?? "tauri-app", 38 | "--window-title", 39 | (pkgName ?? "tauri-app") + " window", 40 | tauriVersion === 1 ? "--dist-dir" : "--frontend-dist", 41 | `Injected by vite-plugin-tauri, you can change this if you want to use tauri cli directly`, 42 | tauriVersion === 1 ? "--dev-path" : "--dev-url", 43 | `Injected: by vite-plugin-tauri, you can change this if you want to use tauri cli directly`, 44 | ], 45 | "vite-tauri", 46 | ); 47 | console.log("Tauri initialized."); 48 | } 49 | 50 | function parseTauriArgs(args: string[]): string[] | null { 51 | const lastDoubleDash = args.lastIndexOf("--"); 52 | if (lastDoubleDash !== -1) { 53 | const tauriArg = 54 | args.indexOf("-t", lastDoubleDash) ?? 55 | args.indexOf("--tauri", lastDoubleDash); 56 | 57 | const tauriArgs = tauriArg !== -1 ? args.slice(tauriArg + 1) : null; 58 | 59 | return tauriArgs; 60 | } 61 | 62 | return null; 63 | } 64 | 65 | export function tauri(_config?: {}): PluginOption { 66 | let viteConfig: ResolvedConfig; 67 | return [ 68 | { 69 | name: "vite-plugin-tauri:serve", 70 | apply: "serve", 71 | enforce: "post", 72 | configResolved(config) { 73 | viteConfig = config; 74 | }, 75 | async configureServer(server) { 76 | if (!getTauriConfPath()) await initTauri(); 77 | 78 | server.httpServer?.once("listening", () => { 79 | const localhosts = [ 80 | "localhost", 81 | "127.0.0.1", 82 | "::1", 83 | "0000:0000:0000:0000:0000:0000:0000:0001", 84 | ]; 85 | 86 | const address = server.httpServer?.address(); 87 | if (!address || typeof address === "string") { 88 | console.error("Unexpected dev server address", address); 89 | process.exit(1); 90 | } 91 | 92 | const protocol = server.config.server.https ? "https" : "http"; 93 | const host = localhosts.includes(address.address) 94 | ? "localhost" 95 | : address.address; 96 | const port = address.port; 97 | 98 | let args = parseTauriArgs(process.argv) ?? []; 99 | if (!args.includes("dev") && !args.includes("build")) { 100 | args = ["dev", ...args]; 101 | } 102 | args = [ 103 | ...args, 104 | "--config", 105 | JSON.stringify({ 106 | build: { 107 | [tauriVersion === 1 ? "devPath" : "devUrl"]: 108 | `${protocol}://${host}:${port}`, 109 | }, 110 | }), 111 | ]; 112 | 113 | TauriCli.run(args, "vite-plugin-tauri"); 114 | }); 115 | }, 116 | }, 117 | { 118 | name: "vite-plugin-tauri:build", 119 | apply: "build", 120 | enforce: "post", 121 | configResolved(config) { 122 | viteConfig = config; 123 | }, 124 | async closeBundle() { 125 | let tauriConfPath = getTauriConfPath(); 126 | if (!tauriConfPath) { 127 | await initTauri(); 128 | tauriConfPath = getTauriConfPath(); 129 | } 130 | 131 | let args = parseTauriArgs(process.argv) ?? []; 132 | if (!args.includes("dev") && !args.includes("build")) { 133 | args = ["build", ...args]; 134 | } 135 | 136 | args = [ 137 | ...args, 138 | "--config", 139 | JSON.stringify({ 140 | build: { 141 | // at this point, `tauriConfPath` can't be null 142 | [tauriVersion === 1 ? "distDir" : "frontendDist"]: path.relative( 143 | dirname(tauriConfPath!), 144 | path.resolve(viteConfig.build.outDir), 145 | ), 146 | }, 147 | }), 148 | ]; 149 | 150 | await TauriCli.run(args, "vite-plugin-tauri"); 151 | }, 152 | }, 153 | ]; 154 | } 155 | 156 | export default tauri; 157 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import { readFileSync } from "node:fs"; 2 | 3 | export function getPackageJson(): { name: string } { 4 | return JSON.parse(readFileSync("package.json", "utf8")); 5 | } 6 | 7 | const GREEN = "\x1b[32m"; 8 | const BOLD = "\x1b[1m"; 9 | const DIM = "\x1b[2m"; 10 | const RESET = "\x1b[0m"; 11 | 12 | export function confirm(msg: string): Promise { 13 | return new Promise((resolve, reject) => { 14 | const question = `${GREEN}? ${RESET}${BOLD}${msg}${RESET} ${DIM}(Y/n)${RESET}`; 15 | process.stdout.write(question); 16 | process.stdin.setRawMode(true); 17 | process.stdin.once("data", (data) => { 18 | process.stdout.write(data.toString()); 19 | process.stdout.write("\n"); 20 | process.stdin.setRawMode(false); 21 | const key = data.toString(); 22 | if (key === "y" || key === "Y") { 23 | resolve(true); 24 | } else if (key === "n" || key === "N") { 25 | resolve(false); 26 | } else { 27 | process.exit(1); 28 | } 29 | }); 30 | }); 31 | } 32 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "lib": ["esnext"], 6 | "moduleResolution": "node", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "strictNullChecks": true, 10 | "resolveJsonModule": true, 11 | "skipLibCheck": true 12 | }, 13 | "include": ["src"] 14 | } 15 | --------------------------------------------------------------------------------