From 55230a2f513410e7f612630ba34311472ec69fc6 Mon Sep 17 00:00:00 2001 From: Jan-Henrik Damaschke Date: Sun, 22 Sep 2024 13:05:08 +0200 Subject: [PATCH] feat(oidc): :sparkles: Added handling for providers that don't refresh the refresh token --- package.json | 2 +- playground/staticwebapp.config.json | 18 - pnpm-lock.yaml | 1227 +++++++---------- src/module.ts | 191 +-- src/runtime/composables/oidcAuth.ts | 3 +- src/runtime/middleware/oidcAuth.ts | 3 +- src/runtime/providers/apple.ts | 4 +- src/runtime/providers/auth0.ts | 2 +- src/runtime/providers/entra.ts | 2 +- src/runtime/providers/github.ts | 4 +- src/runtime/providers/index.ts | 11 +- src/runtime/providers/keycloak.ts | 2 +- src/runtime/providers/oidc.ts | 4 +- src/runtime/providers/provider.ts | 47 - src/runtime/server/handler/callback.ts | 2 +- src/runtime/server/handler/dev.ts | 2 +- src/runtime/server/lib/oidc.ts | 5 +- src/runtime/server/utils/oidc.ts | 13 +- .../oidc.ts => server/utils/provider.ts} | 108 +- src/runtime/server/utils/session.ts | 17 +- src/runtime/types.ts | 219 +++ src/runtime/types/config.ts | 8 - src/runtime/types/session.ts | 60 - src/types.ts | 1 - test/vitest.config.ts | 1 - 25 files changed, 839 insertions(+), 1117 deletions(-) delete mode 100644 playground/staticwebapp.config.json delete mode 100644 src/runtime/providers/provider.ts rename src/runtime/{types/oidc.ts => server/utils/provider.ts} (75%) create mode 100644 src/runtime/types.ts delete mode 100644 src/runtime/types/config.ts delete mode 100644 src/runtime/types/session.ts delete mode 100644 src/types.ts diff --git a/package.json b/package.json index 43a43d1..5151644 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "defu": "^6.1.4", "h3": "^1.12.0", "jose": "^5.9.2", - "ofetch": "^1.3.4", + "ofetch": "^1.4.0", "scule": "^1.3.0", "sirv": "^2.0.4", "ufo": "^1.5.4", diff --git a/playground/staticwebapp.config.json b/playground/staticwebapp.config.json deleted file mode 100644 index 1572f8d..0000000 --- a/playground/staticwebapp.config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "routes": [ - { - "route": "/index.html", - "redirect": "/" - }, - { - "route": "/", - "rewrite": "/api/server" - } - ], - "platform": { - "apiRuntime": "node:16" - }, - "navigationFallback": { - "rewrite": "/api/server" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f47608..21d6f00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@nuxt/devtools-kit': specifier: ^1.5.0 - version: 1.5.0(magicast@0.3.5)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) + version: 1.5.0(magicast@0.3.5)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) '@nuxt/devtools-ui-kit': specifier: ^1.5.0 - version: 1.5.0(@nuxt/devtools@1.5.0(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@3.29.4)(webpack@5.94.0))(@vue/compiler-core@3.5.6)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0) + version: 1.5.0(@nuxt/devtools@1.5.0(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@3.29.5)(webpack@5.94.0))(@vue/compiler-core@3.5.8)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0) consola: specifier: ^3.2.3 version: 3.2.3 @@ -27,8 +27,8 @@ importers: specifier: ^5.9.2 version: 5.9.2 ofetch: - specifier: ^1.3.4 - version: 1.3.4 + specifier: ^1.4.0 + version: 1.4.0 scule: specifier: ^1.3.0 version: 1.3.0 @@ -44,25 +44,25 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^3.7.1 - version: 3.7.1(@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@unocss/eslint-plugin@0.62.4(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.6)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0)) + version: 3.7.1(@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@unocss/eslint-plugin@0.62.4(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.8)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0)) '@nuxt/devtools': specifier: ^1.5.0 - version: 1.5.0(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + version: 1.5.0(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) '@nuxt/eslint-config': specifier: ^0.5.7 version: 0.5.7(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) '@nuxt/kit': specifier: ^3.13.2 - version: 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) + version: 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) '@nuxt/module-builder': specifier: ^0.8.4 - version: 0.8.4(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3))(nuxi@3.13.2)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) + version: 0.8.4(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3))(nuxi@3.13.2)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) '@nuxt/schema': specifier: ^3.13.2 - version: 3.13.2(rollup@3.29.4)(webpack-sources@3.2.3) + version: 3.13.2(rollup@3.29.5)(webpack-sources@3.2.3) '@nuxt/test-utils': specifier: ^3.14.2 - version: 3.14.2(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + version: 3.14.2(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) '@types/node': specifier: ^22.5.5 version: 22.5.5 @@ -80,7 +80,7 @@ importers: version: 9.11.0(jiti@1.21.6) nuxt: specifier: ^3.13.2 - version: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) + version: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) typescript: specifier: ^5.6.2 version: 5.6.2 @@ -97,10 +97,10 @@ importers: dependencies: nuxt: specifier: ^3.13.2 - version: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) + version: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) vue: specifier: ^3.5.6 - version: 3.5.6(typescript@5.6.2) + version: 3.5.8(typescript@5.6.2) devDependencies: '@iconify-json/majesticons': specifier: ^1.2.0 @@ -110,13 +110,13 @@ importers: version: 1.2.3 '@nuxtjs/color-mode': specifier: ^3.5.1 - version: 3.5.1(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) + version: 3.5.1(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) '@unocss/nuxt': specifier: ^0.62.4 - version: 0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)) + version: 0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)) nuxt-oidc-auth: - specifier: latest - version: 0.14.2(@nuxt/devtools@1.5.0(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.6)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)) + specifier: workspace:^ + version: link:.. packages: @@ -926,10 +926,6 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.10.0': - resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.11.0': resolution: {integrity: sha512-LPkkenkDqyzTFauZLLAPhIb48fj6drrfMvRGSL9tS3AcZBSVTllemLSNyCvHNNL2t797S/6DJNSIwRwXgMO/eQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1049,40 +1045,20 @@ packages: '@nuxt/devalue@2.0.2': resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - '@nuxt/devtools-kit@1.4.2': - resolution: {integrity: sha512-8a5PhVnC7E94318/sHbNSe9mI2MlsQ8+pJLGs2Hh1OJyidB9SWe6hoFc8q4K9VOtXak9uCFVb5V2JGXS1q+1aA==} - peerDependencies: - vite: '*' - '@nuxt/devtools-kit@1.5.0': resolution: {integrity: sha512-Q8sOquz9CoUMTABo6Bq+nkbNMZi+WVN4xpz1USZPZazcJhSj9imSmQRSycY2fBYqkfB1AKBRhm2UV2ujCQfw0Q==} peerDependencies: vite: '*' - '@nuxt/devtools-ui-kit@1.4.2': - resolution: {integrity: sha512-ELVSAVimFeX4RWrfBjckevyB2btIrd4KUG0qVEaX9pBzKxwg8C1u+sDEfDfSQSnByXf7uoaGkR/1O/Up7xu65g==} - peerDependencies: - '@nuxt/devtools': 1.4.2 - '@nuxt/devtools-ui-kit@1.5.0': resolution: {integrity: sha512-ABLKuXJwJ/NbUNdjEKdgSSZG32rRDe71MdUTWH81Un6TaX9nndLe4CSyfsO5GQHf6TLxvtC5D4IJMXOAqwMxbg==} peerDependencies: '@nuxt/devtools': 1.5.0 - '@nuxt/devtools-wizard@1.4.2': - resolution: {integrity: sha512-TyhmPBg/xJKPOdnwR3DAh8KMUt6/0dUNABCxGVeY7PYbIiXt4msIGVJkBc4y+WwIJHOYPrSRClmZVsXQfRlB4A==} - hasBin: true - '@nuxt/devtools-wizard@1.5.0': resolution: {integrity: sha512-Yvc3MHzNZAN3hMoUr4FpVoBQ6etkp1STy56LntHgdEc9ngzcKzGuJJp5kxvytuY3dLUVFKQ6Ptvtv+yjLeoPZQ==} hasBin: true - '@nuxt/devtools@1.4.2': - resolution: {integrity: sha512-Ok3g2P7iwKyK8LiwozbYVAZTo8t91iXSmlJj2ozeo1okKQ2Qi1AtwB6nYgIlkUHZmo155ZjG/LCHYI5uhQ/sGw==} - hasBin: true - peerDependencies: - vite: '*' - '@nuxt/devtools@1.5.0': resolution: {integrity: sha512-82LEPZUVU0osPRypSTq/bPXfl1Oo/+R2UaXx/pq9WkE8Vj1V/n0v7a40EVHJsusZ+e/JGjed8+8oYDwF8nNIQw==} hasBin: true @@ -1258,8 +1234,8 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@polka/url@1.0.0-next.27': - resolution: {integrity: sha512-MU0SYgcrBdSVLu7Tfow3VY4z1odzlaTYRjt3WQ0z8XbjDWReuy+EALt2HdjhrwD2HPiW2GY+KTSw4HLv4C/EOA==} + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} '@rollup/plugin-alias@5.1.0': resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} @@ -1337,83 +1313,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.21.3': - resolution: {integrity: sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==} + '@rollup/rollup-android-arm-eabi@4.22.4': + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.3': - resolution: {integrity: sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==} + '@rollup/rollup-android-arm64@4.22.4': + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.3': - resolution: {integrity: sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==} + '@rollup/rollup-darwin-arm64@4.22.4': + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.3': - resolution: {integrity: sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==} + '@rollup/rollup-darwin-x64@4.22.4': + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.3': - resolution: {integrity: sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.3': - resolution: {integrity: sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==} + '@rollup/rollup-linux-arm-musleabihf@4.22.4': + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.3': - resolution: {integrity: sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==} + '@rollup/rollup-linux-arm64-gnu@4.22.4': + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.3': - resolution: {integrity: sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==} + '@rollup/rollup-linux-arm64-musl@4.22.4': + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': - resolution: {integrity: sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.3': - resolution: {integrity: sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==} + '@rollup/rollup-linux-riscv64-gnu@4.22.4': + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.3': - resolution: {integrity: sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==} + '@rollup/rollup-linux-s390x-gnu@4.22.4': + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.3': - resolution: {integrity: sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==} + '@rollup/rollup-linux-x64-gnu@4.22.4': + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.3': - resolution: {integrity: sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==} + '@rollup/rollup-linux-x64-musl@4.22.4': + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.3': - resolution: {integrity: sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==} + '@rollup/rollup-win32-arm64-msvc@4.22.4': + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.3': - resolution: {integrity: sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==} + '@rollup/rollup-win32-ia32-msvc@4.22.4': + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.3': - resolution: {integrity: sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==} + '@rollup/rollup-win32-x64-msvc@4.22.4': + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} cpu: [x64] os: [win32] @@ -1731,17 +1707,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.6': - resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} + '@vue/compiler-core@3.5.8': + resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} - '@vue/compiler-dom@3.5.6': - resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} + '@vue/compiler-dom@3.5.8': + resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} - '@vue/compiler-sfc@3.5.6': - resolution: {integrity: sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==} + '@vue/compiler-sfc@3.5.8': + resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} - '@vue/compiler-ssr@3.5.6': - resolution: {integrity: sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==} + '@vue/compiler-ssr@3.5.8': + resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -1768,22 +1744,22 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.6': - resolution: {integrity: sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==} + '@vue/reactivity@3.5.8': + resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} - '@vue/runtime-core@3.5.6': - resolution: {integrity: sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==} + '@vue/runtime-core@3.5.8': + resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} - '@vue/runtime-dom@3.5.6': - resolution: {integrity: sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==} + '@vue/runtime-dom@3.5.8': + resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} - '@vue/server-renderer@3.5.6': - resolution: {integrity: sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==} + '@vue/server-renderer@3.5.8': + resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} peerDependencies: - vue: 3.5.6 + vue: 3.5.8 - '@vue/shared@3.5.6': - resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} + '@vue/shared@3.5.8': + resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} '@vueuse/core@11.1.0': resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==} @@ -1984,8 +1960,8 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-kit@1.1.0: - resolution: {integrity: sha512-RlNqd4u6c/rJ5R+tN/ZTtyNrH8X0NHCvyt6gD8RHa3JjzxxHWoyaU0Ujk3Zjbh7IZqrYl1Sxm6XzZifmVxXxHQ==} + ast-kit@1.2.0: + resolution: {integrity: sha512-7TnogTQQZEagrHcOcddY0PqXPxVqFoNPPsKoa42Peyc83iinzT+QPKoRLDmzpaUVWZbgqSoHtezsTIoJyyBE+Q==} engines: {node: '>=16.14.0'} ast-walker-scope@0.6.2: @@ -2100,8 +2076,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001660: - resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} + caniuse-lite@1.0.30001662: + resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2508,8 +2484,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.25: - resolution: {integrity: sha512-kMb204zvK3PsSlgvvwzI3wBIcAw15tRkYk+NQdsjdDtcQWTp2RABbMQ9rUBy8KNEOM+/E6ep+XC3AykiWZld4g==} + electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3739,9 +3715,6 @@ packages: engines: {node: ^16.10.0 || >=18.0.0} hasBin: true - nuxt-oidc-auth@0.14.2: - resolution: {integrity: sha512-A00DISJwDHJ/7tiUpHbFI2U2wqbgrnuEc5CyrShjSj5JQmD73P92POJSv37ZgGvxkZ24XGF+t2M9PtThsabovg==} - nuxt@3.13.2: resolution: {integrity: sha512-Bjc2qRsipfBhjXsBEJCN+EUAukhdgFv/KoIR5HFB2hZOYRSqXBod3oWQs78k3ja1nlIhAEdBG533898KJxUtJw==} engines: {node: ^14.18.0 || >=16.10.0} @@ -3764,8 +3737,8 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + ofetch@1.4.0: + resolution: {integrity: sha512-MuHgsEhU6zGeX+EMh+8mSMrYTnsqJQQrpM00Q6QHMKNqQ0bKy0B43tk8tL1wg+CnsSTy1kg4Ir2T5Ig6rD+dfQ==} ohash@1.1.4: resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} @@ -3843,8 +3816,8 @@ packages: resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} engines: {node: '>=14'} - parse-imports@2.1.1: - resolution: {integrity: sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==} + parse-imports@2.2.1: + resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} engines: {node: '>= 18'} parse-json@5.2.0: @@ -4245,13 +4218,13 @@ packages: rollup: optional: true - rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.21.3: - resolution: {integrity: sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==} + rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4343,9 +4316,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-git@3.26.0: - resolution: {integrity: sha512-5tbkCSzuskR6uA7uA23yjasmA0RzugVo8QM2bpsnxkrgP13eisFT7TMS4a+xKEJvbmr4qf+l0WT3eKa9IxxUyw==} - simple-git@3.27.0: resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==} @@ -4903,8 +4873,8 @@ packages: peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 - vite@5.4.6: - resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} + vite@5.4.7: + resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5020,8 +4990,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.6: - resolution: {integrity: sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==} + vue@3.5.8: + resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -5152,7 +5122,7 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@3.7.1(@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@unocss/eslint-plugin@0.62.4(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.6)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))': + '@antfu/eslint-config@3.7.1(@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@unocss/eslint-plugin@0.62.4(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.8)(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))': dependencies: '@antfu/install-pkg': 0.4.1 '@clack/prompts': 0.7.0 @@ -5180,7 +5150,7 @@ snapshots: eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6)) eslint-plugin-vue: 9.28.0(eslint@9.11.0(jiti@1.21.6)) eslint-plugin-yml: 1.14.0(eslint@9.11.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.6)(eslint@9.11.0(jiti@1.21.6)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.8)(eslint@9.11.0(jiti@1.21.6)) globals: 15.9.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 @@ -5749,8 +5719,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.10.0': {} - '@eslint/js@9.11.0': {} '@eslint/markdown@6.1.0(eslint@9.11.0(jiti@1.21.6))': @@ -5893,125 +5861,53 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.4.2(magicast@0.3.5)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)': + '@nuxt/devtools-kit@1.5.0(magicast@0.3.5)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@3.29.5)(webpack-sources@3.2.3) execa: 7.2.0 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - magicast - rollup - supports-color - webpack-sources - '@nuxt/devtools-kit@1.4.2(magicast@0.3.5)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)': + '@nuxt/devtools-kit@1.5.0(magicast@0.3.5)(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@4.21.3)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@4.22.4)(webpack-sources@3.2.3) execa: 7.2.0 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - magicast - rollup - supports-color - webpack-sources - '@nuxt/devtools-kit@1.5.0(magicast@0.3.5)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)': - dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@3.29.4)(webpack-sources@3.2.3) - execa: 7.2.0 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - transitivePeerDependencies: - - magicast - - rollup - - supports-color - - webpack-sources - - '@nuxt/devtools-kit@1.5.0(magicast@0.3.5)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)': - dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@4.21.3)(webpack-sources@3.2.3) - execa: 7.2.0 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - transitivePeerDependencies: - - magicast - - rollup - - supports-color - - webpack-sources - - '@nuxt/devtools-ui-kit@1.4.2(@nuxt/devtools@1.5.0(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.6)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1))': - dependencies: - '@iconify-json/carbon': 1.2.1 - '@iconify-json/logos': 1.2.0 - '@iconify-json/ri': 1.2.0 - '@iconify-json/tabler': 1.2.3 - '@nuxt/devtools': 1.5.0(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) - '@nuxt/devtools-kit': 1.4.2(magicast@0.3.5)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@unocss/core': 0.62.4 - '@unocss/nuxt': 0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)) - '@unocss/preset-attributify': 0.62.4 - '@unocss/preset-icons': 0.62.4 - '@unocss/preset-mini': 0.62.4 - '@unocss/reset': 0.62.4 - '@vueuse/core': 11.1.0(vue@3.5.6(typescript@5.6.2)) - '@vueuse/integrations': 11.1.0(focus-trap@7.6.0)(vue@3.5.6(typescript@5.6.2)) - '@vueuse/nuxt': 11.1.0(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@4.21.3)(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) - defu: 6.1.4 - focus-trap: 7.6.0 - splitpanes: 3.1.5 - unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - v-lazy-show: 0.2.4(@vue/compiler-core@3.5.6) - transitivePeerDependencies: - - '@unocss/webpack' - - '@vue/compiler-core' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - magicast - - nprogress - - nuxt - - postcss - - qrcode - - rollup - - sortablejs - - supports-color - - universal-cookie - - vite - - vue - - webpack - - webpack-sources - - '@nuxt/devtools-ui-kit@1.5.0(@nuxt/devtools@1.5.0(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@3.29.4)(webpack@5.94.0))(@vue/compiler-core@3.5.6)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0)': + '@nuxt/devtools-ui-kit@1.5.0(@nuxt/devtools@1.5.0(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@3.29.5)(webpack@5.94.0))(@vue/compiler-core@3.5.8)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0)': dependencies: '@iconify-json/carbon': 1.2.1 '@iconify-json/logos': 1.2.0 '@iconify-json/ri': 1.2.0 '@iconify-json/tabler': 1.2.3 - '@nuxt/devtools': 1.5.0(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) - '@nuxt/devtools-kit': 1.5.0(magicast@0.3.5)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/devtools': 1.5.0(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/devtools-kit': 1.5.0(magicast@0.3.5)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) '@unocss/core': 0.62.4 - '@unocss/nuxt': 0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0) + '@unocss/nuxt': 0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0) '@unocss/preset-attributify': 0.62.4 '@unocss/preset-icons': 0.62.4 '@unocss/preset-mini': 0.62.4 '@unocss/reset': 0.62.4 - '@vueuse/core': 11.1.0(vue@3.5.6(typescript@5.6.2)) - '@vueuse/integrations': 11.1.0(focus-trap@7.6.0)(vue@3.5.6(typescript@5.6.2)) - '@vueuse/nuxt': 11.1.0(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@3.29.4)(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + '@vueuse/core': 11.1.0(vue@3.5.8(typescript@5.6.2)) + '@vueuse/integrations': 11.1.0(focus-trap@7.6.0)(vue@3.5.8(typescript@5.6.2)) + '@vueuse/nuxt': 11.1.0(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@3.29.5)(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) defu: 6.1.4 focus-trap: 7.6.0 splitpanes: 3.1.5 - unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@3.29.4)(webpack@5.94.0))(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - v-lazy-show: 0.2.4(@vue/compiler-core@3.5.6) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@3.29.5)(webpack@5.94.0))(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + v-lazy-show: 0.2.4(@vue/compiler-core@3.5.8) transitivePeerDependencies: - '@unocss/webpack' - '@vue/compiler-core' @@ -6037,19 +5933,6 @@ snapshots: - webpack - webpack-sources - '@nuxt/devtools-wizard@1.4.2': - dependencies: - consola: 3.2.3 - diff: 7.0.0 - execa: 7.2.0 - global-directory: 4.0.1 - magicast: 0.3.5 - pathe: 1.1.2 - pkg-types: 1.2.0 - prompts: 2.4.2 - rc9: 2.1.2 - semver: 7.6.3 - '@nuxt/devtools-wizard@1.5.0': dependencies: consola: 3.2.3 @@ -6063,109 +5946,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.3 - '@nuxt/devtools@1.4.2(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/devtools@1.5.0(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.4.2(magicast@0.3.5)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) - '@nuxt/devtools-wizard': 1.4.2 - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@vue/devtools-core': 7.4.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) - '@vue/devtools-kit': 7.4.4 - birpc: 0.2.17 - consola: 3.2.3 - cronstrue: 2.50.0 - destr: 2.0.3 - error-stack-parser-es: 0.1.5 - execa: 7.2.0 - fast-npm-meta: 0.2.2 - flatted: 3.3.1 - get-port-please: 3.1.2 - hookable: 5.5.3 - image-meta: 0.2.1 - is-installed-globally: 1.0.0 - launch-editor: 2.9.1 - local-pkg: 0.5.0 - magicast: 0.3.5 - nypm: 0.3.11 - ohash: 1.1.4 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - pkg-types: 1.2.0 - rc9: 2.1.2 - scule: 1.3.0 - semver: 7.6.3 - simple-git: 3.26.0 - sirv: 2.0.4 - tinyglobby: 0.2.6 - unimport: 3.12.0(rollup@3.29.4)(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - vite-plugin-vue-inspector: 5.2.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - which: 3.0.1 - ws: 8.18.0 - transitivePeerDependencies: - - bufferutil - - rollup - - supports-color - - utf-8-validate - - vue - - webpack-sources - - '@nuxt/devtools@1.4.2(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': - dependencies: - '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.4.2(magicast@0.3.5)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) - '@nuxt/devtools-wizard': 1.4.2 - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@vue/devtools-core': 7.4.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) - '@vue/devtools-kit': 7.4.4 - birpc: 0.2.17 - consola: 3.2.3 - cronstrue: 2.50.0 - destr: 2.0.3 - error-stack-parser-es: 0.1.5 - execa: 7.2.0 - fast-npm-meta: 0.2.2 - flatted: 3.3.1 - get-port-please: 3.1.2 - hookable: 5.5.3 - image-meta: 0.2.1 - is-installed-globally: 1.0.0 - launch-editor: 2.9.1 - local-pkg: 0.5.0 - magicast: 0.3.5 - nypm: 0.3.11 - ohash: 1.1.4 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - pkg-types: 1.2.0 - rc9: 2.1.2 - scule: 1.3.0 - semver: 7.6.3 - simple-git: 3.26.0 - sirv: 2.0.4 - tinyglobby: 0.2.6 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3))(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - vite-plugin-vue-inspector: 5.2.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - which: 3.0.1 - ws: 8.18.0 - transitivePeerDependencies: - - bufferutil - - rollup - - supports-color - - utf-8-validate - - vue - - webpack-sources - - '@nuxt/devtools@1.5.0(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': - dependencies: - '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.5.0(magicast@0.3.5)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) + '@nuxt/devtools-kit': 1.5.0(magicast@0.3.5)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) '@nuxt/devtools-wizard': 1.5.0 - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@vue/devtools-core': 7.4.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@vue/devtools-core': 7.4.4(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) '@vue/devtools-kit': 7.4.4 birpc: 0.2.17 consola: 3.2.3 @@ -6193,10 +5980,10 @@ snapshots: simple-git: 3.27.0 sirv: 2.0.4 tinyglobby: 0.2.6 - unimport: 3.12.0(rollup@3.29.4)(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - vite-plugin-vue-inspector: 5.2.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + unimport: 3.12.0(rollup@3.29.5)(webpack-sources@3.2.3) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) + vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + vite-plugin-vue-inspector: 5.2.0(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) which: 3.0.1 ws: 8.18.0 transitivePeerDependencies: @@ -6207,13 +5994,13 @@ snapshots: - vue - webpack-sources - '@nuxt/devtools@1.5.0(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/devtools@1.5.0(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.5.0(magicast@0.3.5)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) + '@nuxt/devtools-kit': 1.5.0(magicast@0.3.5)(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) '@nuxt/devtools-wizard': 1.5.0 - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@vue/devtools-core': 7.4.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) + '@vue/devtools-core': 7.4.4(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) '@vue/devtools-kit': 7.4.4 birpc: 0.2.17 consola: 3.2.3 @@ -6241,10 +6028,10 @@ snapshots: simple-git: 3.27.0 sirv: 2.0.4 tinyglobby: 0.2.6 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3))(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - vite-plugin-vue-inspector: 5.2.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + unimport: 3.12.0(rollup@4.22.4)(webpack-sources@3.2.3) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) + vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3))(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + vite-plugin-vue-inspector: 5.2.0(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) which: 3.0.1 ws: 8.18.0 transitivePeerDependencies: @@ -6257,7 +6044,7 @@ snapshots: '@nuxt/eslint-config@0.5.7(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint/js': 9.10.0 + '@eslint/js': 9.11.0 '@nuxt/eslint-plugin': 0.5.7(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2) @@ -6287,9 +6074,9 @@ snapshots: - supports-color - typescript - '@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3)': + '@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3)': dependencies: - '@nuxt/schema': 3.13.2(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@3.29.5)(webpack-sources@3.2.3) c12: 1.11.2(magicast@0.3.5) consola: 3.2.3 defu: 6.1.4 @@ -6307,7 +6094,7 @@ snapshots: semver: 7.6.3 ufo: 1.5.4 unctx: 2.3.1(webpack-sources@3.2.3) - unimport: 3.12.0(rollup@3.29.4)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@3.29.5)(webpack-sources@3.2.3) untyped: 1.4.2 transitivePeerDependencies: - magicast @@ -6315,9 +6102,9 @@ snapshots: - supports-color - webpack-sources - '@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3)': + '@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3)': dependencies: - '@nuxt/schema': 3.13.2(rollup@4.21.3)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@4.22.4)(webpack-sources@3.2.3) c12: 1.11.2(magicast@0.3.5) consola: 3.2.3 defu: 6.1.4 @@ -6335,7 +6122,7 @@ snapshots: semver: 7.6.3 ufo: 1.5.4 unctx: 2.3.1(webpack-sources@3.2.3) - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@4.22.4)(webpack-sources@3.2.3) untyped: 1.4.2 transitivePeerDependencies: - magicast @@ -6343,9 +6130,9 @@ snapshots: - supports-color - webpack-sources - '@nuxt/module-builder@0.8.4(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3))(nuxi@3.13.2)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/module-builder@0.8.4(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3))(nuxi@3.13.2)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 @@ -6363,7 +6150,7 @@ snapshots: - vue-tsc - webpack-sources - '@nuxt/schema@3.13.2(rollup@3.29.4)(webpack-sources@3.2.3)': + '@nuxt/schema@3.13.2(rollup@3.29.5)(webpack-sources@3.2.3)': dependencies: compatx: 0.1.8 consola: 3.2.3 @@ -6375,14 +6162,14 @@ snapshots: std-env: 3.7.0 ufo: 1.5.4 uncrypto: 0.1.3 - unimport: 3.12.0(rollup@3.29.4)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@3.29.5)(webpack-sources@3.2.3) untyped: 1.4.2 transitivePeerDependencies: - rollup - supports-color - webpack-sources - '@nuxt/schema@3.13.2(rollup@4.21.3)(webpack-sources@3.2.3)': + '@nuxt/schema@3.13.2(rollup@4.22.4)(webpack-sources@3.2.3)': dependencies: compatx: 0.1.8 consola: 3.2.3 @@ -6394,16 +6181,16 @@ snapshots: std-env: 3.7.0 ufo: 1.5.4 uncrypto: 0.1.3 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@4.22.4)(webpack-sources@3.2.3) untyped: 1.4.2 transitivePeerDependencies: - rollup - supports-color - webpack-sources - '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3)': + '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) ci-info: 4.0.0 consola: 3.2.3 create-require: 1.1.1 @@ -6415,7 +6202,7 @@ snapshots: jiti: 1.21.6 mri: 1.2.0 nanoid: 5.0.7 - ofetch: 1.3.4 + ofetch: 1.4.0 package-manager-detector: 0.2.0 parse-git-config: 3.0.0 pathe: 1.1.2 @@ -6427,9 +6214,9 @@ snapshots: - supports-color - webpack-sources - '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3)': + '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) ci-info: 4.0.0 consola: 3.2.3 create-require: 1.1.1 @@ -6441,7 +6228,7 @@ snapshots: jiti: 1.21.6 mri: 1.2.0 nanoid: 5.0.7 - ofetch: 1.3.4 + ofetch: 1.4.0 package-manager-detector: 0.2.0 parse-git-config: 3.0.0 pathe: 1.1.2 @@ -6453,10 +6240,10 @@ snapshots: - supports-color - webpack-sources - '@nuxt/test-utils@3.14.2(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/test-utils@3.14.2(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@3.29.5)(webpack-sources@3.2.3) c12: 1.11.2(magicast@0.3.5) consola: 3.2.3 defu: 6.1.4 @@ -6469,7 +6256,7 @@ snapshots: magic-string: 0.30.11 nitropack: 2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3) node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.0 pathe: 1.1.2 perfect-debounce: 1.0.0 radix3: 1.1.2 @@ -6479,10 +6266,10 @@ snapshots: ufo: 1.5.4 unenv: 1.10.0 unplugin: 1.14.1(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vitest-environment-nuxt: 1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) - vue: 3.5.6(typescript@5.6.2) - vue-router: 4.4.5(vue@3.5.6(typescript@5.6.2)) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) + vitest-environment-nuxt: 1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) + vue: 3.5.8(typescript@5.6.2) + vue-router: 4.4.5(vue@3.5.8(typescript@5.6.2)) optionalDependencies: vitest: 2.1.1(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: @@ -6491,12 +6278,12 @@ snapshots: - supports-color - webpack-sources - '@nuxt/vite-builder@3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/vite-builder@3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@rollup/plugin-replace': 5.0.7(rollup@3.29.4) - '@vitejs/plugin-vue': 5.1.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) - '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@rollup/plugin-replace': 5.0.7(rollup@3.29.5) + '@vitejs/plugin-vue': 5.1.4(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) + '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) autoprefixer: 10.4.20(postcss@8.4.47) clear: 0.1.0 consola: 3.2.3 @@ -6516,16 +6303,16 @@ snapshots: perfect-debounce: 1.0.0 pkg-types: 1.2.0 postcss: 8.4.47 - rollup-plugin-visualizer: 5.12.0(rollup@3.29.4) + rollup-plugin-visualizer: 5.12.0(rollup@3.29.5) std-env: 3.7.0 strip-literal: 2.1.0 ufo: 1.5.4 unenv: 1.10.0 unplugin: 1.14.1(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) vite-node: 2.1.1(@types/node@22.5.5)(terser@5.33.0) - vite-plugin-checker: 0.8.0(eslint@9.11.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2)) - vue: 3.5.6(typescript@5.6.2) + vite-plugin-checker: 0.8.0(eslint@9.11.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2)) + vue: 3.5.8(typescript@5.6.2) vue-bundle-renderer: 2.1.0 transitivePeerDependencies: - '@biomejs/biome' @@ -6551,12 +6338,12 @@ snapshots: - vue-tsc - webpack-sources - '@nuxt/vite-builder@3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/vite-builder@3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@rollup/plugin-replace': 5.0.7(rollup@4.21.3) - '@vitejs/plugin-vue': 5.1.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) - '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2)) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) + '@rollup/plugin-replace': 5.0.7(rollup@4.22.4) + '@vitejs/plugin-vue': 5.1.4(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) + '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2)) autoprefixer: 10.4.20(postcss@8.4.47) clear: 0.1.0 consola: 3.2.3 @@ -6576,16 +6363,16 @@ snapshots: perfect-debounce: 1.0.0 pkg-types: 1.2.0 postcss: 8.4.47 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.3) + rollup-plugin-visualizer: 5.12.0(rollup@4.22.4) std-env: 3.7.0 strip-literal: 2.1.0 ufo: 1.5.4 unenv: 1.10.0 unplugin: 1.14.1(webpack-sources@3.2.3) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) vite-node: 2.1.1(@types/node@22.5.5)(terser@5.33.0) - vite-plugin-checker: 0.8.0(eslint@9.11.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2)) - vue: 3.5.6(typescript@5.6.2) + vite-plugin-checker: 0.8.0(eslint@9.11.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2)) + vue: 3.5.8(typescript@5.6.2) vue-bundle-renderer: 2.1.0 transitivePeerDependencies: - '@biomejs/biome' @@ -6611,9 +6398,9 @@ snapshots: - vue-tsc - webpack-sources - '@nuxtjs/color-mode@3.5.1(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3)': + '@nuxtjs/color-mode@3.5.1(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) changelogen: 0.5.5(magicast@0.3.5) pathe: 1.1.2 pkg-types: 1.2.0 @@ -6690,173 +6477,173 @@ snapshots: '@pkgr/core@0.1.1': {} - '@polka/url@1.0.0-next.27': {} + '@polka/url@1.0.0-next.28': {} - '@rollup/plugin-alias@5.1.0(rollup@3.29.4)': + '@rollup/plugin-alias@5.1.0(rollup@3.29.5)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-alias@5.1.0(rollup@4.21.3)': + '@rollup/plugin-alias@5.1.0(rollup@4.22.4)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/plugin-commonjs@25.0.8(rollup@3.29.4)': + '@rollup/plugin-commonjs@25.0.8(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-commonjs@25.0.8(rollup@4.21.3)': + '@rollup/plugin-commonjs@25.0.8(rollup@4.22.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/plugin-inject@5.0.5(rollup@4.21.3)': + '@rollup/plugin-inject@5.0.5(rollup@4.22.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) estree-walker: 2.0.2 magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/plugin-json@6.1.0(rollup@3.29.4)': + '@rollup/plugin-json@6.1.0(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-json@6.1.0(rollup@4.21.3)': + '@rollup/plugin-json@6.1.0(rollup@4.22.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': + '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.21.3)': + '@rollup/plugin-node-resolve@15.2.3(rollup@4.22.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/plugin-replace@5.0.7(rollup@3.29.4)': + '@rollup/plugin-replace@5.0.7(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) magic-string: 0.30.11 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/plugin-replace@5.0.7(rollup@4.21.3)': + '@rollup/plugin-replace@5.0.7(rollup@4.22.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) magic-string: 0.30.11 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/plugin-terser@0.4.4(rollup@4.21.3)': + '@rollup/plugin-terser@0.4.4(rollup@4.22.4)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.33.0 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.0(rollup@3.29.4)': + '@rollup/pluginutils@5.1.0(rollup@3.29.5)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - '@rollup/pluginutils@5.1.0(rollup@4.21.3)': + '@rollup/pluginutils@5.1.0(rollup@4.22.4)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - '@rollup/rollup-android-arm-eabi@4.21.3': + '@rollup/rollup-android-arm-eabi@4.22.4': optional: true - '@rollup/rollup-android-arm64@4.21.3': + '@rollup/rollup-android-arm64@4.22.4': optional: true - '@rollup/rollup-darwin-arm64@4.21.3': + '@rollup/rollup-darwin-arm64@4.22.4': optional: true - '@rollup/rollup-darwin-x64@4.21.3': + '@rollup/rollup-darwin-x64@4.22.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.3': + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.3': + '@rollup/rollup-linux-arm-musleabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.3': + '@rollup/rollup-linux-arm64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.3': + '@rollup/rollup-linux-arm64-musl@4.22.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.3': + '@rollup/rollup-linux-riscv64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.3': + '@rollup/rollup-linux-s390x-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.3': + '@rollup/rollup-linux-x64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-musl@4.21.3': + '@rollup/rollup-linux-x64-musl@4.22.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.3': + '@rollup/rollup-win32-arm64-msvc@4.22.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.3': + '@rollup/rollup-win32-ia32-msvc@4.22.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.3': + '@rollup/rollup-win32-x64-msvc@4.22.4': optional: true '@sindresorhus/merge-streams@2.3.0': {} @@ -7007,41 +6794,41 @@ snapshots: '@unhead/schema': 1.11.6 '@unhead/shared': 1.11.6 - '@unhead/vue@1.11.6(vue@3.5.6(typescript@5.6.2))': + '@unhead/vue@1.11.6(vue@3.5.8(typescript@5.6.2))': dependencies: '@unhead/schema': 1.11.6 '@unhead/shared': 1.11.6 defu: 6.1.4 hookable: 5.5.3 unhead: 1.11.6 - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) - '@unocss/astro@0.62.4(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))': + '@unocss/astro@0.62.4(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))': dependencies: '@unocss/core': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/vite': 0.62.4(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) optionalDependencies: - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/astro@0.62.4(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))': + '@unocss/astro@0.62.4(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))': dependencies: '@unocss/core': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/vite': 0.62.4(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) optionalDependencies: - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/cli@0.62.4(rollup@3.29.4)': + '@unocss/cli@0.62.4(rollup@3.29.5)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 '@unocss/preset-uno': 0.62.4 @@ -7057,10 +6844,10 @@ snapshots: - rollup - supports-color - '@unocss/cli@0.62.4(rollup@4.21.3)': + '@unocss/cli@0.62.4(rollup@4.22.4)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 '@unocss/preset-uno': 0.62.4 @@ -7108,9 +6895,9 @@ snapshots: gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/nuxt@0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0)': + '@unocss/nuxt@0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 '@unocss/preset-attributify': 0.62.4 @@ -7121,9 +6908,9 @@ snapshots: '@unocss/preset-web-fonts': 0.62.4 '@unocss/preset-wind': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - '@unocss/webpack': 0.62.4(rollup@3.29.4)(webpack@5.94.0) - unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@3.29.4)(webpack@5.94.0))(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/vite': 0.62.4(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/webpack': 0.62.4(rollup@3.29.5)(webpack@5.94.0) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@3.29.5)(webpack@5.94.0))(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) transitivePeerDependencies: - magicast - postcss @@ -7133,9 +6920,9 @@ snapshots: - webpack - webpack-sources - '@unocss/nuxt@0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1))': + '@unocss/nuxt@0.62.4(magicast@0.3.5)(postcss@8.4.47)(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1))': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 '@unocss/preset-attributify': 0.62.4 @@ -7146,9 +6933,9 @@ snapshots: '@unocss/preset-web-fonts': 0.62.4 '@unocss/preset-wind': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - '@unocss/webpack': 0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)) - unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/vite': 0.62.4(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/webpack': 0.62.4(rollup@4.22.4)(webpack@5.94.0(esbuild@0.23.1)) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.22.4)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.47)(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) transitivePeerDependencies: - magicast - postcss @@ -7177,7 +6964,7 @@ snapshots: dependencies: '@iconify/utils': 2.1.33 '@unocss/core': 0.62.4 - ofetch: 1.3.4 + ofetch: 1.4.0 transitivePeerDependencies: - supports-color @@ -7206,7 +6993,7 @@ snapshots: '@unocss/preset-web-fonts@0.62.4': dependencies: '@unocss/core': 0.62.4 - ofetch: 1.3.4 + ofetch: 1.4.0 '@unocss/preset-wind@0.62.4': dependencies: @@ -7239,40 +7026,40 @@ snapshots: dependencies: '@unocss/core': 0.62.4 - '@unocss/vite@0.62.4(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))': + '@unocss/vite@0.62.4(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 '@unocss/inspector': 0.62.4 chokidar: 3.6.0 magic-string: 0.30.11 tinyglobby: 0.2.6 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/vite@0.62.4(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))': + '@unocss/vite@0.62.4(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 '@unocss/inspector': 0.62.4 chokidar: 3.6.0 magic-string: 0.30.11 tinyglobby: 0.2.6 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/webpack@0.62.4(rollup@3.29.4)(webpack@5.94.0)': + '@unocss/webpack@0.62.4(rollup@3.29.5)(webpack@5.94.0)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 chokidar: 3.6.0 @@ -7285,10 +7072,10 @@ snapshots: - rollup - supports-color - '@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1))': + '@unocss/webpack@0.62.4(rollup@4.22.4)(webpack@5.94.0(esbuild@0.23.1))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) '@unocss/config': 0.62.4 '@unocss/core': 0.62.4 chokidar: 3.6.0 @@ -7319,20 +7106,20 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))': + '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vue: 3.5.6(typescript@5.6.2) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) + vue: 3.5.8(typescript@5.6.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))': dependencies: - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) - vue: 3.5.6(typescript@5.6.2) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) + vue: 3.5.8(typescript@5.6.2) '@vitest/eslint-plugin@1.1.4(@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))': dependencies: @@ -7349,13 +7136,13 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))': dependencies: '@vitest/spy': 2.1.1 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) '@vitest/pretty-format@2.1.1': dependencies: @@ -7394,29 +7181,29 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue-macros/common@1.14.0(rollup@3.29.4)(vue@3.5.6(typescript@5.6.2))': + '@vue-macros/common@1.14.0(rollup@3.29.5)(vue@3.5.8(typescript@5.6.2))': dependencies: '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue/compiler-sfc': 3.5.6 - ast-kit: 1.1.0 + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) + '@vue/compiler-sfc': 3.5.8 + ast-kit: 1.2.0 local-pkg: 0.5.0 magic-string-ast: 0.6.2 optionalDependencies: - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) transitivePeerDependencies: - rollup - '@vue-macros/common@1.14.0(rollup@4.21.3)(vue@3.5.6(typescript@5.6.2))': + '@vue-macros/common@1.14.0(rollup@4.22.4)(vue@3.5.8(typescript@5.6.2))': dependencies: '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@vue/compiler-sfc': 3.5.6 - ast-kit: 1.1.0 + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + '@vue/compiler-sfc': 3.5.8 + ast-kit: 1.2.0 local-pkg: 0.5.0 magic-string-ast: 0.6.2 optionalDependencies: - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) transitivePeerDependencies: - rollup @@ -7446,39 +7233,39 @@ snapshots: '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 '@babel/parser': 7.25.6 - '@vue/compiler-sfc': 3.5.6 + '@vue/compiler-sfc': 3.5.8 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.6': + '@vue/compiler-core@3.5.8': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.8 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.6': + '@vue/compiler-dom@3.5.8': dependencies: - '@vue/compiler-core': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-core': 3.5.8 + '@vue/shared': 3.5.8 - '@vue/compiler-sfc@3.5.6': + '@vue/compiler-sfc@3.5.8': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.6 - '@vue/compiler-dom': 3.5.6 - '@vue/compiler-ssr': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-core': 3.5.8 + '@vue/compiler-dom': 3.5.8 + '@vue/compiler-ssr': 3.5.8 + '@vue/shared': 3.5.8 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.6': + '@vue/compiler-ssr@3.5.8': dependencies: - '@vue/compiler-dom': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-dom': 3.5.8 + '@vue/shared': 3.5.8 '@vue/compiler-vue2@2.7.16': dependencies: @@ -7487,15 +7274,15 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.4.4(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))': + '@vue/devtools-core@7.4.4(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))': dependencies: '@vue/devtools-kit': 7.4.4 '@vue/devtools-shared': 7.4.5 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - vue: 3.5.6(typescript@5.6.2) + vite-hot-client: 0.2.3(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + vue: 3.5.8(typescript@5.6.2) transitivePeerDependencies: - vite @@ -7516,9 +7303,9 @@ snapshots: '@vue/language-core@2.1.6(typescript@5.6.2)': dependencies: '@volar/language-core': 2.4.5 - '@vue/compiler-dom': 3.5.6 + '@vue/compiler-dom': 3.5.8 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.8 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -7526,45 +7313,45 @@ snapshots: optionalDependencies: typescript: 5.6.2 - '@vue/reactivity@3.5.6': + '@vue/reactivity@3.5.8': dependencies: - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.8 - '@vue/runtime-core@3.5.6': + '@vue/runtime-core@3.5.8': dependencies: - '@vue/reactivity': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/reactivity': 3.5.8 + '@vue/shared': 3.5.8 - '@vue/runtime-dom@3.5.6': + '@vue/runtime-dom@3.5.8': dependencies: - '@vue/reactivity': 3.5.6 - '@vue/runtime-core': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/reactivity': 3.5.8 + '@vue/runtime-core': 3.5.8 + '@vue/shared': 3.5.8 csstype: 3.1.3 - '@vue/server-renderer@3.5.6(vue@3.5.6(typescript@5.6.2))': + '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.5.6 - '@vue/shared': 3.5.6 - vue: 3.5.6(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.8 + '@vue/shared': 3.5.8 + vue: 3.5.8(typescript@5.6.2) - '@vue/shared@3.5.6': {} + '@vue/shared@3.5.8': {} - '@vueuse/core@11.1.0(vue@3.5.6(typescript@5.6.2))': + '@vueuse/core@11.1.0(vue@3.5.8(typescript@5.6.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.1.0 - '@vueuse/shared': 11.1.0(vue@3.5.6(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) + '@vueuse/shared': 11.1.0(vue@3.5.8(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.1.0(focus-trap@7.6.0)(vue@3.5.6(typescript@5.6.2))': + '@vueuse/integrations@11.1.0(focus-trap@7.6.0)(vue@3.5.8(typescript@5.6.2))': dependencies: - '@vueuse/core': 11.1.0(vue@3.5.6(typescript@5.6.2)) - '@vueuse/shared': 11.1.0(vue@3.5.6(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) + '@vueuse/core': 11.1.0(vue@3.5.8(typescript@5.6.2)) + '@vueuse/shared': 11.1.0(vue@3.5.8(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) optionalDependencies: focus-trap: 7.6.0 transitivePeerDependencies: @@ -7573,14 +7360,14 @@ snapshots: '@vueuse/metadata@11.1.0': {} - '@vueuse/nuxt@11.1.0(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@3.29.4)(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@vueuse/nuxt@11.1.0(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@3.29.5)(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@vueuse/core': 11.1.0(vue@3.5.6(typescript@5.6.2)) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@vueuse/core': 11.1.0(vue@3.5.8(typescript@5.6.2)) '@vueuse/metadata': 11.1.0 local-pkg: 0.5.0 - nuxt: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) - vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) + nuxt: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - magicast @@ -7589,25 +7376,9 @@ snapshots: - vue - webpack-sources - '@vueuse/nuxt@11.1.0(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@4.21.3)(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)': + '@vueuse/shared@11.1.0(vue@3.5.8(typescript@5.6.2))': dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@vueuse/core': 11.1.0(vue@3.5.6(typescript@5.6.2)) - '@vueuse/metadata': 11.1.0 - local-pkg: 0.5.0 - nuxt: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) - vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) - transitivePeerDependencies: - - '@vue/composition-api' - - magicast - - rollup - - supports-color - - vue - - webpack-sources - - '@vueuse/shared@11.1.0(vue@3.5.6(typescript@5.6.2))': - dependencies: - vue-demi: 0.14.10(vue@3.5.6(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7783,7 +7554,7 @@ snapshots: assertion-error@2.0.1: {} - ast-kit@1.1.0: + ast-kit@1.2.0: dependencies: '@babel/parser': 7.25.6 pathe: 1.1.2 @@ -7791,7 +7562,7 @@ snapshots: ast-walker-scope@0.6.2: dependencies: '@babel/parser': 7.25.6 - ast-kit: 1.1.0 + ast-kit: 1.2.0 async-sema@3.1.1: {} @@ -7800,7 +7571,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001660 + caniuse-lite: 1.0.30001662 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 @@ -7847,8 +7618,8 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.25 + caniuse-lite: 1.0.30001662 + electron-to-chromium: 1.5.27 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -7900,11 +7671,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001660 + caniuse-lite: 1.0.30001662 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001660: {} + caniuse-lite@1.0.30001662: {} ccount@2.0.1: {} @@ -7938,7 +7709,7 @@ snapshots: execa: 8.0.1 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.0 open: 9.1.0 pathe: 1.1.2 pkg-types: 1.2.0 @@ -7957,7 +7728,7 @@ snapshots: convert-gitmoji: 0.1.5 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.0 open: 10.1.0 pathe: 1.1.2 pkg-types: 1.2.0 @@ -8298,7 +8069,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.25: {} + electron-to-chromium@1.5.27: {} emoji-regex@8.0.0: {} @@ -8516,7 +8287,7 @@ snapshots: eslint: 9.11.0(jiti@1.21.6) espree: 10.1.0 esquery: 1.6.0 - parse-imports: 2.1.1 + parse-imports: 2.2.1 semver: 7.6.3 spdx-expression-parse: 4.0.0 synckit: 0.9.1 @@ -8633,9 +8404,9 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.6)(eslint@9.11.0(jiti@1.21.6)): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.8)(eslint@9.11.0(jiti@1.21.6)): dependencies: - '@vue/compiler-sfc': 3.5.6 + '@vue/compiler-sfc': 3.5.8 eslint: 9.11.0(jiti@1.21.6) eslint-scope@5.1.1: @@ -9083,9 +8854,9 @@ snapshots: transitivePeerDependencies: - supports-color - impound@0.1.0(rollup@3.29.4)(webpack-sources@3.2.3): + impound@0.1.0(rollup@3.29.5)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) mlly: 1.7.1 pathe: 1.1.2 unenv: 1.10.0 @@ -9094,9 +8865,9 @@ snapshots: - rollup - webpack-sources - impound@0.1.0(rollup@4.21.3)(webpack-sources@3.2.3): + impound@0.1.0(rollup@4.22.4)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) mlly: 1.7.1 pathe: 1.1.2 unenv: 1.10.0 @@ -9796,14 +9567,14 @@ snapshots: dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@netlify/functions': 2.8.1 - '@rollup/plugin-alias': 5.1.0(rollup@4.21.3) - '@rollup/plugin-commonjs': 25.0.8(rollup@4.21.3) - '@rollup/plugin-inject': 5.0.5(rollup@4.21.3) - '@rollup/plugin-json': 6.1.0(rollup@4.21.3) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.21.3) - '@rollup/plugin-replace': 5.0.7(rollup@4.21.3) - '@rollup/plugin-terser': 0.4.4(rollup@4.21.3) - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/plugin-alias': 5.1.0(rollup@4.22.4) + '@rollup/plugin-commonjs': 25.0.8(rollup@4.22.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.22.4) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.22.4) + '@rollup/plugin-replace': 5.0.7(rollup@4.22.4) + '@rollup/plugin-terser': 0.4.4(rollup@4.22.4) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.26.5(encoding@0.1.13) archiver: 7.0.1 @@ -9838,7 +9609,7 @@ snapshots: mlly: 1.7.1 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.0 ohash: 1.1.4 openapi-typescript: 6.7.6 pathe: 1.1.2 @@ -9846,8 +9617,8 @@ snapshots: pkg-types: 1.2.0 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.21.3 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.3) + rollup: 4.22.4 + rollup-plugin-visualizer: 5.12.0(rollup@4.22.4) scule: 1.3.0 semver: 7.6.3 serve-placeholder: 2.0.2 @@ -9857,7 +9628,7 @@ snapshots: uncrypto: 0.1.3 unctx: 2.3.1(webpack-sources@3.2.3) unenv: 1.10.0 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@4.22.4)(webpack-sources@3.2.3) unstorage: 1.12.0(ioredis@5.4.1) unwasm: 0.3.9(webpack-sources@3.2.3) transitivePeerDependencies: @@ -9936,59 +9707,19 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - nuxt-oidc-auth@0.14.2(@nuxt/devtools@1.5.0(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.6)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)): - dependencies: - '@nuxt/devtools-kit': 1.4.2(magicast@0.3.5)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(webpack-sources@3.2.3) - '@nuxt/devtools-ui-kit': 1.4.2(@nuxt/devtools@1.5.0(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.6)(magicast@0.3.5)(nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)) - consola: 3.2.3 - defu: 6.1.4 - h3: 1.12.0 - jose: 5.9.2 - ofetch: 1.3.4 - scule: 1.3.0 - sirv: 2.0.4 - ufo: 1.5.4 - uncrypto: 0.1.3 - transitivePeerDependencies: - - '@nuxt/devtools' - - '@unocss/webpack' - - '@vue/compiler-core' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - magicast - - nprogress - - nuxt - - postcss - - qrcode - - rollup - - sortablejs - - supports-color - - uWebSockets.js - - universal-cookie - - vite - - vue - - webpack - - webpack-sources - - nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3): + nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.4.2(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@3.29.4)(webpack-sources@3.2.3) - '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) - '@nuxt/vite-builder': 3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/devtools': 1.5.0(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@3.29.5)(webpack-sources@3.2.3) + '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) + '@nuxt/vite-builder': 3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) '@unhead/dom': 1.11.6 '@unhead/shared': 1.11.6 '@unhead/ssr': 1.11.6 - '@unhead/vue': 1.11.6(vue@3.5.6(typescript@5.6.2)) - '@vue/shared': 3.5.6 + '@unhead/vue': 1.11.6(vue@3.5.8(typescript@5.6.2)) + '@vue/shared': 3.5.8 acorn: 8.12.1 c12: 1.11.2(magicast@0.3.5) chokidar: 3.6.0 @@ -10006,7 +9737,7 @@ snapshots: h3: 1.12.0 hookable: 5.5.3 ignore: 5.3.2 - impound: 0.1.0(rollup@3.29.4)(webpack-sources@3.2.3) + impound: 0.1.0(rollup@3.29.5)(webpack-sources@3.2.3) jiti: 1.21.6 klona: 2.0.6 knitwork: 1.1.0 @@ -10016,7 +9747,7 @@ snapshots: nitropack: 2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3) nuxi: 3.13.2 nypm: 0.3.11 - ofetch: 1.3.4 + ofetch: 1.4.0 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -10033,15 +9764,15 @@ snapshots: unctx: 2.3.1(webpack-sources@3.2.3) unenv: 1.10.0 unhead: 1.11.6 - unimport: 3.12.0(rollup@3.29.4)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@3.29.5)(webpack-sources@3.2.3) unplugin: 1.14.1(webpack-sources@3.2.3) - unplugin-vue-router: 0.10.8(rollup@3.29.4)(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + unplugin-vue-router: 0.10.8(rollup@3.29.5)(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) unstorage: 1.12.0(ioredis@5.4.1) untyped: 1.4.2 - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) vue-bundle-renderer: 2.1.0 vue-devtools-stub: 0.1.0 - vue-router: 4.4.5(vue@3.5.6(typescript@5.6.2)) + vue-router: 4.4.5(vue@3.5.8(typescript@5.6.2)) optionalDependencies: '@parcel/watcher': 2.4.1 '@types/node': 22.5.5 @@ -10089,19 +9820,19 @@ snapshots: - webpack-sources - xml2js - nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3): + nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.5.5)(encoding@0.1.13)(eslint@9.11.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.4.2(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@nuxt/schema': 3.13.2(rollup@4.21.3)(webpack-sources@3.2.3) - '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) - '@nuxt/vite-builder': 3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.3)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/devtools': 1.5.0(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) + '@nuxt/schema': 3.13.2(rollup@4.22.4)(webpack-sources@3.2.3) + '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) + '@nuxt/vite-builder': 3.13.2(@types/node@22.5.5)(eslint@9.11.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) '@unhead/dom': 1.11.6 '@unhead/shared': 1.11.6 '@unhead/ssr': 1.11.6 - '@unhead/vue': 1.11.6(vue@3.5.6(typescript@5.6.2)) - '@vue/shared': 3.5.6 + '@unhead/vue': 1.11.6(vue@3.5.8(typescript@5.6.2)) + '@vue/shared': 3.5.8 acorn: 8.12.1 c12: 1.11.2(magicast@0.3.5) chokidar: 3.6.0 @@ -10119,7 +9850,7 @@ snapshots: h3: 1.12.0 hookable: 5.5.3 ignore: 5.3.2 - impound: 0.1.0(rollup@4.21.3)(webpack-sources@3.2.3) + impound: 0.1.0(rollup@4.22.4)(webpack-sources@3.2.3) jiti: 1.21.6 klona: 2.0.6 knitwork: 1.1.0 @@ -10129,7 +9860,7 @@ snapshots: nitropack: 2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3) nuxi: 3.13.2 nypm: 0.3.11 - ofetch: 1.3.4 + ofetch: 1.4.0 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -10146,15 +9877,15 @@ snapshots: unctx: 2.3.1(webpack-sources@3.2.3) unenv: 1.10.0 unhead: 1.11.6 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) + unimport: 3.12.0(rollup@4.22.4)(webpack-sources@3.2.3) unplugin: 1.14.1(webpack-sources@3.2.3) - unplugin-vue-router: 0.10.8(rollup@4.21.3)(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + unplugin-vue-router: 0.10.8(rollup@4.22.4)(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) unstorage: 1.12.0(ioredis@5.4.1) untyped: 1.4.2 - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) vue-bundle-renderer: 2.1.0 vue-devtools-stub: 0.1.0 - vue-router: 4.4.5(vue@3.5.6(typescript@5.6.2)) + vue-router: 4.4.5(vue@3.5.8(typescript@5.6.2)) optionalDependencies: '@parcel/watcher': 2.4.1 '@types/node': 22.5.5 @@ -10213,7 +9944,7 @@ snapshots: object-assign@4.1.1: {} - ofetch@1.3.4: + ofetch@1.4.0: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 @@ -10308,7 +10039,7 @@ snapshots: parse-gitignore@2.0.0: {} - parse-imports@2.1.1: + parse-imports@2.2.1: dependencies: es-module-lexer: 1.5.4 slashes: 3.0.12 @@ -10660,56 +10391,56 @@ snapshots: dependencies: glob: 7.2.3 - rollup-plugin-dts@6.1.1(rollup@3.29.4)(typescript@5.6.2): + rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.2): dependencies: magic-string: 0.30.11 - rollup: 3.29.4 + rollup: 3.29.5 typescript: 5.6.2 optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-visualizer@5.12.0(rollup@3.29.4): + rollup-plugin-visualizer@5.12.0(rollup@3.29.5): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 - rollup-plugin-visualizer@5.12.0(rollup@4.21.3): + rollup-plugin-visualizer@5.12.0(rollup@4.22.4): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.21.3 + rollup: 4.22.4 - rollup@3.29.4: + rollup@3.29.5: optionalDependencies: fsevents: 2.3.3 - rollup@4.21.3: + rollup@4.22.4: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.3 - '@rollup/rollup-android-arm64': 4.21.3 - '@rollup/rollup-darwin-arm64': 4.21.3 - '@rollup/rollup-darwin-x64': 4.21.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.3 - '@rollup/rollup-linux-arm-musleabihf': 4.21.3 - '@rollup/rollup-linux-arm64-gnu': 4.21.3 - '@rollup/rollup-linux-arm64-musl': 4.21.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.3 - '@rollup/rollup-linux-riscv64-gnu': 4.21.3 - '@rollup/rollup-linux-s390x-gnu': 4.21.3 - '@rollup/rollup-linux-x64-gnu': 4.21.3 - '@rollup/rollup-linux-x64-musl': 4.21.3 - '@rollup/rollup-win32-arm64-msvc': 4.21.3 - '@rollup/rollup-win32-ia32-msvc': 4.21.3 - '@rollup/rollup-win32-x64-msvc': 4.21.3 + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 fsevents: 2.3.3 run-applescript@5.0.0: @@ -10806,14 +10537,6 @@ snapshots: signal-exit@4.1.0: {} - simple-git@3.26.0: - dependencies: - '@kwsites/file-exists': 1.1.1 - '@kwsites/promise-deferred': 1.1.1 - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - simple-git@3.27.0: dependencies: '@kwsites/file-exists': 1.1.1 @@ -10824,7 +10547,7 @@ snapshots: sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.27 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 @@ -11111,12 +10834,12 @@ snapshots: unbuild@2.0.0(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)): dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) - '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.4) - '@rollup/plugin-json': 6.1.0(rollup@3.29.4) - '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) - '@rollup/plugin-replace': 5.0.7(rollup@3.29.4) - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/plugin-alias': 5.1.0(rollup@3.29.5) + '@rollup/plugin-commonjs': 25.0.8(rollup@3.29.5) + '@rollup/plugin-json': 6.1.0(rollup@3.29.5) + '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.5) + '@rollup/plugin-replace': 5.0.7(rollup@3.29.5) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -11131,8 +10854,8 @@ snapshots: pathe: 1.1.2 pkg-types: 1.2.0 pretty-bytes: 6.1.1 - rollup: 3.29.4 - rollup-plugin-dts: 6.1.1(rollup@3.29.4)(typescript@5.6.2) + rollup: 3.29.5 + rollup-plugin-dts: 6.1.1(rollup@3.29.5)(typescript@5.6.2) scule: 1.3.0 untyped: 1.4.2 optionalDependencies: @@ -11184,9 +10907,9 @@ snapshots: unicorn-magic@0.1.0: {} - unimport@3.12.0(rollup@3.29.4)(webpack-sources@3.2.3): + unimport@3.12.0(rollup@3.29.5)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) acorn: 8.12.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11203,9 +10926,9 @@ snapshots: - rollup - webpack-sources - unimport@3.12.0(rollup@4.21.3)(webpack-sources@3.2.3): + unimport@3.12.0(rollup@4.22.4)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) acorn: 8.12.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -11243,10 +10966,10 @@ snapshots: universalify@2.0.1: {} - unocss@0.62.4(@unocss/webpack@0.62.4(rollup@3.29.4)(webpack@5.94.0))(postcss@8.4.47)(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)): + unocss@0.62.4(@unocss/webpack@0.62.4(rollup@3.29.5)(webpack@5.94.0))(postcss@8.4.47)(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)): dependencies: - '@unocss/astro': 0.62.4(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - '@unocss/cli': 0.62.4(rollup@3.29.4) + '@unocss/astro': 0.62.4(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/cli': 0.62.4(rollup@3.29.5) '@unocss/core': 0.62.4 '@unocss/postcss': 0.62.4(postcss@8.4.47) '@unocss/preset-attributify': 0.62.4 @@ -11261,19 +10984,19 @@ snapshots: '@unocss/transformer-compile-class': 0.62.4 '@unocss/transformer-directives': 0.62.4 '@unocss/transformer-variant-group': 0.62.4 - '@unocss/vite': 0.62.4(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/vite': 0.62.4(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) optionalDependencies: - '@unocss/webpack': 0.62.4(rollup@3.29.4)(webpack@5.94.0) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + '@unocss/webpack': 0.62.4(rollup@3.29.5)(webpack@5.94.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - postcss - rollup - supports-color - unocss@0.62.4(@unocss/webpack@0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.47)(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)): + unocss@0.62.4(@unocss/webpack@0.62.4(rollup@4.22.4)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.47)(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)): dependencies: - '@unocss/astro': 0.62.4(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - '@unocss/cli': 0.62.4(rollup@4.21.3) + '@unocss/astro': 0.62.4(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/cli': 0.62.4(rollup@4.22.4) '@unocss/core': 0.62.4 '@unocss/postcss': 0.62.4(postcss@8.4.47) '@unocss/preset-attributify': 0.62.4 @@ -11288,20 +11011,20 @@ snapshots: '@unocss/transformer-compile-class': 0.62.4 '@unocss/transformer-directives': 0.62.4 '@unocss/transformer-variant-group': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@unocss/vite': 0.62.4(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) optionalDependencies: - '@unocss/webpack': 0.62.4(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)) - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + '@unocss/webpack': 0.62.4(rollup@4.22.4)(webpack@5.94.0(esbuild@0.23.1)) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - postcss - rollup - supports-color - unplugin-vue-router@0.10.8(rollup@3.29.4)(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3): + unplugin-vue-router@0.10.8(rollup@3.29.5)(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3): dependencies: '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue-macros/common': 1.14.0(rollup@3.29.4)(vue@3.5.6(typescript@5.6.2)) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) + '@vue-macros/common': 1.14.0(rollup@3.29.5)(vue@3.5.8(typescript@5.6.2)) ast-walker-scope: 0.6.2 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -11314,17 +11037,17 @@ snapshots: unplugin: 1.14.1(webpack-sources@3.2.3) yaml: 2.5.1 optionalDependencies: - vue-router: 4.4.5(vue@3.5.6(typescript@5.6.2)) + vue-router: 4.4.5(vue@3.5.8(typescript@5.6.2)) transitivePeerDependencies: - rollup - vue - webpack-sources - unplugin-vue-router@0.10.8(rollup@4.21.3)(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3): + unplugin-vue-router@0.10.8(rollup@4.22.4)(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3): dependencies: '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@vue-macros/common': 1.14.0(rollup@4.21.3)(vue@3.5.6(typescript@5.6.2)) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + '@vue-macros/common': 1.14.0(rollup@4.22.4)(vue@3.5.8(typescript@5.6.2)) ast-walker-scope: 0.6.2 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -11337,7 +11060,7 @@ snapshots: unplugin: 1.14.1(webpack-sources@3.2.3) yaml: 2.5.1 optionalDependencies: - vue-router: 4.4.5(vue@3.5.6(typescript@5.6.2)) + vue-router: 4.4.5(vue@3.5.8(typescript@5.6.2)) transitivePeerDependencies: - rollup - vue @@ -11360,7 +11083,7 @@ snapshots: lru-cache: 10.4.3 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4 + ofetch: 1.4.0 ufo: 1.5.4 optionalDependencies: ioredis: 5.4.1 @@ -11414,25 +11137,25 @@ snapshots: util-deprecate@1.0.2: {} - v-lazy-show@0.2.4(@vue/compiler-core@3.5.6): + v-lazy-show@0.2.4(@vue/compiler-core@3.5.8): dependencies: - '@vue/compiler-core': 3.5.6 + '@vue/compiler-core': 3.5.8 validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-hot-client@0.2.3(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)): + vite-hot-client@0.2.3(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)): dependencies: - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) vite-node@2.1.1(@types/node@22.5.5)(terser@5.33.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - '@types/node' - less @@ -11444,7 +11167,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.8.0(eslint@9.11.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2)): + vite-plugin-checker@0.8.0(eslint@9.11.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vue-tsc@2.1.6(typescript@5.6.2)): dependencies: '@babel/code-frame': 7.24.7 ansi-escapes: 4.3.2 @@ -11456,7 +11179,7 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.12 @@ -11467,10 +11190,10 @@ snapshots: typescript: 5.6.2 vue-tsc: 2.1.6(typescript@5.6.2) - vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)): + vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) debug: 4.3.7 error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 @@ -11478,17 +11201,17 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.0 sirv: 2.0.4 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) optionalDependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.4)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@3.29.5)(webpack-sources@3.2.3) transitivePeerDependencies: - rollup - supports-color - vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3))(rollup@4.21.3)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)): + vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3))(rollup@4.22.4)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) debug: 4.3.7 error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 @@ -11496,14 +11219,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.0 sirv: 2.0.4 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) optionalDependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.21.3)(webpack-sources@3.2.3) + '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4)(webpack-sources@3.2.3) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@5.2.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)): + vite-plugin-vue-inspector@5.2.0(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)): dependencies: '@babel/core': 7.25.2 '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) @@ -11511,26 +11234,26 @@ snapshots: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2) - '@vue/compiler-dom': 3.5.6 + '@vue/compiler-dom': 3.5.8 kolorist: 1.8.0 magic-string: 0.30.11 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) transitivePeerDependencies: - supports-color - vite@5.4.6(@types/node@22.5.5)(terser@5.33.0): + vite@5.4.7(@types/node@22.5.5)(terser@5.33.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 - rollup: 4.21.3 + rollup: 4.22.4 optionalDependencies: '@types/node': 22.5.5 fsevents: 2.3.3 terser: 5.33.0 - vitest-environment-nuxt@1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3): + vitest-environment-nuxt@1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3): dependencies: - '@nuxt/test-utils': 3.14.2(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.4)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)))(vue@3.5.6(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/test-utils': 3.14.2(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(encoding@0.1.13)(magicast@0.3.5)(webpack-sources@3.2.3))(rollup@3.29.5)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0))(vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0))(vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)))(vue@3.5.8(typescript@5.6.2))(webpack-sources@3.2.3) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -11555,7 +11278,7 @@ snapshots: vitest@2.1.1(@types/node@22.5.5)(terser@5.33.0): dependencies: '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.7(@types/node@22.5.5)(terser@5.33.0)) '@vitest/pretty-format': 2.1.1 '@vitest/runner': 2.1.1 '@vitest/snapshot': 2.1.1 @@ -11570,7 +11293,7 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.6(@types/node@22.5.5)(terser@5.33.0) + vite: 5.4.7(@types/node@22.5.5)(terser@5.33.0) vite-node: 2.1.1(@types/node@22.5.5)(terser@5.33.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -11613,9 +11336,9 @@ snapshots: dependencies: ufo: 1.5.4 - vue-demi@0.14.10(vue@3.5.6(typescript@5.6.2)): + vue-demi@0.14.10(vue@3.5.8(typescript@5.6.2)): dependencies: - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) vue-devtools-stub@0.1.0: {} @@ -11632,10 +11355,10 @@ snapshots: transitivePeerDependencies: - supports-color - vue-router@4.4.5(vue@3.5.6(typescript@5.6.2)): + vue-router@4.4.5(vue@3.5.8(typescript@5.6.2)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.6(typescript@5.6.2) + vue: 3.5.8(typescript@5.6.2) vue-tsc@2.1.6(typescript@5.6.2): dependencies: @@ -11644,13 +11367,13 @@ snapshots: semver: 7.6.3 typescript: 5.6.2 - vue@3.5.6(typescript@5.6.2): + vue@3.5.8(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.5.6 - '@vue/compiler-sfc': 3.5.6 - '@vue/runtime-dom': 3.5.6 - '@vue/server-renderer': 3.5.6(vue@3.5.6(typescript@5.6.2)) - '@vue/shared': 3.5.6 + '@vue/compiler-dom': 3.5.8 + '@vue/compiler-sfc': 3.5.8 + '@vue/runtime-dom': 3.5.8 + '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.6.2)) + '@vue/shared': 3.5.8 optionalDependencies: typescript: 5.6.2 diff --git a/src/module.ts b/src/module.ts index 3d1d669..2dfea2f 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,6 +1,5 @@ -import type { OidcProviderConfig, ProviderConfigs, ProviderKeys } from './runtime/types/oidc' -import type { AuthSessionConfig } from './runtime/types/session' -import type { ProviderInfo } from './types' +import type { OidcProviderConfig } from './runtime/server/utils/provider' +import type { AuthSessionConfig, DevModeConfig, MiddlewareConfig, ProviderConfigs, ProviderKeys } from './runtime/types' import { extendServerRpc, onDevToolsInitialized } from '@nuxt/devtools-kit' import { addImportsDir, addPlugin, addRouteMiddleware, addServerHandler, addServerPlugin, createResolver, defineNuxtModule, extendRouteRules, useLogger } from '@nuxt/kit' import { defu } from 'defu' @@ -10,116 +9,13 @@ import { generateProviderUrl } from './runtime/server/utils/config' const RPC_NAMESPACE = 'nuxt-oidc-auth-rpc' -export interface ServerFunctions { +interface ServerFunctions { getNuxtOidcAuthSecrets: () => Record<'tokenKey' | 'sessionSecret' | 'authSessionSecret', string> } -export interface ClientFunctions { - showNotification: (message: string) => void -} - -export interface MiddlewareConfig { - /** - * Enables/disables the global middleware - * @default true - */ - globalMiddlewareEnabled?: boolean - /** - * Enables/disables automatic registration of '/auth/login' and '/auth/logout' route rules - * @default false - */ - customLoginPage?: boolean -} - -export interface DevModeConfig { - /** - * Enables/disables the dev mode. Dev mode can only be enabled when the app runs in a non production environment. - * @default false - */ - enabled?: boolean - /** - * Sets the `userName` field on the user object - * @default 'Nuxt OIDC Auth Dev' - */ - userName?: string - /** - * Sets the `providerInfo` field on the user object - */ - providerInfo?: ProviderInfo - /** - * Sets the key algorithm for signing the generated JWT token - */ - tokenAlgorithm?: 'symmetric' | 'asymmetric' - /** - * Sets the `idToken` field on the user object - */ - idToken?: string - /** - * Sets the `accessToken` field on the user object - */ - accessToken?: string - /** - * Sets the claims field on the user object and generated JWT token if `generateAccessToken` is set to `true`. - */ - claims?: Record - /** - * If set generates a JWT token for the access_token field based on the given user information - * @default false - */ - generateAccessToken?: boolean - /** - * Only used with `generateAccessToken`. Sets the issuer field on the generated JWT token. - * @default 'nuxt:oidc:auth:issuer - */ - issuer?: string - /** - * Only used with `generateAccessToken`. Sets the audience field on the generated JWT token. - * @default 'nuxt:oidc:auth:audience - */ - audience?: string - /** - * Only used with `generateAccessToken`. Sets the subject field on the generated JWT token. - * @default 'nuxt:oidc:auth:subject - */ - subject?: string -} +interface ClientFunctions {} -export interface ModuleOptions { - /** - * Enable module - */ - enabled: boolean - /** - * Enable Nuxt devtools integration - * @default true - */ - devtools?: boolean - /** - * Default provider. Will be used with composable if no provider is specified - */ - defaultProvider?: ProviderKeys - /** - * OIDC providers - */ - providers: Partial - /** - * Optional session configuration. - */ - session: AuthSessionConfig - /** - * Middleware configuration - */ - middleware: MiddlewareConfig - /** - * Dev mode configuration - */ - devMode?: DevModeConfig - /** - * Provide defaults for NUXT_OIDC_SESSION_SECRET, NUXT_OIDC_TOKEN_KEY and NUXT_OIDC_AUTH_SESSION_SECRET using a Nitro plugin. Turning this off can lead to the app not working if no secrets are provided. - * @default true - */ - provideDefaultSecrets?: boolean -} +const { resolve } = createResolver(import.meta.url) declare module '@nuxt/schema' { interface RuntimeConfig { @@ -127,7 +23,25 @@ declare module '@nuxt/schema' { } } -const { resolve } = createResolver(import.meta.url) +const DEFAULTS: ModuleOptions = { + enabled: true, + session: { + automaticRefresh: true, + expirationCheck: true, + maxAge: 60 * 60 * 24, // 1 day + cookie: { + sameSite: 'lax', + secure: process.env.NODE_ENV === 'production', + }, + }, + providers: {} as ProviderConfigs, + middleware: { + globalMiddlewareEnabled: true, + customLoginPage: false, + }, + provideDefaultSecrets: true, + devtools: true, +} export default defineNuxtModule({ meta: { @@ -138,25 +52,7 @@ export default defineNuxtModule({ bridge: false, }, }, - defaults: { - enabled: true, - session: { - automaticRefresh: true, - expirationCheck: true, - maxAge: 60 * 60 * 24, // 1 day - cookie: { - sameSite: 'lax', - secure: process.env.NODE_ENV === 'production', - }, - }, - providers: {} as ProviderConfigs, - middleware: { - globalMiddlewareEnabled: true, - customLoginPage: false, - }, - provideDefaultSecrets: true, - devtools: true, - }, + defaults: DEFAULTS, setup(options, nuxt) { const logger = useLogger('nuxt-oidc-auth') if (!options.enabled) @@ -336,3 +232,40 @@ export default defineNuxtModule({ ) }, }) + +export interface ModuleOptions { + /** + * Enable module + */ + enabled: boolean + /** + * Enable Nuxt devtools integration + * @default true + */ + devtools?: boolean + /** + * Default provider. Will be used with composable if no provider is specified + */ + defaultProvider?: ProviderKeys + /** + * OIDC providers + */ + providers: Partial + /** + * Optional session configuration. + */ + session: AuthSessionConfig + /** + * Middleware configuration + */ + middleware: MiddlewareConfig + /** + * Dev mode configuration + */ + devMode?: DevModeConfig + /** + * Provide defaults for NUXT_OIDC_SESSION_SECRET, NUXT_OIDC_TOKEN_KEY and NUXT_OIDC_AUTH_SESSION_SECRET using a Nitro plugin. Turning this off can lead to the app not working if no secrets are provided. + * @default true + */ + provideDefaultSecrets?: boolean +} diff --git a/src/runtime/composables/oidcAuth.ts b/src/runtime/composables/oidcAuth.ts index 994492b..41c198d 100644 --- a/src/runtime/composables/oidcAuth.ts +++ b/src/runtime/composables/oidcAuth.ts @@ -1,6 +1,5 @@ import type { ComputedRef, Ref } from '#imports' -import type { ProviderKeys } from '../types/oidc' -import type { UserSession } from '../types/session' +import type { ProviderKeys, UserSession } from '../types' import { computed, navigateTo, useRequestFetch, useState } from '#imports' const useSessionState = () => useState('nuxt-oidc-auth-session', undefined) diff --git a/src/runtime/middleware/oidcAuth.ts b/src/runtime/middleware/oidcAuth.ts index 972affa..28f9112 100644 --- a/src/runtime/middleware/oidcAuth.ts +++ b/src/runtime/middleware/oidcAuth.ts @@ -8,10 +8,9 @@ export default defineNuxtRouteMiddleware(async (to: RouteLocationNormalized) => if (isErrorPage) { return } - const { loggedIn, login } = useOidcAuth() - if (loggedIn.value === true || to.path.startsWith('/auth')) { + if (loggedIn.value === true || to.path.startsWith('/auth/')) { return } await login() diff --git a/src/runtime/providers/apple.ts b/src/runtime/providers/apple.ts index 720b1e0..3d13165 100644 --- a/src/runtime/providers/apple.ts +++ b/src/runtime/providers/apple.ts @@ -1,5 +1,5 @@ -import type { OidcProviderConfig } from '../types/oidc' -import { defineOidcProvider } from './provider' +import type { OidcProviderConfig } from '../server/utils/provider' +import { defineOidcProvider } from '../server/utils/provider' type AppleRequiredFields = 'clientId' | 'clientSecret' | 'authorizationUrl' | 'tokenUrl' | 'redirectUri' diff --git a/src/runtime/providers/auth0.ts b/src/runtime/providers/auth0.ts index 2672505..6afb5cc 100644 --- a/src/runtime/providers/auth0.ts +++ b/src/runtime/providers/auth0.ts @@ -1,6 +1,6 @@ import { ofetch } from 'ofetch' import { normalizeURL, withHttps, withoutTrailingSlash } from 'ufo' -import { defineOidcProvider } from './provider' +import { defineOidcProvider } from '../server/utils/provider' interface Auth0ProviderConfig { connection?: string diff --git a/src/runtime/providers/entra.ts b/src/runtime/providers/entra.ts index a55e096..0839853 100644 --- a/src/runtime/providers/entra.ts +++ b/src/runtime/providers/entra.ts @@ -1,6 +1,6 @@ import { ofetch } from 'ofetch' import { parseURL } from 'ufo' -import { defineOidcProvider } from './provider' +import { defineOidcProvider } from '../server/utils/provider' type EntraIdRequiredFields = 'clientId' | 'clientSecret' | 'authorizationUrl' | 'tokenUrl' | 'redirectUri' diff --git a/src/runtime/providers/github.ts b/src/runtime/providers/github.ts index cfb797b..74904ac 100644 --- a/src/runtime/providers/github.ts +++ b/src/runtime/providers/github.ts @@ -1,5 +1,5 @@ -import type { OidcProviderConfig } from '../types/oidc' -import { defineOidcProvider } from './provider' +import type { OidcProviderConfig } from '../server/utils/provider' +import { defineOidcProvider } from '../server/utils/provider' type GithubRequiredFields = 'clientId' | 'clientSecret' | 'redirectUri' diff --git a/src/runtime/providers/index.ts b/src/runtime/providers/index.ts index 41f952a..c2998c6 100644 --- a/src/runtime/providers/index.ts +++ b/src/runtime/providers/index.ts @@ -1,5 +1,6 @@ -export { auth0 } from './auth0' -export { entra } from './entra' -export { github } from './github' -export { keycloak } from './keycloak' -export { oidc } from './oidc' +export { apple } from './apple.js' +export { auth0 } from './auth0.js' +export { entra } from './entra.js' +export { github } from './github.js' +export { keycloak } from './keycloak.js' +export { oidc } from './oidc.js' diff --git a/src/runtime/providers/keycloak.ts b/src/runtime/providers/keycloak.ts index be33fe1..fa6cc2c 100644 --- a/src/runtime/providers/keycloak.ts +++ b/src/runtime/providers/keycloak.ts @@ -1,6 +1,6 @@ import { ofetch } from 'ofetch' import { generateProviderUrl } from '../server/utils/config' -import { defineOidcProvider } from './provider' +import { defineOidcProvider } from '../server/utils/provider' type KeycloakRequiredFields = 'baseUrl' | 'clientId' | 'clientSecret' | 'redirectUri' diff --git a/src/runtime/providers/oidc.ts b/src/runtime/providers/oidc.ts index 2674e4b..183d3ef 100644 --- a/src/runtime/providers/oidc.ts +++ b/src/runtime/providers/oidc.ts @@ -1,5 +1,5 @@ -import type { OidcProviderConfig } from '../types/oidc' -import { defineOidcProvider } from './provider' +import type { OidcProviderConfig } from '../server/utils/provider' +import { defineOidcProvider } from '../server/utils/provider' type OidcRequiredFields = 'clientId' | 'clientSecret' | 'authorizationUrl' | 'tokenUrl' | 'redirectUri' diff --git a/src/runtime/providers/provider.ts b/src/runtime/providers/provider.ts deleted file mode 100644 index 5cc7536..0000000 --- a/src/runtime/providers/provider.ts +++ /dev/null @@ -1,47 +0,0 @@ -import type { OidcProviderConfig } from '../types/oidc' -import { createDefu } from 'defu' - -type MakePropertiesRequired = T & Required> - -// Cannot import from utils here, otherwise Nuxt will throw '[worker reload] [worker init] Cannot access 'configMerger' before initialization' -const configMerger = createDefu((obj, key, value) => { - if (Array.isArray(obj[key]) && Array.isArray(value)) { - obj[key] = key === 'requiredProperties' ? Array.from(new Set(obj[key].concat(value))) : value as any - return true - } -}) - -export function defineOidcProvider(config: Partial & { additionalAuthParameters?: TConfig; additionalTokenParameters?: TConfig } = {} as any) { - const defaults: Partial = { - clientId: '', - redirectUri: '', - clientSecret: '', - authorizationUrl: '', - tokenUrl: '', - responseType: 'code', - authenticationScheme: 'header', - grantType: 'authorization_code', - pkce: false, - state: true, - nonce: false, - scope: ['openid'], - scopeInTokenRequest: false, - tokenRequestType: 'form', - requiredProperties: [ - 'clientId', - 'redirectUri', - 'clientSecret', - 'authorizationUrl', - 'tokenUrl', - ], - validateAccessToken: true, - validateIdToken: true, - exposeAccessToken: false, - exposeIdToken: false, - callbackRedirectUrl: '/', - allowedClientAuthParameters: [], - logoutUrl: '', - } - const mergedConfig = configMerger(config, defaults) - return mergedConfig as MakePropertiesRequired, TRequired> -} diff --git a/src/runtime/server/handler/callback.ts b/src/runtime/server/handler/callback.ts index e3e494c..934e325 100644 --- a/src/runtime/server/handler/callback.ts +++ b/src/runtime/server/handler/callback.ts @@ -1,4 +1,4 @@ -import type { UserSession } from '../../types/session' +import type { UserSession } from '../../types' import { sendRedirect } from 'h3' import { callbackEventHandler } from '../lib/oidc' import { setUserSession } from '../utils/session' diff --git a/src/runtime/server/handler/dev.ts b/src/runtime/server/handler/dev.ts index ea88553..d3e430a 100644 --- a/src/runtime/server/handler/dev.ts +++ b/src/runtime/server/handler/dev.ts @@ -1,4 +1,4 @@ -import type { UserSession } from '../../types/session' +import type { UserSession } from '../../types' import { sendRedirect } from 'h3' import { devEventHandler } from '../lib/oidc' import { setUserSession } from '../utils/session' diff --git a/src/runtime/server/lib/oidc.ts b/src/runtime/server/lib/oidc.ts index 142a91b..bd25724 100644 --- a/src/runtime/server/lib/oidc.ts +++ b/src/runtime/server/lib/oidc.ts @@ -1,7 +1,6 @@ import type { H3Event } from 'h3' -import type { OAuthConfig } from '../../types/config' -import type { AuthorizationRequest, AuthSession, OidcProviderConfig, PersistentSession, PkceAuthorizationRequest, ProviderKeys, TokenRequest, TokenRespose } from '../../types/oidc' -import type { Tokens, UserSession } from '../../types/session' +import type { AuthorizationRequest, AuthSession, OAuthConfig, PersistentSession, PkceAuthorizationRequest, ProviderKeys, TokenRequest, TokenRespose, Tokens, UserSession } from '../../types' +import type { OidcProviderConfig } from '../utils/provider' import { deleteCookie, eventHandler, getQuery, getRequestHeader, getRequestURL, readBody, sendRedirect, useSession } from 'h3' import { SignJWT } from 'jose' import { ofetch } from 'ofetch' diff --git a/src/runtime/server/utils/oidc.ts b/src/runtime/server/utils/oidc.ts index c54b4a3..54ce2fb 100644 --- a/src/runtime/server/utils/oidc.ts +++ b/src/runtime/server/utils/oidc.ts @@ -1,6 +1,6 @@ import type { H3Event } from 'h3' -import type { OidcProviderConfig, RefreshTokenRequest, TokenRequest, TokenRespose } from '../../types/oidc' -import type { UserSession } from '../../types/session' +import type { RefreshTokenRequest, TokenRequest, TokenRespose, UserSession } from '../../types' +import type { OidcProviderConfig } from './provider' import { createConsola } from 'consola' import { createDefu } from 'defu' import { createError } from 'h3' @@ -22,7 +22,6 @@ export const configMerger = createDefu((obj, key, value) => { }) export async function refreshAccessToken(refreshToken: string, config: OidcProviderConfig) { - const logger = useOidcLogger() // Construct request header object const headers: HeadersInit = {} @@ -40,7 +39,6 @@ export async function refreshAccessToken(refreshToken: string, config: OidcProvi ...(config.scopeInTokenRequest && config.scope) && { scope: config.scope.join(' ') }, ...(config.authenticationScheme === 'body') && { client_secret: normalizeURL(config.clientSecret) }, } - // Make refresh token request let tokenResponse: TokenRespose try { @@ -54,19 +52,18 @@ export async function refreshAccessToken(refreshToken: string, config: OidcProvi ) } catch (error: any) { - logger.error(error?.data ?? error) // Log ofetch error data to console - throw new Error('Failed to refresh token') + throw new Error(error?.data ?? error) } // Construct tokens object const tokens: Record<'refreshToken' | 'accessToken', string> = { - refreshToken: tokenResponse.refresh_token as string, + refreshToken: tokenResponse.refresh_token || refreshToken, accessToken: tokenResponse.access_token, } // Construct user object const user: UserSession = { - canRefresh: !!tokenResponse.refresh_token, + canRefresh: !!tokens.refreshToken, updatedAt: Math.trunc(Date.now() / 1000), // Use seconds instead of milliseconds to align wih JWT expireAt: parseJwtToken(tokenResponse.access_token).exp || Math.trunc(Date.now() / 1000) + 3600, // Fallback 60 min } diff --git a/src/runtime/types/oidc.ts b/src/runtime/server/utils/provider.ts similarity index 75% rename from src/runtime/types/oidc.ts rename to src/runtime/server/utils/provider.ts index 7a54eaa..f6b2efe 100644 --- a/src/runtime/types/oidc.ts +++ b/src/runtime/server/utils/provider.ts @@ -1,9 +1,6 @@ -import type { SearchParameters } from 'ofetch' -import type * as _PROVIDERS from '../providers' -import type { EncryptedToken } from '../server/utils/security' +import { createDefu } from 'defu' -export type ProviderKeys = keyof typeof _PROVIDERS -export type ProviderConfigs = typeof _PROVIDERS +type MakePropertiesRequired = T & Required> type PossibleCombinations = T extends any ? (T | `${T} ${PossibleCombinations>}`) : never @@ -176,66 +173,45 @@ export interface OidcProviderConfig { allowedClientAuthParameters?: string[] } -export interface AuthSession { - state: string - nonce: string - codeVerifier: string - redirect: string -} - -export interface PersistentSession { - exp: number - iat: number - accessToken: EncryptedToken - refreshToken: EncryptedToken -} - -export interface TokenRequest { - client_id: string - code: string - grant_type: string - redirect_uri?: string - scope?: string - state?: string - code_verifier?: string - client_secret?: string -} - -export interface TokenRespose { - access_token: string - token_type: string - expires_in: string - refresh_token?: string - id_token?: string -} - -export interface RefreshTokenRequest { - client_id: string - grant_type: 'refresh_token' - refresh_token: string - scope?: string - client_secret?: string - redirect_uri?: string -} - -export interface AuthorizationRequest extends SearchParameters { - client_id: string - response_type: 'code' | 'code token' | 'code id_token' | 'id_token token' | 'code id_token token' - scope?: string - prompt?: string - response_mode?: 'query' | 'fragment' | 'form_post' | string - redirect_uri?: string - state?: string - nonce?: string -} - -export interface PkceAuthorizationRequest extends AuthorizationRequest { - code_challenge: string - code_challenge_method: string -} +// Cannot import from utils here, otherwise Nuxt will throw '[worker reload] [worker init] Cannot access 'configMerger' before initialization' +const configMerger = createDefu((obj, key, value) => { + if (Array.isArray(obj[key]) && Array.isArray(value)) { + obj[key] = key === 'requiredProperties' ? Array.from(new Set(obj[key].concat(value))) : value as any + return true + } +}) -export interface AuthorizationResponse { - code: string - state?: string - id_token?: string +export function defineOidcProvider(config: Partial & { additionalAuthParameters?: TConfig; additionalTokenParameters?: TConfig } = {} as any) { + const defaults: Partial = { + clientId: '', + redirectUri: '', + clientSecret: '', + authorizationUrl: '', + tokenUrl: '', + responseType: 'code', + authenticationScheme: 'header', + grantType: 'authorization_code', + pkce: false, + state: true, + nonce: false, + scope: ['openid'], + scopeInTokenRequest: false, + tokenRequestType: 'form', + requiredProperties: [ + 'clientId', + 'redirectUri', + 'clientSecret', + 'authorizationUrl', + 'tokenUrl', + ], + validateAccessToken: true, + validateIdToken: true, + exposeAccessToken: false, + exposeIdToken: false, + callbackRedirectUrl: '/', + allowedClientAuthParameters: [], + logoutUrl: '', + } + const mergedConfig = configMerger(config, defaults) + return mergedConfig as MakePropertiesRequired, TRequired> } diff --git a/src/runtime/server/utils/session.ts b/src/runtime/server/utils/session.ts index f827e31..301591c 100644 --- a/src/runtime/server/utils/session.ts +++ b/src/runtime/server/utils/session.ts @@ -1,6 +1,6 @@ import type { H3Event, SessionConfig } from 'h3' -import type { OidcProviderConfig, PersistentSession, ProviderKeys } from '../../types/oidc' -import type { AuthSessionConfig, UserSession } from '../../types/session' +import type { AuthSessionConfig, PersistentSession, ProviderKeys, UserSession } from '../../types' +import type { OidcProviderConfig } from './provider' import { defu } from 'defu' import { createError, deleteCookie, useSession } from 'h3' import { createHooks } from 'hookable' @@ -56,6 +56,7 @@ export async function clearUserSession(event: H3Event) { } export async function refreshUserSession(event: H3Event) { + const logger = useOidcLogger() const session = await _useSession(event) const persistentSession = await useStorage('oidc').getItem(session.id as string) as PersistentSession | null @@ -74,7 +75,17 @@ export async function refreshUserSession(event: H3Event) { const provider = session.data.provider as ProviderKeys const config = configMerger(useRuntimeConfig().oidc.providers[provider] as OidcProviderConfig, providerPresets[provider]) - const { user, tokens, expiresIn } = await refreshAccessToken(refreshToken, config as OidcProviderConfig) + + let tokenRefreshResponse + try { + tokenRefreshResponse = await refreshAccessToken(refreshToken, config as OidcProviderConfig) + } + catch (error) { + logger.error(error) + await clearUserSession(event) + } + + const { user, tokens, expiresIn } = tokenRefreshResponse! // Replace the session storage const accessToken = parseJwtToken(tokens.accessToken, providerPresets[provider].skipAccessTokenParsing) diff --git a/src/runtime/types.ts b/src/runtime/types.ts new file mode 100644 index 0000000..59f1f67 --- /dev/null +++ b/src/runtime/types.ts @@ -0,0 +1,219 @@ +import type { H3Event } from 'h3' + +import type { SearchParameters } from 'ofetch' +import type * as _PROVIDERS from './providers' + +import type { EncryptedToken, JwtPayload } from './server/utils/security' + +export type ProviderKeys = 'apple' | 'auth0' | 'entra' | 'github' | 'keycloak' | 'oidc' +export type ProviderKeysWithDev = ProviderKeys | 'dev' + +type Auth0Provider = typeof _PROVIDERS.auth0 +type AppleProvider = typeof _PROVIDERS.apple +type EntraProvider = typeof _PROVIDERS.entra +type GithubProvider = typeof _PROVIDERS.github +type KeycloakProvider = typeof _PROVIDERS.keycloak +type OidcProvider = typeof _PROVIDERS.oidc + +export interface ProviderConfigs { + auth0: Auth0Provider + apple: AppleProvider + entra: EntraProvider + github: GithubProvider + keycloak: KeycloakProvider + oidc: OidcProvider +} + +export interface OAuthConfig { + onSuccess: ( + event: H3Event, + result: { user: UserSession | null; callbackRedirectUrl?: string } + ) => Promise | void +} + +export interface MiddlewareConfig { + /** + * Enables/disables the global middleware + * @default true + */ + globalMiddlewareEnabled?: boolean + /** + * Enables/disables automatic registration of '/auth/login' and '/auth/logout' route rules + * @default false + */ + customLoginPage?: boolean +} + +export interface DevModeConfig { + /** + * Enables/disables the dev mode. Dev mode can only be enabled when the app runs in a non production environment. + * @default false + */ + enabled?: boolean + /** + * Sets the `userName` field on the user object + * @default 'Nuxt OIDC Auth Dev' + */ + userName?: string + /** + * Sets the `providerInfo` field on the user object + */ + providerInfo?: Record + /** + * Sets the key algorithm for signing the generated JWT token + */ + tokenAlgorithm?: 'symmetric' | 'asymmetric' + /** + * Sets the `idToken` field on the user object + */ + idToken?: string + /** + * Sets the `accessToken` field on the user object + */ + accessToken?: string + /** + * Sets the claims field on the user object and generated JWT token if `generateAccessToken` is set to `true`. + */ + claims?: Record + /** + * If set generates a JWT token for the access_token field based on the given user information + * @default false + */ + generateAccessToken?: boolean + /** + * Only used with `generateAccessToken`. Sets the issuer field on the generated JWT token. + * @default 'nuxt:oidc:auth:issuer + */ + issuer?: string + /** + * Only used with `generateAccessToken`. Sets the audience field on the generated JWT token. + * @default 'nuxt:oidc:auth:audience + */ + audience?: string + /** + * Only used with `generateAccessToken`. Sets the subject field on the generated JWT token. + * @default 'nuxt:oidc:auth:subject + */ + subject?: string +} + +export interface AuthSession { + state: string + nonce: string + codeVerifier: string + redirect: string +} + +export interface PersistentSession { + exp: number + iat: number + accessToken: EncryptedToken + refreshToken: EncryptedToken +} + +export interface TokenRequest { + client_id: string + code: string + grant_type: string + redirect_uri?: string + scope?: string + state?: string + code_verifier?: string + client_secret?: string +} + +export interface TokenRespose { + access_token: string + token_type: string + expires_in: string + refresh_token?: string + id_token?: string +} + +export interface RefreshTokenRequest { + client_id: string + grant_type: 'refresh_token' + refresh_token: string + scope?: string + client_secret?: string + redirect_uri?: string +} + +export interface AuthorizationRequest extends SearchParameters { + client_id: string + response_type: 'code' | 'code token' | 'code id_token' | 'id_token token' | 'code id_token token' + scope?: string + prompt?: string + response_mode?: 'query' | 'fragment' | 'form_post' | string + redirect_uri?: string + state?: string + nonce?: string +} + +export interface PkceAuthorizationRequest extends AuthorizationRequest { + code_challenge: string + code_challenge_method: string +} + +export interface AuthorizationResponse { + code: string + state?: string + id_token?: string +} + +export interface UserSession { + provider?: ProviderKeysWithDev + canRefresh: boolean + loggedInAt?: number + expireAt: number + updatedAt?: number + providerInfo?: Record + userName?: string + claims?: Record + accessToken?: string + idToken?: string +} + +export interface Tokens { + accessToken: JwtPayload + idToken?: JwtPayload + refreshToken?: string +} + +export interface AuthSessionConfig { + /** + * Automatically refresh access token and session if refresh token is available (indicated by 'canRefresh' property on user object) + * @default false + */ + automaticRefresh?: boolean + /** + * Check if session is expired based on access token exp + * @default true + */ + expirationCheck?: boolean + /** + * Amount of seconds before access token expiration to trigger automatic refresh + * @default 0 + */ + expirationThreshold?: number + /** + * Maximum auth session duration in seconds. Will be refreshed if session is refreshed + * @default 60 * 60 * 24 (86,400 = 1 day) + */ + maxAge?: number + /** + * Additional cookie setting overrides + */ + cookie?: { + /** + * Cookie sameSite attribute - In most cases laving at default 'lax' is fine. + * @default 'lax' + */ + sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined + /** + * Cookie secure attribute - Consider setting to true for production, enforces https only cookies + * @default process.env.NODE_ENV === 'production' + */ + secure?: boolean | undefined + } +} diff --git a/src/runtime/types/config.ts b/src/runtime/types/config.ts deleted file mode 100644 index c4dfab5..0000000 --- a/src/runtime/types/config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { H3Event } from 'h3' - -export interface OAuthConfig { - onSuccess: ( - event: H3Event, - result: { user: UserSession | null; callbackRedirectUrl?: string } - ) => Promise | void -} diff --git a/src/runtime/types/session.ts b/src/runtime/types/session.ts deleted file mode 100644 index 278aae7..0000000 --- a/src/runtime/types/session.ts +++ /dev/null @@ -1,60 +0,0 @@ -import type { ProviderInfo } from '../../types' -import type { JwtPayload } from '../server/utils/security' -import type { ProviderKeys } from './oidc' - -export interface UserSession { - provider?: ProviderKeys | 'dev' - canRefresh: boolean - loggedInAt?: number - expireAt: number - updatedAt?: number - providerInfo?: ProviderInfo - userName?: string - claims?: Record - accessToken?: string - idToken?: string -} - -export interface Tokens { - accessToken: JwtPayload - idToken?: JwtPayload - refreshToken?: string -} - -export interface AuthSessionConfig { - /** - * Automatically refresh access token and session if refresh token is available (indicated by 'canRefresh' property on user object) - * @default false - */ - automaticRefresh?: boolean - /** - * Check if session is expired based on access token exp - * @default true - */ - expirationCheck?: boolean - /** - * Amount of seconds before access token expiration to trigger automatic refresh - * @default 0 - */ - expirationThreshold?: number - /** - * Maximum auth session duration in seconds. Will be refreshed if session is refreshed - * @default 60 * 60 * 24 (86,400 = 1 day) - */ - maxAge?: number - /** - * Additional cookie setting overrides - */ - cookie?: { - /** - * Cookie sameSite attribute - In most cases laving at default 'lax' is fine. - * @default 'lax' - */ - sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined - /** - * Cookie secure attribute - Consider setting to true for production, enforces https only cookies - * @default process.env.NODE_ENV === 'production' - */ - secure?: boolean | undefined - } -} diff --git a/src/types.ts b/src/types.ts deleted file mode 100644 index 290e38a..0000000 --- a/src/types.ts +++ /dev/null @@ -1 +0,0 @@ -export interface ProviderInfo extends Record {} diff --git a/test/vitest.config.ts b/test/vitest.config.ts index 56e9484..dfb17ce 100644 --- a/test/vitest.config.ts +++ b/test/vitest.config.ts @@ -3,7 +3,6 @@ import { defineConfig } from 'vitest/config' export default defineConfig({ test: { onConsoleLog(log: string): void { - // eslint-disable-next-line no-console console.log(log) }, },