├── .github └── workflows │ └── tauri-release.yml ├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src-tauri ├── .gitignore ├── Cargo.toml ├── build.rs ├── 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 ├── main.js ├── plugins │ └── router.js ├── store │ └── store.js └── views │ └── Home.vue └── vite.config.js /.github/workflows/tauri-release.yml: -------------------------------------------------------------------------------- 1 | name: "publish" 2 | on: 3 | push: 4 | branches: 5 | - main 6 | 7 | jobs: 8 | publishtauri: 9 | permissions: 10 | contents: write 11 | strategy: 12 | fail-fast: false 13 | matrix: 14 | platform: [macos-latest, ubuntu-20.04, windows-latest] 15 | 16 | runs-on: ${{ matrix.platform }} 17 | 18 | outputs: 19 | releaseId: ${{ steps.tauri.outputs.releaseHtmlUrl }} 20 | steps: 21 | - uses: actions/checkout@v3 22 | - name: setup node 23 | uses: actions/setup-node@v3 24 | with: 25 | node-version: 16 26 | - name: install Rust stable 27 | uses: dtolnay/rust-toolchain@stable 28 | - name: Export variable (unix) 29 | if: matrix.platform != 'windows-latest' 30 | run: echo "TAURI_PRIVATE_KEY=${{ secrets.TAURI_PRIVATE_KEY }}" >> $GITHUB_ENV 31 | - name: Export variable (windows) 32 | if: matrix.platform == 'windows-latest' 33 | run: echo "TAURI_PRIVATE_KEY=${{ secrets.TAURI_PRIVATE_KEY }}" >> $GITHUB_ENV 34 | shell: bash 35 | - name: install dependencies (ubuntu only) 36 | if: matrix.platform == 'ubuntu-20.04' 37 | run: | 38 | sudo apt-get update 39 | sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf 40 | - name: install frontend dependencies 41 | run: yarn install # change this to npm or pnpm depending on which one you use 42 | - uses: tauri-apps/tauri-action@v0 43 | id: tauri 44 | env: 45 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 46 | with: 47 | tagName: v__VERSION__ # the action automatically replaces __VERSION__ with the app version 48 | releaseName: "v__VERSION__" 49 | releaseBody: "See the assets to download this version and install." 50 | releaseDraft: false 51 | prerelease: false 52 | includeUpdaterJson: true 53 | updaterJsonPreferNsis: true 54 | includeDebug: false 55 | includeRelease: true 56 | 57 | update-json: 58 | runs-on: ubuntu-latest 59 | needs: publishtauri 60 | steps: 61 | - name: Checkout code 62 | uses: actions/checkout@v2 63 | - name: Configure Git 64 | run: | 65 | git config user.name "GitHub Action" 66 | git config user.email "action@github.com" 67 | - name: Create or checkout branch 68 | run: | 69 | git checkout "update" || git checkout --orphan "update" 70 | - name: Remove all files 71 | run: | 72 | git rm -rf . 73 | - name: Fetch JSON file 74 | env: 75 | RELEASE_ID: ${{needs.publishtauri.outputs.releaseId}} 76 | run: | 77 | echo "$RELEASE_ID" 78 | RELEASE_TAG=$(basename $RELEASE_ID) 79 | echo "$RELEASE_TAG" 80 | RELEASE_URL="https://github.com/skymen/construct-crawler/releases/download/$RELEASE_TAG/latest.json" 81 | echo "$RELEASE_URL" 82 | curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -H "Accept: application/vnd.github.v3.raw" -o latest.json -L "$RELEASE_URL" 83 | cat latest.json 84 | - name: Commit and push changes 85 | run: | 86 | git add latest.json 87 | git commit -m "Update latest.json" 88 | git push -u origin update --force 89 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "Vue.volar", 4 | "tauri-apps.tauri-vscode", 5 | "rust-lang.rust-analyzer" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | 3 | Download the app from the releases page and run it. 4 | 5 | https://github.com/skymen/construct-crawler/releases/latest 6 | 7 | Note that opening a project as a c3p file does not apply the changes to the c3p. 8 | To actually apply the changes, you need to save the project as a project folder before opening it. 9 | 10 | # Development prerequisites 11 | 12 | ## Github Action 13 | 14 | You need to enable the github actions write authorization for the repository. This is needed to publish the releases and to create a branch for the updater. 15 | 16 | ## Updater 17 | 18 | Generate a publication key, add the private key to the repository secrets as `TAURI_PRIVATE_KEY` and add the public key to tauri.config.json as `updater/pubkey`. 19 | Also, change the endpoint to the correct name/repo in tauri.config.json. 20 | 21 | ## App name 22 | 23 | I have no idea how to properly change the name of the app when cloning it from this repo to a new one. Good luck!!! 24 | 25 | # Tech stack 26 | 27 | This template uses the following technologies: 28 | 29 | - [Vue 3](https://v3.vuejs.org/) 30 | - [Vite](https://vitejs.dev/) 31 | - [Tauri](https://tauri.studio/) 32 | - [Pinia](https://pinia.esm.dev/) 33 | - [Vue Router](https://next.router.vuejs.org/) 34 | 35 | It also includes the following features: 36 | 37 | - Auto publish release when committing to the `main` branch 38 | - Automatically support tauri's auto updater by generating and uploading the latest.json file to a separate branch 39 | - Template comes preinstalled and preconfigured with Pinia and Vue Router 40 | 41 | ## Recommended IDE Setup 42 | 43 | - [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) 44 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Tauri + Vue 3 App 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tauri-template", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "tauri-template", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "@tauri-apps/api": "^1.4.0", 12 | "pinia": "^2.1.6", 13 | "vue": "^3.3.4", 14 | "vue-router": "^4.2.4" 15 | }, 16 | "devDependencies": { 17 | "@tauri-apps/cli": "^1.4.0", 18 | "@vitejs/plugin-vue": "^4.2.3", 19 | "vite": "^4.4.4" 20 | } 21 | }, 22 | "node_modules/@babel/parser": { 23 | "version": "7.22.7", 24 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", 25 | "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", 26 | "bin": { 27 | "parser": "bin/babel-parser.js" 28 | }, 29 | "engines": { 30 | "node": ">=6.0.0" 31 | } 32 | }, 33 | "node_modules/@esbuild/android-arm": { 34 | "version": "0.18.17", 35 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", 36 | "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", 37 | "cpu": [ 38 | "arm" 39 | ], 40 | "dev": true, 41 | "optional": true, 42 | "os": [ 43 | "android" 44 | ], 45 | "engines": { 46 | "node": ">=12" 47 | } 48 | }, 49 | "node_modules/@esbuild/android-arm64": { 50 | "version": "0.18.17", 51 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", 52 | "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", 53 | "cpu": [ 54 | "arm64" 55 | ], 56 | "dev": true, 57 | "optional": true, 58 | "os": [ 59 | "android" 60 | ], 61 | "engines": { 62 | "node": ">=12" 63 | } 64 | }, 65 | "node_modules/@esbuild/android-x64": { 66 | "version": "0.18.17", 67 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", 68 | "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", 69 | "cpu": [ 70 | "x64" 71 | ], 72 | "dev": true, 73 | "optional": true, 74 | "os": [ 75 | "android" 76 | ], 77 | "engines": { 78 | "node": ">=12" 79 | } 80 | }, 81 | "node_modules/@esbuild/darwin-arm64": { 82 | "version": "0.18.17", 83 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", 84 | "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", 85 | "cpu": [ 86 | "arm64" 87 | ], 88 | "dev": true, 89 | "optional": true, 90 | "os": [ 91 | "darwin" 92 | ], 93 | "engines": { 94 | "node": ">=12" 95 | } 96 | }, 97 | "node_modules/@esbuild/darwin-x64": { 98 | "version": "0.18.17", 99 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", 100 | "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", 101 | "cpu": [ 102 | "x64" 103 | ], 104 | "dev": true, 105 | "optional": true, 106 | "os": [ 107 | "darwin" 108 | ], 109 | "engines": { 110 | "node": ">=12" 111 | } 112 | }, 113 | "node_modules/@esbuild/freebsd-arm64": { 114 | "version": "0.18.17", 115 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", 116 | "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", 117 | "cpu": [ 118 | "arm64" 119 | ], 120 | "dev": true, 121 | "optional": true, 122 | "os": [ 123 | "freebsd" 124 | ], 125 | "engines": { 126 | "node": ">=12" 127 | } 128 | }, 129 | "node_modules/@esbuild/freebsd-x64": { 130 | "version": "0.18.17", 131 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", 132 | "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", 133 | "cpu": [ 134 | "x64" 135 | ], 136 | "dev": true, 137 | "optional": true, 138 | "os": [ 139 | "freebsd" 140 | ], 141 | "engines": { 142 | "node": ">=12" 143 | } 144 | }, 145 | "node_modules/@esbuild/linux-arm": { 146 | "version": "0.18.17", 147 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", 148 | "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", 149 | "cpu": [ 150 | "arm" 151 | ], 152 | "dev": true, 153 | "optional": true, 154 | "os": [ 155 | "linux" 156 | ], 157 | "engines": { 158 | "node": ">=12" 159 | } 160 | }, 161 | "node_modules/@esbuild/linux-arm64": { 162 | "version": "0.18.17", 163 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", 164 | "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", 165 | "cpu": [ 166 | "arm64" 167 | ], 168 | "dev": true, 169 | "optional": true, 170 | "os": [ 171 | "linux" 172 | ], 173 | "engines": { 174 | "node": ">=12" 175 | } 176 | }, 177 | "node_modules/@esbuild/linux-ia32": { 178 | "version": "0.18.17", 179 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", 180 | "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", 181 | "cpu": [ 182 | "ia32" 183 | ], 184 | "dev": true, 185 | "optional": true, 186 | "os": [ 187 | "linux" 188 | ], 189 | "engines": { 190 | "node": ">=12" 191 | } 192 | }, 193 | "node_modules/@esbuild/linux-loong64": { 194 | "version": "0.18.17", 195 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", 196 | "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", 197 | "cpu": [ 198 | "loong64" 199 | ], 200 | "dev": true, 201 | "optional": true, 202 | "os": [ 203 | "linux" 204 | ], 205 | "engines": { 206 | "node": ">=12" 207 | } 208 | }, 209 | "node_modules/@esbuild/linux-mips64el": { 210 | "version": "0.18.17", 211 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", 212 | "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", 213 | "cpu": [ 214 | "mips64el" 215 | ], 216 | "dev": true, 217 | "optional": true, 218 | "os": [ 219 | "linux" 220 | ], 221 | "engines": { 222 | "node": ">=12" 223 | } 224 | }, 225 | "node_modules/@esbuild/linux-ppc64": { 226 | "version": "0.18.17", 227 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", 228 | "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", 229 | "cpu": [ 230 | "ppc64" 231 | ], 232 | "dev": true, 233 | "optional": true, 234 | "os": [ 235 | "linux" 236 | ], 237 | "engines": { 238 | "node": ">=12" 239 | } 240 | }, 241 | "node_modules/@esbuild/linux-riscv64": { 242 | "version": "0.18.17", 243 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", 244 | "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", 245 | "cpu": [ 246 | "riscv64" 247 | ], 248 | "dev": true, 249 | "optional": true, 250 | "os": [ 251 | "linux" 252 | ], 253 | "engines": { 254 | "node": ">=12" 255 | } 256 | }, 257 | "node_modules/@esbuild/linux-s390x": { 258 | "version": "0.18.17", 259 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", 260 | "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", 261 | "cpu": [ 262 | "s390x" 263 | ], 264 | "dev": true, 265 | "optional": true, 266 | "os": [ 267 | "linux" 268 | ], 269 | "engines": { 270 | "node": ">=12" 271 | } 272 | }, 273 | "node_modules/@esbuild/linux-x64": { 274 | "version": "0.18.17", 275 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", 276 | "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", 277 | "cpu": [ 278 | "x64" 279 | ], 280 | "dev": true, 281 | "optional": true, 282 | "os": [ 283 | "linux" 284 | ], 285 | "engines": { 286 | "node": ">=12" 287 | } 288 | }, 289 | "node_modules/@esbuild/netbsd-x64": { 290 | "version": "0.18.17", 291 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", 292 | "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", 293 | "cpu": [ 294 | "x64" 295 | ], 296 | "dev": true, 297 | "optional": true, 298 | "os": [ 299 | "netbsd" 300 | ], 301 | "engines": { 302 | "node": ">=12" 303 | } 304 | }, 305 | "node_modules/@esbuild/openbsd-x64": { 306 | "version": "0.18.17", 307 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", 308 | "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", 309 | "cpu": [ 310 | "x64" 311 | ], 312 | "dev": true, 313 | "optional": true, 314 | "os": [ 315 | "openbsd" 316 | ], 317 | "engines": { 318 | "node": ">=12" 319 | } 320 | }, 321 | "node_modules/@esbuild/sunos-x64": { 322 | "version": "0.18.17", 323 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", 324 | "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", 325 | "cpu": [ 326 | "x64" 327 | ], 328 | "dev": true, 329 | "optional": true, 330 | "os": [ 331 | "sunos" 332 | ], 333 | "engines": { 334 | "node": ">=12" 335 | } 336 | }, 337 | "node_modules/@esbuild/win32-arm64": { 338 | "version": "0.18.17", 339 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", 340 | "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", 341 | "cpu": [ 342 | "arm64" 343 | ], 344 | "dev": true, 345 | "optional": true, 346 | "os": [ 347 | "win32" 348 | ], 349 | "engines": { 350 | "node": ">=12" 351 | } 352 | }, 353 | "node_modules/@esbuild/win32-ia32": { 354 | "version": "0.18.17", 355 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", 356 | "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", 357 | "cpu": [ 358 | "ia32" 359 | ], 360 | "dev": true, 361 | "optional": true, 362 | "os": [ 363 | "win32" 364 | ], 365 | "engines": { 366 | "node": ">=12" 367 | } 368 | }, 369 | "node_modules/@esbuild/win32-x64": { 370 | "version": "0.18.17", 371 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", 372 | "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", 373 | "cpu": [ 374 | "x64" 375 | ], 376 | "dev": true, 377 | "optional": true, 378 | "os": [ 379 | "win32" 380 | ], 381 | "engines": { 382 | "node": ">=12" 383 | } 384 | }, 385 | "node_modules/@jridgewell/sourcemap-codec": { 386 | "version": "1.4.15", 387 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 388 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 389 | }, 390 | "node_modules/@tauri-apps/api": { 391 | "version": "1.4.0", 392 | "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.4.0.tgz", 393 | "integrity": "sha512-Jd6HPoTM1PZSFIzq7FB8VmMu3qSSyo/3lSwLpoapW+lQ41CL5Dow2KryLg+gyazA/58DRWI9vu/XpEeHK4uMdw==", 394 | "engines": { 395 | "node": ">= 14.6.0", 396 | "npm": ">= 6.6.0", 397 | "yarn": ">= 1.19.1" 398 | }, 399 | "funding": { 400 | "type": "opencollective", 401 | "url": "https://opencollective.com/tauri" 402 | } 403 | }, 404 | "node_modules/@tauri-apps/cli": { 405 | "version": "1.4.0", 406 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.4.0.tgz", 407 | "integrity": "sha512-VXYr2i2iVFl98etQSQsqLzXgX96bnWiNZd1YADgatqwy/qecbd6Kl5ZAPB5R4ynsgE8A1gU7Fbzh7dCEQYFfmA==", 408 | "dev": true, 409 | "bin": { 410 | "tauri": "tauri.js" 411 | }, 412 | "engines": { 413 | "node": ">= 10" 414 | }, 415 | "funding": { 416 | "type": "opencollective", 417 | "url": "https://opencollective.com/tauri" 418 | }, 419 | "optionalDependencies": { 420 | "@tauri-apps/cli-darwin-arm64": "1.4.0", 421 | "@tauri-apps/cli-darwin-x64": "1.4.0", 422 | "@tauri-apps/cli-linux-arm-gnueabihf": "1.4.0", 423 | "@tauri-apps/cli-linux-arm64-gnu": "1.4.0", 424 | "@tauri-apps/cli-linux-arm64-musl": "1.4.0", 425 | "@tauri-apps/cli-linux-x64-gnu": "1.4.0", 426 | "@tauri-apps/cli-linux-x64-musl": "1.4.0", 427 | "@tauri-apps/cli-win32-arm64-msvc": "1.4.0", 428 | "@tauri-apps/cli-win32-ia32-msvc": "1.4.0", 429 | "@tauri-apps/cli-win32-x64-msvc": "1.4.0" 430 | } 431 | }, 432 | "node_modules/@tauri-apps/cli-darwin-arm64": { 433 | "version": "1.4.0", 434 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.4.0.tgz", 435 | "integrity": "sha512-nA/ml0SfUt6/CYLVbHmT500Y+ijqsuv5+s9EBnVXYSLVg9kbPUZJJHluEYK+xKuOj6xzyuT/+rZFMRapmJD3jQ==", 436 | "cpu": [ 437 | "arm64" 438 | ], 439 | "dev": true, 440 | "optional": true, 441 | "os": [ 442 | "darwin" 443 | ], 444 | "engines": { 445 | "node": ">= 10" 446 | } 447 | }, 448 | "node_modules/@tauri-apps/cli-darwin-x64": { 449 | "version": "1.4.0", 450 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.4.0.tgz", 451 | "integrity": "sha512-ov/F6Zr+dg9B0PtRu65stFo2G0ow2TUlneqYYrkj+vA3n+moWDHfVty0raDjMLQbQt3rv3uayFMXGPMgble9OA==", 452 | "cpu": [ 453 | "x64" 454 | ], 455 | "dev": true, 456 | "optional": true, 457 | "os": [ 458 | "darwin" 459 | ], 460 | "engines": { 461 | "node": ">= 10" 462 | } 463 | }, 464 | "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { 465 | "version": "1.4.0", 466 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.4.0.tgz", 467 | "integrity": "sha512-zwjbiMncycXDV7doovymyKD7sCg53ouAmfgpUqEBOTY3vgBi9TwijyPhJOqoG5vUVWhouNBC08akGmE4dja15g==", 468 | "cpu": [ 469 | "arm" 470 | ], 471 | "dev": true, 472 | "optional": true, 473 | "os": [ 474 | "linux" 475 | ], 476 | "engines": { 477 | "node": ">= 10" 478 | } 479 | }, 480 | "node_modules/@tauri-apps/cli-linux-arm64-gnu": { 481 | "version": "1.4.0", 482 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.4.0.tgz", 483 | "integrity": "sha512-5MCBcziqXC72mMXnkZU68mutXIR6zavDxopArE2gQtK841IlE06bIgtLi0kUUhlFJk2nhPRgiDgdLbrPlyt7fw==", 484 | "cpu": [ 485 | "arm64" 486 | ], 487 | "dev": true, 488 | "optional": true, 489 | "os": [ 490 | "linux" 491 | ], 492 | "engines": { 493 | "node": ">= 10" 494 | } 495 | }, 496 | "node_modules/@tauri-apps/cli-linux-arm64-musl": { 497 | "version": "1.4.0", 498 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.4.0.tgz", 499 | "integrity": "sha512-7J3pRB6n6uNYgIfCeKt2Oz8J7oSaz2s8GGFRRH2HPxuTHrBNCinzVYm68UhVpJrL3bnGkU0ziVZLsW/iaOGfUg==", 500 | "cpu": [ 501 | "arm64" 502 | ], 503 | "dev": true, 504 | "optional": true, 505 | "os": [ 506 | "linux" 507 | ], 508 | "engines": { 509 | "node": ">= 10" 510 | } 511 | }, 512 | "node_modules/@tauri-apps/cli-linux-x64-gnu": { 513 | "version": "1.4.0", 514 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.4.0.tgz", 515 | "integrity": "sha512-Zh5gfAJxOv5AVWxcwuueaQ2vIAhlg0d6nZui6nMyfIJ8dbf3aZQ5ZzP38sYow5h/fbvgL+3GSQxZRBIa3c2E1w==", 516 | "cpu": [ 517 | "x64" 518 | ], 519 | "dev": true, 520 | "optional": true, 521 | "os": [ 522 | "linux" 523 | ], 524 | "engines": { 525 | "node": ">= 10" 526 | } 527 | }, 528 | "node_modules/@tauri-apps/cli-linux-x64-musl": { 529 | "version": "1.4.0", 530 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.4.0.tgz", 531 | "integrity": "sha512-OLAYoICU3FaYiTdBsI+lQTKnDHeMmFMXIApN0M+xGiOkoIOQcV9CConMPjgmJQ867+NHRNgUGlvBEAh9CiJodQ==", 532 | "cpu": [ 533 | "x64" 534 | ], 535 | "dev": true, 536 | "optional": true, 537 | "os": [ 538 | "linux" 539 | ], 540 | "engines": { 541 | "node": ">= 10" 542 | } 543 | }, 544 | "node_modules/@tauri-apps/cli-win32-arm64-msvc": { 545 | "version": "1.4.0", 546 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.4.0.tgz", 547 | "integrity": "sha512-gZ05GENFbI6CB5MlOUsLlU0kZ9UtHn9riYtSXKT6MYs8HSPRffPHaHSL0WxsJweWh9nR5Hgh/TUU8uW3sYCzCg==", 548 | "cpu": [ 549 | "arm64" 550 | ], 551 | "dev": true, 552 | "optional": true, 553 | "os": [ 554 | "win32" 555 | ], 556 | "engines": { 557 | "node": ">= 10" 558 | } 559 | }, 560 | "node_modules/@tauri-apps/cli-win32-ia32-msvc": { 561 | "version": "1.4.0", 562 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.4.0.tgz", 563 | "integrity": "sha512-JsetT/lTx/Zq98eo8T5CiRyF1nKeX04RO8JlJrI3ZOYsZpp/A5RJvMd/szQ17iOzwiHdge+tx7k2jHysR6oBlQ==", 564 | "cpu": [ 565 | "ia32" 566 | ], 567 | "dev": true, 568 | "optional": true, 569 | "os": [ 570 | "win32" 571 | ], 572 | "engines": { 573 | "node": ">= 10" 574 | } 575 | }, 576 | "node_modules/@tauri-apps/cli-win32-x64-msvc": { 577 | "version": "1.4.0", 578 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.4.0.tgz", 579 | "integrity": "sha512-z8Olcnwp5aYhzqUAarFjqF+oELCjuYWnB2HAJHlfsYNfDCAORY5kct3Fklz8PSsubC3U2EugWn8n42DwnThurg==", 580 | "cpu": [ 581 | "x64" 582 | ], 583 | "dev": true, 584 | "optional": true, 585 | "os": [ 586 | "win32" 587 | ], 588 | "engines": { 589 | "node": ">= 10" 590 | } 591 | }, 592 | "node_modules/@vitejs/plugin-vue": { 593 | "version": "4.2.3", 594 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", 595 | "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", 596 | "dev": true, 597 | "engines": { 598 | "node": "^14.18.0 || >=16.0.0" 599 | }, 600 | "peerDependencies": { 601 | "vite": "^4.0.0", 602 | "vue": "^3.2.25" 603 | } 604 | }, 605 | "node_modules/@vue/compiler-core": { 606 | "version": "3.3.4", 607 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", 608 | "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", 609 | "dependencies": { 610 | "@babel/parser": "^7.21.3", 611 | "@vue/shared": "3.3.4", 612 | "estree-walker": "^2.0.2", 613 | "source-map-js": "^1.0.2" 614 | } 615 | }, 616 | "node_modules/@vue/compiler-dom": { 617 | "version": "3.3.4", 618 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", 619 | "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", 620 | "dependencies": { 621 | "@vue/compiler-core": "3.3.4", 622 | "@vue/shared": "3.3.4" 623 | } 624 | }, 625 | "node_modules/@vue/compiler-sfc": { 626 | "version": "3.3.4", 627 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", 628 | "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", 629 | "dependencies": { 630 | "@babel/parser": "^7.20.15", 631 | "@vue/compiler-core": "3.3.4", 632 | "@vue/compiler-dom": "3.3.4", 633 | "@vue/compiler-ssr": "3.3.4", 634 | "@vue/reactivity-transform": "3.3.4", 635 | "@vue/shared": "3.3.4", 636 | "estree-walker": "^2.0.2", 637 | "magic-string": "^0.30.0", 638 | "postcss": "^8.1.10", 639 | "source-map-js": "^1.0.2" 640 | } 641 | }, 642 | "node_modules/@vue/compiler-ssr": { 643 | "version": "3.3.4", 644 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", 645 | "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", 646 | "dependencies": { 647 | "@vue/compiler-dom": "3.3.4", 648 | "@vue/shared": "3.3.4" 649 | } 650 | }, 651 | "node_modules/@vue/devtools-api": { 652 | "version": "6.5.0", 653 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", 654 | "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" 655 | }, 656 | "node_modules/@vue/reactivity": { 657 | "version": "3.3.4", 658 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", 659 | "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", 660 | "dependencies": { 661 | "@vue/shared": "3.3.4" 662 | } 663 | }, 664 | "node_modules/@vue/reactivity-transform": { 665 | "version": "3.3.4", 666 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", 667 | "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", 668 | "dependencies": { 669 | "@babel/parser": "^7.20.15", 670 | "@vue/compiler-core": "3.3.4", 671 | "@vue/shared": "3.3.4", 672 | "estree-walker": "^2.0.2", 673 | "magic-string": "^0.30.0" 674 | } 675 | }, 676 | "node_modules/@vue/runtime-core": { 677 | "version": "3.3.4", 678 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", 679 | "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", 680 | "dependencies": { 681 | "@vue/reactivity": "3.3.4", 682 | "@vue/shared": "3.3.4" 683 | } 684 | }, 685 | "node_modules/@vue/runtime-dom": { 686 | "version": "3.3.4", 687 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", 688 | "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", 689 | "dependencies": { 690 | "@vue/runtime-core": "3.3.4", 691 | "@vue/shared": "3.3.4", 692 | "csstype": "^3.1.1" 693 | } 694 | }, 695 | "node_modules/@vue/server-renderer": { 696 | "version": "3.3.4", 697 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", 698 | "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", 699 | "dependencies": { 700 | "@vue/compiler-ssr": "3.3.4", 701 | "@vue/shared": "3.3.4" 702 | }, 703 | "peerDependencies": { 704 | "vue": "3.3.4" 705 | } 706 | }, 707 | "node_modules/@vue/shared": { 708 | "version": "3.3.4", 709 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", 710 | "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" 711 | }, 712 | "node_modules/csstype": { 713 | "version": "3.1.2", 714 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 715 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 716 | }, 717 | "node_modules/esbuild": { 718 | "version": "0.18.17", 719 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", 720 | "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", 721 | "dev": true, 722 | "hasInstallScript": true, 723 | "bin": { 724 | "esbuild": "bin/esbuild" 725 | }, 726 | "engines": { 727 | "node": ">=12" 728 | }, 729 | "optionalDependencies": { 730 | "@esbuild/android-arm": "0.18.17", 731 | "@esbuild/android-arm64": "0.18.17", 732 | "@esbuild/android-x64": "0.18.17", 733 | "@esbuild/darwin-arm64": "0.18.17", 734 | "@esbuild/darwin-x64": "0.18.17", 735 | "@esbuild/freebsd-arm64": "0.18.17", 736 | "@esbuild/freebsd-x64": "0.18.17", 737 | "@esbuild/linux-arm": "0.18.17", 738 | "@esbuild/linux-arm64": "0.18.17", 739 | "@esbuild/linux-ia32": "0.18.17", 740 | "@esbuild/linux-loong64": "0.18.17", 741 | "@esbuild/linux-mips64el": "0.18.17", 742 | "@esbuild/linux-ppc64": "0.18.17", 743 | "@esbuild/linux-riscv64": "0.18.17", 744 | "@esbuild/linux-s390x": "0.18.17", 745 | "@esbuild/linux-x64": "0.18.17", 746 | "@esbuild/netbsd-x64": "0.18.17", 747 | "@esbuild/openbsd-x64": "0.18.17", 748 | "@esbuild/sunos-x64": "0.18.17", 749 | "@esbuild/win32-arm64": "0.18.17", 750 | "@esbuild/win32-ia32": "0.18.17", 751 | "@esbuild/win32-x64": "0.18.17" 752 | } 753 | }, 754 | "node_modules/estree-walker": { 755 | "version": "2.0.2", 756 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 757 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 758 | }, 759 | "node_modules/fsevents": { 760 | "version": "2.3.2", 761 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 762 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 763 | "dev": true, 764 | "hasInstallScript": true, 765 | "optional": true, 766 | "os": [ 767 | "darwin" 768 | ], 769 | "engines": { 770 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 771 | } 772 | }, 773 | "node_modules/magic-string": { 774 | "version": "0.30.2", 775 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", 776 | "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", 777 | "dependencies": { 778 | "@jridgewell/sourcemap-codec": "^1.4.15" 779 | }, 780 | "engines": { 781 | "node": ">=12" 782 | } 783 | }, 784 | "node_modules/nanoid": { 785 | "version": "3.3.6", 786 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 787 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 788 | "funding": [ 789 | { 790 | "type": "github", 791 | "url": "https://github.com/sponsors/ai" 792 | } 793 | ], 794 | "bin": { 795 | "nanoid": "bin/nanoid.cjs" 796 | }, 797 | "engines": { 798 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 799 | } 800 | }, 801 | "node_modules/picocolors": { 802 | "version": "1.0.0", 803 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 804 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 805 | }, 806 | "node_modules/pinia": { 807 | "version": "2.1.6", 808 | "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", 809 | "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", 810 | "dependencies": { 811 | "@vue/devtools-api": "^6.5.0", 812 | "vue-demi": ">=0.14.5" 813 | }, 814 | "funding": { 815 | "url": "https://github.com/sponsors/posva" 816 | }, 817 | "peerDependencies": { 818 | "@vue/composition-api": "^1.4.0", 819 | "typescript": ">=4.4.4", 820 | "vue": "^2.6.14 || ^3.3.0" 821 | }, 822 | "peerDependenciesMeta": { 823 | "@vue/composition-api": { 824 | "optional": true 825 | }, 826 | "typescript": { 827 | "optional": true 828 | } 829 | } 830 | }, 831 | "node_modules/pinia/node_modules/vue-demi": { 832 | "version": "0.14.5", 833 | "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", 834 | "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", 835 | "hasInstallScript": true, 836 | "bin": { 837 | "vue-demi-fix": "bin/vue-demi-fix.js", 838 | "vue-demi-switch": "bin/vue-demi-switch.js" 839 | }, 840 | "engines": { 841 | "node": ">=12" 842 | }, 843 | "funding": { 844 | "url": "https://github.com/sponsors/antfu" 845 | }, 846 | "peerDependencies": { 847 | "@vue/composition-api": "^1.0.0-rc.1", 848 | "vue": "^3.0.0-0 || ^2.6.0" 849 | }, 850 | "peerDependenciesMeta": { 851 | "@vue/composition-api": { 852 | "optional": true 853 | } 854 | } 855 | }, 856 | "node_modules/postcss": { 857 | "version": "8.4.27", 858 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", 859 | "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", 860 | "funding": [ 861 | { 862 | "type": "opencollective", 863 | "url": "https://opencollective.com/postcss/" 864 | }, 865 | { 866 | "type": "tidelift", 867 | "url": "https://tidelift.com/funding/github/npm/postcss" 868 | }, 869 | { 870 | "type": "github", 871 | "url": "https://github.com/sponsors/ai" 872 | } 873 | ], 874 | "dependencies": { 875 | "nanoid": "^3.3.6", 876 | "picocolors": "^1.0.0", 877 | "source-map-js": "^1.0.2" 878 | }, 879 | "engines": { 880 | "node": "^10 || ^12 || >=14" 881 | } 882 | }, 883 | "node_modules/rollup": { 884 | "version": "3.27.2", 885 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", 886 | "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", 887 | "dev": true, 888 | "bin": { 889 | "rollup": "dist/bin/rollup" 890 | }, 891 | "engines": { 892 | "node": ">=14.18.0", 893 | "npm": ">=8.0.0" 894 | }, 895 | "optionalDependencies": { 896 | "fsevents": "~2.3.2" 897 | } 898 | }, 899 | "node_modules/source-map-js": { 900 | "version": "1.0.2", 901 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 902 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 903 | "engines": { 904 | "node": ">=0.10.0" 905 | } 906 | }, 907 | "node_modules/vite": { 908 | "version": "4.4.8", 909 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.8.tgz", 910 | "integrity": "sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==", 911 | "dev": true, 912 | "dependencies": { 913 | "esbuild": "^0.18.10", 914 | "postcss": "^8.4.26", 915 | "rollup": "^3.25.2" 916 | }, 917 | "bin": { 918 | "vite": "bin/vite.js" 919 | }, 920 | "engines": { 921 | "node": "^14.18.0 || >=16.0.0" 922 | }, 923 | "funding": { 924 | "url": "https://github.com/vitejs/vite?sponsor=1" 925 | }, 926 | "optionalDependencies": { 927 | "fsevents": "~2.3.2" 928 | }, 929 | "peerDependencies": { 930 | "@types/node": ">= 14", 931 | "less": "*", 932 | "lightningcss": "^1.21.0", 933 | "sass": "*", 934 | "stylus": "*", 935 | "sugarss": "*", 936 | "terser": "^5.4.0" 937 | }, 938 | "peerDependenciesMeta": { 939 | "@types/node": { 940 | "optional": true 941 | }, 942 | "less": { 943 | "optional": true 944 | }, 945 | "lightningcss": { 946 | "optional": true 947 | }, 948 | "sass": { 949 | "optional": true 950 | }, 951 | "stylus": { 952 | "optional": true 953 | }, 954 | "sugarss": { 955 | "optional": true 956 | }, 957 | "terser": { 958 | "optional": true 959 | } 960 | } 961 | }, 962 | "node_modules/vue": { 963 | "version": "3.3.4", 964 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", 965 | "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", 966 | "dependencies": { 967 | "@vue/compiler-dom": "3.3.4", 968 | "@vue/compiler-sfc": "3.3.4", 969 | "@vue/runtime-dom": "3.3.4", 970 | "@vue/server-renderer": "3.3.4", 971 | "@vue/shared": "3.3.4" 972 | } 973 | }, 974 | "node_modules/vue-router": { 975 | "version": "4.2.4", 976 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz", 977 | "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==", 978 | "dependencies": { 979 | "@vue/devtools-api": "^6.5.0" 980 | }, 981 | "funding": { 982 | "url": "https://github.com/sponsors/posva" 983 | }, 984 | "peerDependencies": { 985 | "vue": "^3.2.0" 986 | } 987 | } 988 | }, 989 | "dependencies": { 990 | "@babel/parser": { 991 | "version": "7.22.7", 992 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", 993 | "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==" 994 | }, 995 | "@esbuild/android-arm": { 996 | "version": "0.18.17", 997 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", 998 | "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", 999 | "dev": true, 1000 | "optional": true 1001 | }, 1002 | "@esbuild/android-arm64": { 1003 | "version": "0.18.17", 1004 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", 1005 | "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", 1006 | "dev": true, 1007 | "optional": true 1008 | }, 1009 | "@esbuild/android-x64": { 1010 | "version": "0.18.17", 1011 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", 1012 | "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", 1013 | "dev": true, 1014 | "optional": true 1015 | }, 1016 | "@esbuild/darwin-arm64": { 1017 | "version": "0.18.17", 1018 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", 1019 | "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", 1020 | "dev": true, 1021 | "optional": true 1022 | }, 1023 | "@esbuild/darwin-x64": { 1024 | "version": "0.18.17", 1025 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", 1026 | "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", 1027 | "dev": true, 1028 | "optional": true 1029 | }, 1030 | "@esbuild/freebsd-arm64": { 1031 | "version": "0.18.17", 1032 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", 1033 | "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", 1034 | "dev": true, 1035 | "optional": true 1036 | }, 1037 | "@esbuild/freebsd-x64": { 1038 | "version": "0.18.17", 1039 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", 1040 | "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", 1041 | "dev": true, 1042 | "optional": true 1043 | }, 1044 | "@esbuild/linux-arm": { 1045 | "version": "0.18.17", 1046 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", 1047 | "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", 1048 | "dev": true, 1049 | "optional": true 1050 | }, 1051 | "@esbuild/linux-arm64": { 1052 | "version": "0.18.17", 1053 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", 1054 | "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", 1055 | "dev": true, 1056 | "optional": true 1057 | }, 1058 | "@esbuild/linux-ia32": { 1059 | "version": "0.18.17", 1060 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", 1061 | "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", 1062 | "dev": true, 1063 | "optional": true 1064 | }, 1065 | "@esbuild/linux-loong64": { 1066 | "version": "0.18.17", 1067 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", 1068 | "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", 1069 | "dev": true, 1070 | "optional": true 1071 | }, 1072 | "@esbuild/linux-mips64el": { 1073 | "version": "0.18.17", 1074 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", 1075 | "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", 1076 | "dev": true, 1077 | "optional": true 1078 | }, 1079 | "@esbuild/linux-ppc64": { 1080 | "version": "0.18.17", 1081 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", 1082 | "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", 1083 | "dev": true, 1084 | "optional": true 1085 | }, 1086 | "@esbuild/linux-riscv64": { 1087 | "version": "0.18.17", 1088 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", 1089 | "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", 1090 | "dev": true, 1091 | "optional": true 1092 | }, 1093 | "@esbuild/linux-s390x": { 1094 | "version": "0.18.17", 1095 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", 1096 | "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", 1097 | "dev": true, 1098 | "optional": true 1099 | }, 1100 | "@esbuild/linux-x64": { 1101 | "version": "0.18.17", 1102 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", 1103 | "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", 1104 | "dev": true, 1105 | "optional": true 1106 | }, 1107 | "@esbuild/netbsd-x64": { 1108 | "version": "0.18.17", 1109 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", 1110 | "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", 1111 | "dev": true, 1112 | "optional": true 1113 | }, 1114 | "@esbuild/openbsd-x64": { 1115 | "version": "0.18.17", 1116 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", 1117 | "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", 1118 | "dev": true, 1119 | "optional": true 1120 | }, 1121 | "@esbuild/sunos-x64": { 1122 | "version": "0.18.17", 1123 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", 1124 | "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", 1125 | "dev": true, 1126 | "optional": true 1127 | }, 1128 | "@esbuild/win32-arm64": { 1129 | "version": "0.18.17", 1130 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", 1131 | "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", 1132 | "dev": true, 1133 | "optional": true 1134 | }, 1135 | "@esbuild/win32-ia32": { 1136 | "version": "0.18.17", 1137 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", 1138 | "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", 1139 | "dev": true, 1140 | "optional": true 1141 | }, 1142 | "@esbuild/win32-x64": { 1143 | "version": "0.18.17", 1144 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", 1145 | "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", 1146 | "dev": true, 1147 | "optional": true 1148 | }, 1149 | "@jridgewell/sourcemap-codec": { 1150 | "version": "1.4.15", 1151 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 1152 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 1153 | }, 1154 | "@tauri-apps/api": { 1155 | "version": "1.4.0", 1156 | "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.4.0.tgz", 1157 | "integrity": "sha512-Jd6HPoTM1PZSFIzq7FB8VmMu3qSSyo/3lSwLpoapW+lQ41CL5Dow2KryLg+gyazA/58DRWI9vu/XpEeHK4uMdw==" 1158 | }, 1159 | "@tauri-apps/cli": { 1160 | "version": "1.4.0", 1161 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.4.0.tgz", 1162 | "integrity": "sha512-VXYr2i2iVFl98etQSQsqLzXgX96bnWiNZd1YADgatqwy/qecbd6Kl5ZAPB5R4ynsgE8A1gU7Fbzh7dCEQYFfmA==", 1163 | "dev": true, 1164 | "requires": { 1165 | "@tauri-apps/cli-darwin-arm64": "1.4.0", 1166 | "@tauri-apps/cli-darwin-x64": "1.4.0", 1167 | "@tauri-apps/cli-linux-arm-gnueabihf": "1.4.0", 1168 | "@tauri-apps/cli-linux-arm64-gnu": "1.4.0", 1169 | "@tauri-apps/cli-linux-arm64-musl": "1.4.0", 1170 | "@tauri-apps/cli-linux-x64-gnu": "1.4.0", 1171 | "@tauri-apps/cli-linux-x64-musl": "1.4.0", 1172 | "@tauri-apps/cli-win32-arm64-msvc": "1.4.0", 1173 | "@tauri-apps/cli-win32-ia32-msvc": "1.4.0", 1174 | "@tauri-apps/cli-win32-x64-msvc": "1.4.0" 1175 | } 1176 | }, 1177 | "@tauri-apps/cli-darwin-arm64": { 1178 | "version": "1.4.0", 1179 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.4.0.tgz", 1180 | "integrity": "sha512-nA/ml0SfUt6/CYLVbHmT500Y+ijqsuv5+s9EBnVXYSLVg9kbPUZJJHluEYK+xKuOj6xzyuT/+rZFMRapmJD3jQ==", 1181 | "dev": true, 1182 | "optional": true 1183 | }, 1184 | "@tauri-apps/cli-darwin-x64": { 1185 | "version": "1.4.0", 1186 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.4.0.tgz", 1187 | "integrity": "sha512-ov/F6Zr+dg9B0PtRu65stFo2G0ow2TUlneqYYrkj+vA3n+moWDHfVty0raDjMLQbQt3rv3uayFMXGPMgble9OA==", 1188 | "dev": true, 1189 | "optional": true 1190 | }, 1191 | "@tauri-apps/cli-linux-arm-gnueabihf": { 1192 | "version": "1.4.0", 1193 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.4.0.tgz", 1194 | "integrity": "sha512-zwjbiMncycXDV7doovymyKD7sCg53ouAmfgpUqEBOTY3vgBi9TwijyPhJOqoG5vUVWhouNBC08akGmE4dja15g==", 1195 | "dev": true, 1196 | "optional": true 1197 | }, 1198 | "@tauri-apps/cli-linux-arm64-gnu": { 1199 | "version": "1.4.0", 1200 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.4.0.tgz", 1201 | "integrity": "sha512-5MCBcziqXC72mMXnkZU68mutXIR6zavDxopArE2gQtK841IlE06bIgtLi0kUUhlFJk2nhPRgiDgdLbrPlyt7fw==", 1202 | "dev": true, 1203 | "optional": true 1204 | }, 1205 | "@tauri-apps/cli-linux-arm64-musl": { 1206 | "version": "1.4.0", 1207 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.4.0.tgz", 1208 | "integrity": "sha512-7J3pRB6n6uNYgIfCeKt2Oz8J7oSaz2s8GGFRRH2HPxuTHrBNCinzVYm68UhVpJrL3bnGkU0ziVZLsW/iaOGfUg==", 1209 | "dev": true, 1210 | "optional": true 1211 | }, 1212 | "@tauri-apps/cli-linux-x64-gnu": { 1213 | "version": "1.4.0", 1214 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.4.0.tgz", 1215 | "integrity": "sha512-Zh5gfAJxOv5AVWxcwuueaQ2vIAhlg0d6nZui6nMyfIJ8dbf3aZQ5ZzP38sYow5h/fbvgL+3GSQxZRBIa3c2E1w==", 1216 | "dev": true, 1217 | "optional": true 1218 | }, 1219 | "@tauri-apps/cli-linux-x64-musl": { 1220 | "version": "1.4.0", 1221 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.4.0.tgz", 1222 | "integrity": "sha512-OLAYoICU3FaYiTdBsI+lQTKnDHeMmFMXIApN0M+xGiOkoIOQcV9CConMPjgmJQ867+NHRNgUGlvBEAh9CiJodQ==", 1223 | "dev": true, 1224 | "optional": true 1225 | }, 1226 | "@tauri-apps/cli-win32-arm64-msvc": { 1227 | "version": "1.4.0", 1228 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.4.0.tgz", 1229 | "integrity": "sha512-gZ05GENFbI6CB5MlOUsLlU0kZ9UtHn9riYtSXKT6MYs8HSPRffPHaHSL0WxsJweWh9nR5Hgh/TUU8uW3sYCzCg==", 1230 | "dev": true, 1231 | "optional": true 1232 | }, 1233 | "@tauri-apps/cli-win32-ia32-msvc": { 1234 | "version": "1.4.0", 1235 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.4.0.tgz", 1236 | "integrity": "sha512-JsetT/lTx/Zq98eo8T5CiRyF1nKeX04RO8JlJrI3ZOYsZpp/A5RJvMd/szQ17iOzwiHdge+tx7k2jHysR6oBlQ==", 1237 | "dev": true, 1238 | "optional": true 1239 | }, 1240 | "@tauri-apps/cli-win32-x64-msvc": { 1241 | "version": "1.4.0", 1242 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.4.0.tgz", 1243 | "integrity": "sha512-z8Olcnwp5aYhzqUAarFjqF+oELCjuYWnB2HAJHlfsYNfDCAORY5kct3Fklz8PSsubC3U2EugWn8n42DwnThurg==", 1244 | "dev": true, 1245 | "optional": true 1246 | }, 1247 | "@vitejs/plugin-vue": { 1248 | "version": "4.2.3", 1249 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", 1250 | "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", 1251 | "dev": true, 1252 | "requires": {} 1253 | }, 1254 | "@vue/compiler-core": { 1255 | "version": "3.3.4", 1256 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", 1257 | "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", 1258 | "requires": { 1259 | "@babel/parser": "^7.21.3", 1260 | "@vue/shared": "3.3.4", 1261 | "estree-walker": "^2.0.2", 1262 | "source-map-js": "^1.0.2" 1263 | } 1264 | }, 1265 | "@vue/compiler-dom": { 1266 | "version": "3.3.4", 1267 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", 1268 | "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", 1269 | "requires": { 1270 | "@vue/compiler-core": "3.3.4", 1271 | "@vue/shared": "3.3.4" 1272 | } 1273 | }, 1274 | "@vue/compiler-sfc": { 1275 | "version": "3.3.4", 1276 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", 1277 | "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", 1278 | "requires": { 1279 | "@babel/parser": "^7.20.15", 1280 | "@vue/compiler-core": "3.3.4", 1281 | "@vue/compiler-dom": "3.3.4", 1282 | "@vue/compiler-ssr": "3.3.4", 1283 | "@vue/reactivity-transform": "3.3.4", 1284 | "@vue/shared": "3.3.4", 1285 | "estree-walker": "^2.0.2", 1286 | "magic-string": "^0.30.0", 1287 | "postcss": "^8.1.10", 1288 | "source-map-js": "^1.0.2" 1289 | } 1290 | }, 1291 | "@vue/compiler-ssr": { 1292 | "version": "3.3.4", 1293 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", 1294 | "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", 1295 | "requires": { 1296 | "@vue/compiler-dom": "3.3.4", 1297 | "@vue/shared": "3.3.4" 1298 | } 1299 | }, 1300 | "@vue/devtools-api": { 1301 | "version": "6.5.0", 1302 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", 1303 | "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" 1304 | }, 1305 | "@vue/reactivity": { 1306 | "version": "3.3.4", 1307 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", 1308 | "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", 1309 | "requires": { 1310 | "@vue/shared": "3.3.4" 1311 | } 1312 | }, 1313 | "@vue/reactivity-transform": { 1314 | "version": "3.3.4", 1315 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", 1316 | "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", 1317 | "requires": { 1318 | "@babel/parser": "^7.20.15", 1319 | "@vue/compiler-core": "3.3.4", 1320 | "@vue/shared": "3.3.4", 1321 | "estree-walker": "^2.0.2", 1322 | "magic-string": "^0.30.0" 1323 | } 1324 | }, 1325 | "@vue/runtime-core": { 1326 | "version": "3.3.4", 1327 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", 1328 | "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", 1329 | "requires": { 1330 | "@vue/reactivity": "3.3.4", 1331 | "@vue/shared": "3.3.4" 1332 | } 1333 | }, 1334 | "@vue/runtime-dom": { 1335 | "version": "3.3.4", 1336 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", 1337 | "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", 1338 | "requires": { 1339 | "@vue/runtime-core": "3.3.4", 1340 | "@vue/shared": "3.3.4", 1341 | "csstype": "^3.1.1" 1342 | } 1343 | }, 1344 | "@vue/server-renderer": { 1345 | "version": "3.3.4", 1346 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", 1347 | "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", 1348 | "requires": { 1349 | "@vue/compiler-ssr": "3.3.4", 1350 | "@vue/shared": "3.3.4" 1351 | } 1352 | }, 1353 | "@vue/shared": { 1354 | "version": "3.3.4", 1355 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", 1356 | "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" 1357 | }, 1358 | "csstype": { 1359 | "version": "3.1.2", 1360 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 1361 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 1362 | }, 1363 | "esbuild": { 1364 | "version": "0.18.17", 1365 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", 1366 | "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", 1367 | "dev": true, 1368 | "requires": { 1369 | "@esbuild/android-arm": "0.18.17", 1370 | "@esbuild/android-arm64": "0.18.17", 1371 | "@esbuild/android-x64": "0.18.17", 1372 | "@esbuild/darwin-arm64": "0.18.17", 1373 | "@esbuild/darwin-x64": "0.18.17", 1374 | "@esbuild/freebsd-arm64": "0.18.17", 1375 | "@esbuild/freebsd-x64": "0.18.17", 1376 | "@esbuild/linux-arm": "0.18.17", 1377 | "@esbuild/linux-arm64": "0.18.17", 1378 | "@esbuild/linux-ia32": "0.18.17", 1379 | "@esbuild/linux-loong64": "0.18.17", 1380 | "@esbuild/linux-mips64el": "0.18.17", 1381 | "@esbuild/linux-ppc64": "0.18.17", 1382 | "@esbuild/linux-riscv64": "0.18.17", 1383 | "@esbuild/linux-s390x": "0.18.17", 1384 | "@esbuild/linux-x64": "0.18.17", 1385 | "@esbuild/netbsd-x64": "0.18.17", 1386 | "@esbuild/openbsd-x64": "0.18.17", 1387 | "@esbuild/sunos-x64": "0.18.17", 1388 | "@esbuild/win32-arm64": "0.18.17", 1389 | "@esbuild/win32-ia32": "0.18.17", 1390 | "@esbuild/win32-x64": "0.18.17" 1391 | } 1392 | }, 1393 | "estree-walker": { 1394 | "version": "2.0.2", 1395 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1396 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 1397 | }, 1398 | "fsevents": { 1399 | "version": "2.3.2", 1400 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1401 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1402 | "dev": true, 1403 | "optional": true 1404 | }, 1405 | "magic-string": { 1406 | "version": "0.30.2", 1407 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", 1408 | "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", 1409 | "requires": { 1410 | "@jridgewell/sourcemap-codec": "^1.4.15" 1411 | } 1412 | }, 1413 | "nanoid": { 1414 | "version": "3.3.6", 1415 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1416 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" 1417 | }, 1418 | "picocolors": { 1419 | "version": "1.0.0", 1420 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1421 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1422 | }, 1423 | "pinia": { 1424 | "version": "2.1.6", 1425 | "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", 1426 | "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", 1427 | "requires": { 1428 | "@vue/devtools-api": "^6.5.0", 1429 | "vue-demi": ">=0.14.5" 1430 | }, 1431 | "dependencies": { 1432 | "vue-demi": { 1433 | "version": "0.14.5", 1434 | "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", 1435 | "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", 1436 | "requires": {} 1437 | } 1438 | } 1439 | }, 1440 | "postcss": { 1441 | "version": "8.4.27", 1442 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", 1443 | "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", 1444 | "requires": { 1445 | "nanoid": "^3.3.6", 1446 | "picocolors": "^1.0.0", 1447 | "source-map-js": "^1.0.2" 1448 | } 1449 | }, 1450 | "rollup": { 1451 | "version": "3.27.2", 1452 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.2.tgz", 1453 | "integrity": "sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==", 1454 | "dev": true, 1455 | "requires": { 1456 | "fsevents": "~2.3.2" 1457 | } 1458 | }, 1459 | "source-map-js": { 1460 | "version": "1.0.2", 1461 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1462 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 1463 | }, 1464 | "vite": { 1465 | "version": "4.4.8", 1466 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.8.tgz", 1467 | "integrity": "sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==", 1468 | "dev": true, 1469 | "requires": { 1470 | "esbuild": "^0.18.10", 1471 | "fsevents": "~2.3.2", 1472 | "postcss": "^8.4.26", 1473 | "rollup": "^3.25.2" 1474 | } 1475 | }, 1476 | "vue": { 1477 | "version": "3.3.4", 1478 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", 1479 | "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", 1480 | "requires": { 1481 | "@vue/compiler-dom": "3.3.4", 1482 | "@vue/compiler-sfc": "3.3.4", 1483 | "@vue/runtime-dom": "3.3.4", 1484 | "@vue/server-renderer": "3.3.4", 1485 | "@vue/shared": "3.3.4" 1486 | } 1487 | }, 1488 | "vue-router": { 1489 | "version": "4.2.4", 1490 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz", 1491 | "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==", 1492 | "requires": { 1493 | "@vue/devtools-api": "^6.5.0" 1494 | } 1495 | } 1496 | } 1497 | } 1498 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tauri-template", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview", 10 | "tauri": "tauri" 11 | }, 12 | "dependencies": { 13 | "@tauri-apps/api": "^1.4.0", 14 | "pinia": "^2.1.6", 15 | "vue": "^3.3.4", 16 | "vue-router": "^4.2.4" 17 | }, 18 | "devDependencies": { 19 | "@tauri-apps/cli": "^1.4.0", 20 | "@vitejs/plugin-vue": "^4.2.3", 21 | "vite": "^4.4.4" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | -------------------------------------------------------------------------------- /src-tauri/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tauri-template" 3 | version = "0.0.0" 4 | description = "A Tauri App" 5 | authors = ["you"] 6 | license = "" 7 | repository = "" 8 | edition = "2021" 9 | 10 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 11 | 12 | [build-dependencies] 13 | tauri-build = { version = "1.4", features = [] } 14 | 15 | [dependencies] 16 | tauri = { version = "1.4", features = ["shell-open"] } 17 | serde = { version = "1.0", features = ["derive"] } 18 | serde_json = "1.0" 19 | 20 | [features] 21 | # this feature is used for production builds or when `devPath` points to the filesystem 22 | # DO NOT REMOVE!! 23 | custom-protocol = ["tauri/custom-protocol"] 24 | -------------------------------------------------------------------------------- /src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/128x128.png -------------------------------------------------------------------------------- /src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/128x128@2x.png -------------------------------------------------------------------------------- /src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/32x32.png -------------------------------------------------------------------------------- /src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square107x107Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square142x142Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square150x150Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square284x284Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square30x30Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square310x310Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square44x44Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square71x71Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/Square89x89Logo.png -------------------------------------------------------------------------------- /src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/StoreLogo.png -------------------------------------------------------------------------------- /src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/icon.icns -------------------------------------------------------------------------------- /src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/icon.ico -------------------------------------------------------------------------------- /src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | // Prevents additional console window on Windows in release, DO NOT REMOVE!! 2 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] 3 | 4 | // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command 5 | #[tauri::command] 6 | fn greet(name: &str) -> String { 7 | format!("Hello, {}! You've been greeted from Rust!", name) 8 | } 9 | 10 | fn main() { 11 | tauri::Builder::default() 12 | .invoke_handler(tauri::generate_handler![greet]) 13 | .run(tauri::generate_context!()) 14 | .expect("error while running tauri application"); 15 | } 16 | -------------------------------------------------------------------------------- /src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "beforeDevCommand": "npm run dev", 4 | "beforeBuildCommand": "npm run build", 5 | "devPath": "http://localhost:1420", 6 | "distDir": "../dist", 7 | "withGlobalTauri": false 8 | }, 9 | "package": { 10 | "productName": "tauri-template", 11 | "version": "0.0.0" 12 | }, 13 | "tauri": { 14 | "allowlist": { 15 | "all": false, 16 | "shell": { 17 | "all": false, 18 | "open": true 19 | } 20 | }, 21 | "bundle": { 22 | "active": true, 23 | "targets": "all", 24 | "identifier": "com.tauri.dev", 25 | "icon": [ 26 | "icons/32x32.png", 27 | "icons/128x128.png", 28 | "icons/128x128@2x.png", 29 | "icons/icon.icns", 30 | "icons/icon.ico" 31 | ] 32 | }, 33 | "security": { 34 | "csp": null 35 | }, 36 | "windows": [ 37 | { 38 | "fullscreen": false, 39 | "resizable": true, 40 | "center": true, 41 | "title": "tauri-template", 42 | "width": 800, 43 | "height": 600 44 | } 45 | ], 46 | "updater": { 47 | "active": true, 48 | "endpoints": [ 49 | "https://raw.githubusercontent.com///update/latest.json" 50 | ], 51 | "dialog": true, 52 | "pubkey": "generate updater key: https://tauri.app/v1/guides/distribution/updater/", 53 | "windows": { 54 | "installMode": "passive" 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 47 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import { createPinia } from "pinia"; 3 | import App from "./App.vue"; 4 | import { router } from "./plugins/router.js"; 5 | 6 | const pinia = createPinia(); 7 | const app = createApp(App); 8 | 9 | app.use(pinia); 10 | app.use(router); 11 | 12 | app.mount("#app"); 13 | -------------------------------------------------------------------------------- /src/plugins/router.js: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHistory } from "vue-router"; 2 | 3 | const routes = [ 4 | { 5 | path: "/", 6 | name: "Home", 7 | component: () => import("../views/Home.vue"), 8 | }, 9 | ]; 10 | 11 | const router = createRouter({ 12 | history: createWebHistory(), 13 | routes, 14 | }); 15 | 16 | export { routes, router }; 17 | -------------------------------------------------------------------------------- /src/store/store.js: -------------------------------------------------------------------------------- 1 | import { defineStore } from "pinia"; 2 | 3 | export const useStore = defineStore("main", { 4 | state: () => ({}), 5 | getters: {}, 6 | actions: {}, 7 | }); 8 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skymen/tauri-vue-template/3f46f0bed12d81516702b59deccb204b6bd2c19a/src/views/Home.vue -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig(async () => ({ 6 | plugins: [vue()], 7 | 8 | // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` 9 | // 10 | // 1. prevent vite from obscuring rust errors 11 | clearScreen: false, 12 | // 2. tauri expects a fixed port, fail if that port is not available 13 | server: { 14 | port: 1420, 15 | strictPort: true, 16 | }, 17 | // 3. to make use of `TAURI_DEBUG` and other env variables 18 | // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand 19 | envPrefix: ["VITE_", "TAURI_"], 20 | })); 21 | --------------------------------------------------------------------------------