diff --git a/app.vue b/app.vue
index 8699ede..3a91469 100644
--- a/app.vue
+++ b/app.vue
@@ -1,6 +1,39 @@
+
+
-
hey
+
+
+
+
+
+
+
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 8d1a72f..861652e 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -2,5 +2,5 @@
export default defineNuxtConfig({
compatibilityDate: "2024-04-03",
devtools: { enabled: true },
- modules: ["@nuxt/eslint"],
+ modules: ["@nuxt/eslint", "@nuxt/ui"],
});
diff --git a/package.json b/package.json
index 04505e0..057b73f 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,9 @@
"format": "pnpx prettier --cache --write ."
},
"dependencies": {
+ "@iconify-json/heroicons": "^1.2.0",
"@nuxt/eslint": "^0.5.7",
+ "@nuxt/ui": "^2.18.6",
"canvas": "^2.11.2",
"nuxt": "^3.13.0",
"qrcode": "^1.5.4",
@@ -23,6 +25,7 @@
},
"packageManager": "pnpm@9.11.0",
"devDependencies": {
- "@types/qrcode": "^1.5.5"
+ "@types/qrcode": "^1.5.5",
+ "typescript": "5.5.4"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 14a1064..420d556 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,15 +7,21 @@ settings:
importers:
.:
dependencies:
+ "@iconify-json/heroicons":
+ specifier: ^1.2.0
+ version: 1.2.0
"@nuxt/eslint":
specifier: ^0.5.7
- version: 0.5.7(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(rollup@4.22.5)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
+ version: 0.5.7(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(rollup@4.22.5)(typescript@5.5.4)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
+ "@nuxt/ui":
+ specifier: ^2.18.6
+ version: 2.18.6(magicast@0.3.5)(qrcode@1.5.4)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))
canvas:
specifier: ^2.11.2
version: 2.11.2
nuxt:
specifier: ^3.13.0
- version: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
+ version: 3.13.2(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.5.4)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
qrcode:
specifier: ^1.5.4
version: 1.5.4
@@ -24,10 +30,10 @@ importers:
version: 0.33.5
vue:
specifier: latest
- version: 3.5.10(typescript@5.6.2)
+ version: 3.5.10(typescript@5.5.4)
vue-router:
specifier: latest
- version: 4.4.5(vue@3.5.10(typescript@5.6.2))
+ version: 4.4.5(vue@3.5.10(typescript@5.5.4))
zod:
specifier: ^3.23.8
version: 3.23.8
@@ -35,8 +41,18 @@ importers:
"@types/qrcode":
specifier: ^1.5.5
version: 1.5.5
+ typescript:
+ specifier: 5.5.4
+ version: 5.5.4
packages:
+ "@alloc/quick-lru@5.2.0":
+ resolution:
+ {
+ integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==,
+ }
+ engines: { node: ">=10" }
+
"@ampproject/remapping@2.3.0":
resolution:
{
@@ -44,6 +60,12 @@ packages:
}
engines: { node: ">=6.0.0" }
+ "@antfu/install-pkg@0.4.1":
+ resolution:
+ {
+ integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==,
+ }
+
"@antfu/utils@0.7.10":
resolution:
{
@@ -308,6 +330,24 @@ packages:
}
engines: { node: ">=16.13" }
+ "@csstools/selector-resolve-nested@1.1.0":
+ resolution:
+ {
+ integrity: sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==,
+ }
+ engines: { node: ^14 || ^16 || >=18 }
+ peerDependencies:
+ postcss-selector-parser: ^6.0.13
+
+ "@csstools/selector-specificity@3.1.1":
+ resolution:
+ {
+ integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==,
+ }
+ engines: { node: ^14 || ^16 || >=18 }
+ peerDependencies:
+ postcss-selector-parser: ^6.0.13
+
"@emnapi/runtime@1.2.0":
resolution:
{
@@ -1039,6 +1079,24 @@ packages:
}
engines: { node: ">=14" }
+ "@headlessui/tailwindcss@0.2.1":
+ resolution:
+ {
+ integrity: sha512-2+5+NZ+RzMyrVeCZOxdbvkUSssSxGvcUxphkIfSVLpRiKsj+/63T2TOL9dBYMXVfj/CGr6hMxSRInzXv6YY7sA==,
+ }
+ engines: { node: ">=10" }
+ peerDependencies:
+ tailwindcss: ^3.0
+
+ "@headlessui/vue@1.7.23":
+ resolution:
+ {
+ integrity: sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==,
+ }
+ engines: { node: ">=10" }
+ peerDependencies:
+ vue: ^3.2.0
+
"@humanwhocodes/module-importer@1.0.1":
resolution:
{
@@ -1053,6 +1111,38 @@ packages:
}
engines: { node: ">=18.18" }
+ "@iconify-json/heroicons@1.2.0":
+ resolution:
+ {
+ integrity: sha512-EmvGN0L9EUJCmQ82rkLGZ4tkz0YGQfZV7ugKT6UvHni/bxNitQrD0gLj6NJj2W9zsSoXyNHyCX236+EJmO4pmA==,
+ }
+
+ "@iconify/collections@1.0.465":
+ resolution:
+ {
+ integrity: sha512-40sG1esFVHw4WdT9vH16FAu21KqZqudGHLCDs4uRAnLaym1XFXLJYzT1YEYlaV+mz3N7DQMBcjuJqQFPFFz42Q==,
+ }
+
+ "@iconify/types@2.0.0":
+ resolution:
+ {
+ integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==,
+ }
+
+ "@iconify/utils@2.1.33":
+ resolution:
+ {
+ integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==,
+ }
+
+ "@iconify/vue@4.1.3-beta.1":
+ resolution:
+ {
+ integrity: sha512-N7iEOnWfhjbMqiyGMhotJKip23nrK5l3+T1hQwpEjKeMD2o4zOjm8zmeEfOOH81EXllhhOm7upR8jcH499YRWA==,
+ }
+ peerDependencies:
+ vue: ">=3"
+
"@img/sharp-darwin-arm64@0.33.5":
resolution:
{
@@ -1273,6 +1363,13 @@ packages:
integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==,
}
+ "@koa/router@12.0.2":
+ resolution:
+ {
+ integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==,
+ }
+ engines: { node: ">= 12" }
+
"@kwsites/file-exists@1.1.1":
resolution:
{
@@ -1416,6 +1513,12 @@ packages:
vite-plugin-eslint2:
optional: true
+ "@nuxt/icon@1.5.2":
+ resolution:
+ {
+ integrity: sha512-VjtYIMo+d+jrBASHhh3eLZgfRAYhZI/E5z7DMlgjSRmUBYtMv/Qz86dSZdYEWM2rdHzzXtFurQRandIHC71fBQ==,
+ }
+
"@nuxt/kit@3.13.2":
resolution:
{
@@ -1437,6 +1540,12 @@ packages:
}
hasBin: true
+ "@nuxt/ui@2.18.6":
+ resolution:
+ {
+ integrity: sha512-IyAMdw+oyrLnILp8k/Xfe2eX1RoFcQSnJd6Z0DBR/NmurrHR8M1EGRxDyT5ob6EbR1PbTZa6t3xQOO5xjslPwg==,
+ }
+
"@nuxt/vite-builder@3.13.2":
resolution:
{
@@ -1446,6 +1555,18 @@ packages:
peerDependencies:
vue: ^3.3.4
+ "@nuxtjs/color-mode@3.5.1":
+ resolution:
+ {
+ integrity: sha512-GRHF3WUwX6fXIiRVlngNq1nVDwrVuP6dWX1DRmox3QolzX0eH1oJEcFr/lAm1nkT71JVGb8mszho9w+yHJbePw==,
+ }
+
+ "@nuxtjs/tailwindcss@6.12.1":
+ resolution:
+ {
+ integrity: sha512-UKmaPRVpxlFqLorhL6neEba2tySlsj6w6yDb7jzS6A0AAjyBQ6k3BQqWO+AaTy2iQLX7eR+1yj3/w43HzY8RtA==,
+ }
+
"@parcel/watcher-android-arm64@2.4.1":
resolution:
{
@@ -1590,6 +1711,12 @@ packages:
integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==,
}
+ "@popperjs/core@2.11.8":
+ resolution:
+ {
+ integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==,
+ }
+
"@rollup/plugin-alias@5.1.1":
resolution:
{
@@ -1837,6 +1964,52 @@ packages:
peerDependencies:
eslint: ">=8.40.0"
+ "@tailwindcss/aspect-ratio@0.4.2":
+ resolution:
+ {
+ integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==,
+ }
+ peerDependencies:
+ tailwindcss: ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1"
+
+ "@tailwindcss/container-queries@0.1.1":
+ resolution:
+ {
+ integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==,
+ }
+ peerDependencies:
+ tailwindcss: ">=3.2.0"
+
+ "@tailwindcss/forms@0.5.9":
+ resolution:
+ {
+ integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==,
+ }
+ peerDependencies:
+ tailwindcss: ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20"
+
+ "@tailwindcss/typography@0.5.15":
+ resolution:
+ {
+ integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==,
+ }
+ peerDependencies:
+ tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20"
+
+ "@tanstack/virtual-core@3.10.8":
+ resolution:
+ {
+ integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==,
+ }
+
+ "@tanstack/vue-virtual@3.10.8":
+ resolution:
+ {
+ integrity: sha512-DB5QA8c/LfqOqIUCpSs3RdOTVroRRdqeHMqBkYrcashSZtOzIv8xbiqHgg7RYxDfkH5F3Y+e0MkuuyGNDVB0BQ==,
+ }
+ peerDependencies:
+ vue: ^2.7.0 || ^3.0.0
+
"@trysound/sax@0.2.0":
resolution:
{
@@ -1886,6 +2059,12 @@ packages:
integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==,
}
+ "@types/web-bluetooth@0.0.20":
+ resolution:
+ {
+ integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==,
+ }
+
"@typescript-eslint/eslint-plugin@8.7.0":
resolution:
{
@@ -2155,6 +2334,74 @@ packages:
integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==,
}
+ "@vueuse/core@11.1.0":
+ resolution:
+ {
+ integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==,
+ }
+
+ "@vueuse/integrations@11.1.0":
+ resolution:
+ {
+ integrity: sha512-O2ZgrAGPy0qAjpoI2YR3egNgyEqwG85fxfwmA9BshRIGjV4G6yu6CfOPpMHAOoCD+UfsIl7Vb1bXJ6ifrHYDDA==,
+ }
+ peerDependencies:
+ async-validator: ^4
+ axios: ^1
+ change-case: ^5
+ drauu: ^0.4
+ focus-trap: ^7
+ fuse.js: ^7
+ idb-keyval: ^6
+ jwt-decode: ^4
+ nprogress: ^0.2
+ qrcode: ^1.5
+ sortablejs: ^1
+ universal-cookie: ^7
+ peerDependenciesMeta:
+ async-validator:
+ optional: true
+ axios:
+ optional: true
+ change-case:
+ optional: true
+ drauu:
+ optional: true
+ focus-trap:
+ optional: true
+ fuse.js:
+ optional: true
+ idb-keyval:
+ optional: true
+ jwt-decode:
+ optional: true
+ nprogress:
+ optional: true
+ qrcode:
+ optional: true
+ sortablejs:
+ optional: true
+ universal-cookie:
+ optional: true
+
+ "@vueuse/math@11.1.0":
+ resolution:
+ {
+ integrity: sha512-pnjB9WBatF5RHHRbMo2P1w/e5m+r0QQJtGcA1cZGrg5yp1itzixLpMZHEmXVWelRTc0Dfn5uyn/sYmBimU1BoA==,
+ }
+
+ "@vueuse/metadata@11.1.0":
+ resolution:
+ {
+ integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==,
+ }
+
+ "@vueuse/shared@11.1.0":
+ resolution:
+ {
+ integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==,
+ }
+
abbrev@1.1.1:
resolution:
{
@@ -2168,6 +2415,13 @@ packages:
}
engines: { node: ">=6.5" }
+ accepts@1.3.8:
+ resolution:
+ {
+ integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==,
+ }
+ engines: { node: ">= 0.6" }
+
acorn-import-attributes@1.9.5:
resolution:
{
@@ -2254,6 +2508,12 @@ packages:
}
engines: { node: ">=12" }
+ any-promise@1.3.0:
+ resolution:
+ {
+ integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==,
+ }
+
anymatch@3.1.3:
resolution:
{
@@ -2296,6 +2556,12 @@ packages:
engines: { node: ">=10" }
deprecated: This package is no longer supported.
+ arg@5.0.2:
+ resolution:
+ {
+ integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==,
+ }
+
argparse@2.0.1:
resolution:
{
@@ -2322,12 +2588,25 @@ packages:
integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==,
}
+ async@2.6.4:
+ resolution:
+ {
+ integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==,
+ }
+
async@3.2.6:
resolution:
{
integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==,
}
+ at-least-node@1.0.0:
+ resolution:
+ {
+ integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==,
+ }
+ engines: { node: ">= 4.0.0" }
+
autoprefixer@10.4.20:
resolution:
{
@@ -2474,6 +2753,13 @@ packages:
}
engines: { node: ">=8" }
+ cache-content-type@1.0.1:
+ resolution:
+ {
+ integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==,
+ }
+ engines: { node: ">= 6.0.0" }
+
callsites@3.1.0:
resolution:
{
@@ -2481,6 +2767,13 @@ packages:
}
engines: { node: ">=6" }
+ camelcase-css@2.0.1:
+ resolution:
+ {
+ integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==,
+ }
+ engines: { node: ">= 6" }
+
camelcase@5.3.1:
resolution:
{
@@ -2528,6 +2821,13 @@ packages:
}
engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
+ changelogen@0.5.7:
+ resolution:
+ {
+ integrity: sha512-cTZXBcJMl3pudE40WENOakXkcVtrbBpbkmSkM20NdRiUqa4+VYRdXdEsgQ0BNQ6JBE2YymTNWtPKVF7UCTN5+g==,
+ }
+ hasBin: true
+
chokidar@3.6.0:
resolution:
{
@@ -2595,6 +2895,13 @@ packages:
}
engines: { node: ">=0.10.0" }
+ co@4.6.0:
+ resolution:
+ {
+ integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==,
+ }
+ engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" }
+
color-convert@1.9.3:
resolution:
{
@@ -2646,12 +2953,32 @@ packages:
integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==,
}
+ colorette@2.0.20:
+ resolution:
+ {
+ integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==,
+ }
+
commander@2.20.3:
resolution:
{
integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==,
}
+ commander@4.1.1:
+ resolution:
+ {
+ integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==,
+ }
+ engines: { node: ">= 6" }
+
+ commander@6.2.1:
+ resolution:
+ {
+ integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==,
+ }
+ engines: { node: ">= 6" }
+
commander@7.2.0:
resolution:
{
@@ -2717,6 +3044,26 @@ packages:
integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==,
}
+ content-disposition@0.5.4:
+ resolution:
+ {
+ integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==,
+ }
+ engines: { node: ">= 0.6" }
+
+ content-type@1.0.5:
+ resolution:
+ {
+ integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==,
+ }
+ engines: { node: ">= 0.6" }
+
+ convert-gitmoji@0.1.5:
+ resolution:
+ {
+ integrity: sha512-4wqOafJdk2tqZC++cjcbGcaJ13BZ3kwldf06PTiAQRAB76Z1KJwZNL1SaRZMi2w1FM9RYTgZ6QErS8NUl/GBmQ==,
+ }
+
convert-source-map@2.0.0:
resolution:
{
@@ -2729,6 +3076,13 @@ packages:
integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==,
}
+ cookies@0.9.1:
+ resolution:
+ {
+ integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==,
+ }
+ engines: { node: ">= 0.8" }
+
copy-anything@3.0.5:
resolution:
{
@@ -2950,6 +3304,12 @@ packages:
}
engines: { node: ">=8" }
+ deep-equal@1.0.1:
+ resolution:
+ {
+ integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==,
+ }
+
deep-is@0.1.4:
resolution:
{
@@ -3010,6 +3370,13 @@ packages:
}
engines: { node: ">=0.10" }
+ depd@1.1.2:
+ resolution:
+ {
+ integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==,
+ }
+ engines: { node: ">= 0.6" }
+
depd@2.0.0:
resolution:
{
@@ -3051,6 +3418,12 @@ packages:
integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==,
}
+ didyoumean@1.2.2:
+ resolution:
+ {
+ integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==,
+ }
+
diff@7.0.0:
resolution:
{
@@ -3064,6 +3437,12 @@ packages:
integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==,
}
+ dlv@1.1.3:
+ resolution:
+ {
+ integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==,
+ }
+
doctrine@3.0.0:
resolution:
{
@@ -3607,6 +3986,13 @@ packages:
}
engines: { node: ">=14.14" }
+ fs-extra@9.1.0:
+ resolution:
+ {
+ integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==,
+ }
+ engines: { node: ">=10" }
+
fs-minipass@2.1.0:
resolution:
{
@@ -3634,6 +4020,13 @@ packages:
integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
}
+ fuse.js@7.0.0:
+ resolution:
+ {
+ integrity: sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==,
+ }
+ engines: { node: ">=10" }
+
gauge@3.0.2:
resolution:
{
@@ -3825,6 +4218,20 @@ packages:
}
engines: { node: ">=8" }
+ has-symbols@1.0.3:
+ resolution:
+ {
+ integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==,
+ }
+ engines: { node: ">= 0.4" }
+
+ has-tostringtag@1.0.2:
+ resolution:
+ {
+ integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==,
+ }
+ engines: { node: ">= 0.4" }
+
has-unicode@2.0.1:
resolution:
{
@@ -3863,6 +4270,27 @@ packages:
}
engines: { node: ">=8" }
+ http-assert@1.5.0:
+ resolution:
+ {
+ integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==,
+ }
+ engines: { node: ">= 0.8" }
+
+ http-errors@1.6.3:
+ resolution:
+ {
+ integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==,
+ }
+ engines: { node: ">= 0.6" }
+
+ http-errors@1.8.1:
+ resolution:
+ {
+ integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==,
+ }
+ engines: { node: ">= 0.6" }
+
http-errors@2.0.0:
resolution:
{
@@ -3957,6 +4385,12 @@ packages:
}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+ inherits@2.0.3:
+ resolution:
+ {
+ integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==,
+ }
+
inherits@2.0.4:
resolution:
{
@@ -4052,6 +4486,13 @@ packages:
}
engines: { node: ">=8" }
+ is-generator-function@1.0.10:
+ resolution:
+ {
+ integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==,
+ }
+ engines: { node: ">= 0.4" }
+
is-glob@4.0.3:
resolution:
{
@@ -4280,6 +4721,13 @@ packages:
integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==,
}
+ keygrip@1.1.0:
+ resolution:
+ {
+ integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==,
+ }
+ engines: { node: ">= 0.6" }
+
keyv@4.5.4:
resolution:
{
@@ -4306,6 +4754,40 @@ packages:
integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==,
}
+ koa-compose@4.1.0:
+ resolution:
+ {
+ integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==,
+ }
+
+ koa-convert@2.0.0:
+ resolution:
+ {
+ integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==,
+ }
+ engines: { node: ">= 10" }
+
+ koa-send@5.0.1:
+ resolution:
+ {
+ integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==,
+ }
+ engines: { node: ">= 8" }
+
+ koa-static@5.0.0:
+ resolution:
+ {
+ integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==,
+ }
+ engines: { node: ">= 7.6.0" }
+
+ koa@2.15.3:
+ resolution:
+ {
+ integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==,
+ }
+ engines: { node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4 }
+
kolorist@1.8.0:
resolution:
{
@@ -4332,6 +4814,13 @@ packages:
}
engines: { node: ">= 0.8.0" }
+ lilconfig@2.1.0:
+ resolution:
+ {
+ integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==,
+ }
+ engines: { node: ">=10" }
+
lilconfig@3.1.2:
resolution:
{
@@ -4387,6 +4876,12 @@ packages:
}
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ lodash.castarray@4.4.0:
+ resolution:
+ {
+ integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==,
+ }
+
lodash.defaults@4.2.0:
resolution:
{
@@ -4399,6 +4894,12 @@ packages:
integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==,
}
+ lodash.isplainobject@4.0.6:
+ resolution:
+ {
+ integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==,
+ }
+
lodash.memoize@4.1.2:
resolution:
{
@@ -4473,6 +4974,13 @@ packages:
integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==,
}
+ media-typer@0.3.0:
+ resolution:
+ {
+ integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==,
+ }
+ engines: { node: ">= 0.6" }
+
merge-stream@2.0.0:
resolution:
{
@@ -4486,6 +4994,13 @@ packages:
}
engines: { node: ">= 8" }
+ methods@1.1.2:
+ resolution:
+ {
+ integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==,
+ }
+ engines: { node: ">= 0.6" }
+
micromatch@4.0.8:
resolution:
{
@@ -4493,6 +5008,20 @@ packages:
}
engines: { node: ">=8.6" }
+ mime-db@1.52.0:
+ resolution:
+ {
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
+ }
+ engines: { node: ">= 0.6" }
+
+ mime-types@2.1.35:
+ resolution:
+ {
+ integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==,
+ }
+ engines: { node: ">= 0.6" }
+
mime@1.6.0:
resolution:
{
@@ -4538,6 +5067,13 @@ packages:
}
engines: { node: ">=4" }
+ mini-svg-data-uri@1.4.4:
+ resolution:
+ {
+ integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==,
+ }
+ hasBin: true
+
minimatch@3.1.2:
resolution:
{
@@ -4558,6 +5094,12 @@ packages:
}
engines: { node: ">=16 || 14 >=14.17" }
+ minimist@1.2.8:
+ resolution:
+ {
+ integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+ }
+
minipass@3.3.6:
resolution:
{
@@ -4592,6 +5134,13 @@ packages:
integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==,
}
+ mkdirp@0.5.6:
+ resolution:
+ {
+ integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==,
+ }
+ hasBin: true
+
mkdirp@1.0.4:
resolution:
{
@@ -4632,6 +5181,12 @@ packages:
integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
}
+ mz@2.7.0:
+ resolution:
+ {
+ integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==,
+ }
+
nan@2.20.0:
resolution:
{
@@ -4666,6 +5221,13 @@ packages:
integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==,
}
+ negotiator@0.6.3:
+ resolution:
+ {
+ integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==,
+ }
+ engines: { node: ">= 0.6" }
+
nitropack@2.9.7:
resolution:
{
@@ -4817,6 +5379,13 @@ packages:
}
engines: { node: ">=0.10.0" }
+ object-hash@3.0.0:
+ resolution:
+ {
+ integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==,
+ }
+ engines: { node: ">= 6" }
+
ofetch@1.4.0:
resolution:
{
@@ -4849,6 +5418,12 @@ packages:
}
engines: { node: ">=12" }
+ only@0.0.2:
+ resolution:
+ {
+ integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==,
+ }
+
open@10.1.0:
resolution:
{
@@ -4856,6 +5431,13 @@ packages:
}
engines: { node: ">=18" }
+ open@7.4.2:
+ resolution:
+ {
+ integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==,
+ }
+ engines: { node: ">=8" }
+
open@8.4.2:
resolution:
{
@@ -5033,6 +5615,12 @@ packages:
}
engines: { node: ">=16 || 14 >=14.18" }
+ path-to-regexp@6.3.0:
+ resolution:
+ {
+ integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==,
+ }
+
path-type@5.0.0:
resolution:
{
@@ -5072,6 +5660,20 @@ packages:
}
engines: { node: ">=12" }
+ pify@2.3.0:
+ resolution:
+ {
+ integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==,
+ }
+ engines: { node: ">=0.10.0" }
+
+ pirates@4.0.6:
+ resolution:
+ {
+ integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==,
+ }
+ engines: { node: ">= 6" }
+
pkg-types@1.2.0:
resolution:
{
@@ -5092,6 +5694,13 @@ packages:
}
engines: { node: ">=10.13.0" }
+ portfinder@1.0.32:
+ resolution:
+ {
+ integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==,
+ }
+ engines: { node: ">= 0.12.0" }
+
postcss-calc@10.0.2:
resolution:
{
@@ -5155,6 +5764,39 @@ packages:
peerDependencies:
postcss: ^8.4.31
+ postcss-import@15.1.0:
+ resolution:
+ {
+ integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==,
+ }
+ engines: { node: ">=14.0.0" }
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-js@4.0.1:
+ resolution:
+ {
+ integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==,
+ }
+ engines: { node: ^12 || ^14 || >= 16 }
+ peerDependencies:
+ postcss: ^8.4.21
+
+ postcss-load-config@4.0.2:
+ resolution:
+ {
+ integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==,
+ }
+ engines: { node: ">= 14" }
+ peerDependencies:
+ postcss: ">=8.0.9"
+ ts-node: ">=9.0.0"
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+
postcss-merge-longhand@7.0.4:
resolution:
{
@@ -5209,6 +5851,24 @@ packages:
peerDependencies:
postcss: ^8.4.31
+ postcss-nested@6.2.0:
+ resolution:
+ {
+ integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==,
+ }
+ engines: { node: ">=12.0" }
+ peerDependencies:
+ postcss: ^8.2.14
+
+ postcss-nesting@12.1.5:
+ resolution:
+ {
+ integrity: sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==,
+ }
+ engines: { node: ^14 || ^16 || >=18 }
+ peerDependencies:
+ postcss: ^8.4
+
postcss-normalize-charset@7.0.0:
resolution:
{
@@ -5317,6 +5977,13 @@ packages:
peerDependencies:
postcss: ^8.4.31
+ postcss-selector-parser@6.0.10:
+ resolution:
+ {
+ integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==,
+ }
+ engines: { node: ">=4" }
+
postcss-selector-parser@6.1.2:
resolution:
{
@@ -5447,6 +6114,12 @@ packages:
integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==,
}
+ read-cache@1.0.0:
+ resolution:
+ {
+ integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==,
+ }
+
read-pkg-up@7.0.1:
resolution:
{
@@ -5536,6 +6209,14 @@ packages:
}
hasBin: true
+ replace-in-file@6.3.5:
+ resolution:
+ {
+ integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==,
+ }
+ engines: { node: ">=10" }
+ hasBin: true
+
require-directory@2.1.1:
resolution:
{
@@ -5563,6 +6244,13 @@ packages:
}
engines: { node: ">=8" }
+ resolve-path@1.4.0:
+ resolution:
+ {
+ integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==,
+ }
+ engines: { node: ">= 0.8" }
+
resolve-pkg-maps@1.0.0:
resolution:
{
@@ -5710,6 +6398,12 @@ packages:
integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==,
}
+ setprototypeof@1.1.0:
+ resolution:
+ {
+ integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==,
+ }
+
setprototypeof@1.2.0:
resolution:
{
@@ -5888,6 +6582,13 @@ packages:
integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==,
}
+ statuses@1.5.0:
+ resolution:
+ {
+ integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==,
+ }
+ engines: { node: ">= 0.6" }
+
statuses@2.0.1:
resolution:
{
@@ -5983,6 +6684,14 @@ packages:
peerDependencies:
postcss: ^8.4.31
+ sucrase@3.35.0:
+ resolution:
+ {
+ integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==,
+ }
+ engines: { node: ">=16 || 14 >=14.17" }
+ hasBin: true
+
superjson@2.2.1:
resolution:
{
@@ -6046,6 +6755,30 @@ packages:
}
engines: { node: ">=18" }
+ tailwind-config-viewer@2.0.4:
+ resolution:
+ {
+ integrity: sha512-icvcmdMmt9dphvas8wL40qttrHwAnW3QEN4ExJ2zICjwRsPj7gowd1cOceaWG3IfTuM/cTNGQcx+bsjMtmV+cw==,
+ }
+ engines: { node: ">=13" }
+ hasBin: true
+ peerDependencies:
+ tailwindcss: 1 || 2 || 2.0.1-compat || 3
+
+ tailwind-merge@2.5.2:
+ resolution:
+ {
+ integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==,
+ }
+
+ tailwindcss@3.4.13:
+ resolution:
+ {
+ integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==,
+ }
+ engines: { node: ">=14.0.0" }
+ hasBin: true
+
tapable@2.2.1:
resolution:
{
@@ -6086,12 +6819,31 @@ packages:
integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==,
}
+ thenify-all@1.6.0:
+ resolution:
+ {
+ integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==,
+ }
+ engines: { node: ">=0.8" }
+
+ thenify@3.3.1:
+ resolution:
+ {
+ integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==,
+ }
+
tiny-invariant@1.3.3:
resolution:
{
integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==,
}
+ tinyexec@0.3.0:
+ resolution:
+ {
+ integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==,
+ }
+
tinyglobby@0.2.6:
resolution:
{
@@ -6142,12 +6894,25 @@ packages:
peerDependencies:
typescript: ">=4.2.0"
+ ts-interface-checker@0.1.13:
+ resolution:
+ {
+ integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
+ }
+
tslib@2.7.0:
resolution:
{
integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==,
}
+ tsscmp@1.0.6:
+ resolution:
+ {
+ integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==,
+ }
+ engines: { node: ">=0.6.x" }
+
type-check@0.4.0:
resolution:
{
@@ -6190,10 +6955,17 @@ packages:
}
engines: { node: ">=14.16" }
- typescript@5.6.2:
+ type-is@1.6.18:
resolution:
{
- integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==,
+ integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==,
+ }
+ engines: { node: ">= 0.6" }
+
+ typescript@5.5.4:
+ resolution:
+ {
+ integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==,
}
engines: { node: ">=14.17" }
hasBin: true
@@ -6396,6 +7168,13 @@ packages:
integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==,
}
+ vary@1.1.2:
+ resolution:
+ {
+ integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==,
+ }
+ engines: { node: ">= 0.8" }
+
vite-hot-client@0.2.3:
resolution:
{
@@ -6555,6 +7334,20 @@ packages:
integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==,
}
+ vue-demi@0.14.10:
+ resolution:
+ {
+ integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==,
+ }
+ engines: { node: ">=12" }
+ hasBin: true
+ peerDependencies:
+ "@vue/composition-api": ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ "@vue/composition-api":
+ optional: true
+
vue-devtools-stub@0.1.0:
resolution:
{
@@ -6752,6 +7545,13 @@ packages:
}
engines: { node: ">=12" }
+ ylru@1.4.0:
+ resolution:
+ {
+ integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==,
+ }
+ engines: { node: ">= 4.0.0" }
+
yocto-queue@0.1.0:
resolution:
{
@@ -6786,11 +7586,18 @@ packages:
}
snapshots:
+ "@alloc/quick-lru@5.2.0": {}
+
"@ampproject/remapping@2.3.0":
dependencies:
"@jridgewell/gen-mapping": 0.3.5
"@jridgewell/trace-mapping": 0.3.25
+ "@antfu/install-pkg@0.4.1":
+ dependencies:
+ package-manager-detector: 0.2.0
+ tinyexec: 0.3.0
+
"@antfu/utils@0.7.10": {}
"@apidevtools/json-schema-ref-parser@11.7.0":
@@ -7008,6 +7815,14 @@ snapshots:
dependencies:
mime: 3.0.0
+ "@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.1.2)":
+ dependencies:
+ postcss-selector-parser: 6.1.2
+
+ "@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.2)":
+ dependencies:
+ postcss-selector-parser: 6.1.2
+
"@emnapi/runtime@1.2.0":
dependencies:
tslib: 2.7.0
@@ -7305,10 +8120,46 @@ snapshots:
"@fastify/busboy@2.1.1": {}
+ "@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.13)":
+ dependencies:
+ tailwindcss: 3.4.13
+
+ "@headlessui/vue@1.7.23(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@tanstack/vue-virtual": 3.10.8(vue@3.5.10(typescript@5.5.4))
+ vue: 3.5.10(typescript@5.5.4)
+
"@humanwhocodes/module-importer@1.0.1": {}
"@humanwhocodes/retry@0.3.0": {}
+ "@iconify-json/heroicons@1.2.0":
+ dependencies:
+ "@iconify/types": 2.0.0
+
+ "@iconify/collections@1.0.465":
+ dependencies:
+ "@iconify/types": 2.0.0
+
+ "@iconify/types@2.0.0": {}
+
+ "@iconify/utils@2.1.33":
+ dependencies:
+ "@antfu/install-pkg": 0.4.1
+ "@antfu/utils": 0.7.10
+ "@iconify/types": 2.0.0
+ debug: 4.3.7
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.7.1
+ transitivePeerDependencies:
+ - supports-color
+
+ "@iconify/vue@4.1.3-beta.1(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@iconify/types": 2.0.0
+ vue: 3.5.10(typescript@5.5.4)
+
"@img/sharp-darwin-arm64@0.33.5":
optionalDependencies:
"@img/sharp-libvips-darwin-arm64": 1.0.4
@@ -7419,6 +8270,16 @@ snapshots:
"@jsdevtools/ono@7.1.3": {}
+ "@koa/router@12.0.2":
+ dependencies:
+ debug: 4.3.7
+ http-errors: 2.0.0
+ koa-compose: 4.1.0
+ methods: 1.1.2
+ path-to-regexp: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
"@kwsites/file-exists@1.1.1":
dependencies:
debug: 4.3.7
@@ -7504,13 +8365,13 @@ snapshots:
rc9: 2.1.2
semver: 7.6.3
- "@nuxt/devtools@1.5.1(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))":
+ "@nuxt/devtools@1.5.1(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))":
dependencies:
"@antfu/utils": 0.7.10
"@nuxt/devtools-kit": 1.5.1(magicast@0.3.5)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
"@nuxt/devtools-wizard": 1.5.1
"@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
- "@vue/devtools-core": 7.4.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))
+ "@vue/devtools-core": 7.4.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))
"@vue/devtools-kit": 7.4.4
birpc: 0.2.17
consola: 3.2.3
@@ -7552,17 +8413,17 @@ snapshots:
- vue
- webpack-sources
- "@nuxt/eslint-config@0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@nuxt/eslint-config@0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
"@eslint/js": 9.11.1
- "@nuxt/eslint-plugin": 0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- "@stylistic/eslint-plugin": 2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- "@typescript-eslint/eslint-plugin": 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- "@typescript-eslint/parser": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@nuxt/eslint-plugin": 0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
+ "@stylistic/eslint-plugin": 2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
+ "@typescript-eslint/eslint-plugin": 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4))(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
+ "@typescript-eslint/parser": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
eslint: 9.11.1(jiti@2.0.0)
eslint-config-flat-gitignore: 0.3.0(eslint@9.11.1(jiti@2.0.0))
eslint-flat-config-utils: 0.4.0
- eslint-plugin-import-x: 4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ eslint-plugin-import-x: 4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
eslint-plugin-jsdoc: 50.3.0(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-regexp: 2.6.0(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-unicorn: 55.0.0(eslint@9.11.1(jiti@2.0.0))
@@ -7575,21 +8436,21 @@ snapshots:
- supports-color
- typescript
- "@nuxt/eslint-plugin@0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@nuxt/eslint-plugin@0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
"@typescript-eslint/types": 8.7.0
- "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
eslint: 9.11.1(jiti@2.0.0)
transitivePeerDependencies:
- supports-color
- typescript
- "@nuxt/eslint@0.5.7(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(rollup@4.22.5)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))":
+ "@nuxt/eslint@0.5.7(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(rollup@4.22.5)(typescript@5.5.4)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))":
dependencies:
"@eslint/config-inspector": 0.5.4(eslint@9.11.1(jiti@2.0.0))
"@nuxt/devtools-kit": 1.5.1(magicast@0.3.5)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
- "@nuxt/eslint-config": 0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- "@nuxt/eslint-plugin": 0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@nuxt/eslint-config": 0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
+ "@nuxt/eslint-plugin": 0.5.7(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
"@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
chokidar: 3.6.0
eslint: 9.11.1(jiti@2.0.0)
@@ -7611,6 +8472,28 @@ snapshots:
- vite
- webpack-sources
+ "@nuxt/icon@1.5.2(magicast@0.3.5)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@iconify/collections": 1.0.465
+ "@iconify/types": 2.0.0
+ "@iconify/utils": 2.1.33
+ "@iconify/vue": 4.1.3-beta.1(vue@3.5.10(typescript@5.5.4))
+ "@nuxt/devtools-kit": 1.5.1(magicast@0.3.5)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
+ "@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
+ consola: 3.2.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ mlly: 1.7.1
+ pathe: 1.1.2
+ std-env: 3.7.0
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
"@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.22.5)":
dependencies:
"@nuxt/schema": 3.13.2(rollup@4.22.5)
@@ -7684,12 +8567,58 @@ snapshots:
- supports-color
- webpack-sources
- "@nuxt/vite-builder@3.13.2(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.6.2)(vue@3.5.10(typescript@5.6.2))":
+ "@nuxt/ui@2.18.6(magicast@0.3.5)(qrcode@1.5.4)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@headlessui/tailwindcss": 0.2.1(tailwindcss@3.4.13)
+ "@headlessui/vue": 1.7.23(vue@3.5.10(typescript@5.5.4))
+ "@iconify-json/heroicons": 1.2.0
+ "@nuxt/icon": 1.5.2(magicast@0.3.5)(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))
+ "@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
+ "@nuxtjs/color-mode": 3.5.1(magicast@0.3.5)(rollup@4.22.5)
+ "@nuxtjs/tailwindcss": 6.12.1(magicast@0.3.5)(rollup@4.22.5)
+ "@popperjs/core": 2.11.8
+ "@tailwindcss/aspect-ratio": 0.4.2(tailwindcss@3.4.13)
+ "@tailwindcss/container-queries": 0.1.1(tailwindcss@3.4.13)
+ "@tailwindcss/forms": 0.5.9(tailwindcss@3.4.13)
+ "@tailwindcss/typography": 0.5.15(tailwindcss@3.4.13)
+ "@vueuse/core": 11.1.0(vue@3.5.10(typescript@5.5.4))
+ "@vueuse/integrations": 11.1.0(fuse.js@7.0.0)(qrcode@1.5.4)(vue@3.5.10(typescript@5.5.4))
+ "@vueuse/math": 11.1.0(vue@3.5.10(typescript@5.5.4))
+ defu: 6.1.4
+ fuse.js: 7.0.0
+ ohash: 1.1.4
+ pathe: 1.1.2
+ scule: 1.3.0
+ tailwind-merge: 2.5.2
+ tailwindcss: 3.4.13
+ transitivePeerDependencies:
+ - "@vue/composition-api"
+ - async-validator
+ - axios
+ - change-case
+ - drauu
+ - focus-trap
+ - idb-keyval
+ - jwt-decode
+ - magicast
+ - nprogress
+ - qrcode
+ - rollup
+ - sortablejs
+ - supports-color
+ - ts-node
+ - uWebSockets.js
+ - universal-cookie
+ - vite
+ - vue
+ - webpack-sources
+
+ "@nuxt/vite-builder@3.13.2(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4))":
dependencies:
"@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
"@rollup/plugin-replace": 5.0.7(rollup@4.22.5)
- "@vitejs/plugin-vue": 5.1.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))
- "@vitejs/plugin-vue-jsx": 4.0.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))
+ "@vitejs/plugin-vue": 5.1.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))
+ "@vitejs/plugin-vue-jsx": 4.0.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))
autoprefixer: 10.4.20(postcss@8.4.47)
clear: 0.1.0
consola: 3.2.3
@@ -7717,8 +8646,8 @@ snapshots:
unplugin: 1.14.1
vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1)
vite-node: 2.1.1(@types/node@22.7.4)(terser@5.34.1)
- vite-plugin-checker: 0.8.0(eslint@9.11.1(jiti@2.0.0))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
- vue: 3.5.10(typescript@5.6.2)
+ vite-plugin-checker: 0.8.0(eslint@9.11.1(jiti@2.0.0))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
+ vue: 3.5.10(typescript@5.5.4)
vue-bundle-renderer: 2.1.1
transitivePeerDependencies:
- "@biomejs/biome"
@@ -7744,6 +8673,41 @@ snapshots:
- vue-tsc
- webpack-sources
+ "@nuxtjs/color-mode@3.5.1(magicast@0.3.5)(rollup@4.22.5)":
+ dependencies:
+ "@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
+ changelogen: 0.5.7(magicast@0.3.5)
+ pathe: 1.1.2
+ pkg-types: 1.2.0
+ semver: 7.6.3
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - webpack-sources
+
+ "@nuxtjs/tailwindcss@6.12.1(magicast@0.3.5)(rollup@4.22.5)":
+ dependencies:
+ "@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
+ autoprefixer: 10.4.20(postcss@8.4.47)
+ consola: 3.2.3
+ defu: 6.1.4
+ h3: 1.12.0
+ pathe: 1.1.2
+ postcss: 8.4.47
+ postcss-nesting: 12.1.5(postcss@8.4.47)
+ tailwind-config-viewer: 2.0.4(tailwindcss@3.4.13)
+ tailwindcss: 3.4.13
+ ufo: 1.5.4
+ unctx: 2.3.1
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - ts-node
+ - uWebSockets.js
+ - webpack-sources
+
"@parcel/watcher-android-arm64@2.4.1":
optional: true
@@ -7812,6 +8776,8 @@ snapshots:
"@polka/url@1.0.0-next.28": {}
+ "@popperjs/core@2.11.8": {}
+
"@rollup/plugin-alias@5.1.1(rollup@4.22.5)":
optionalDependencies:
rollup: 4.22.5
@@ -7929,9 +8895,9 @@ snapshots:
"@sindresorhus/merge-streams@2.3.0": {}
- "@stylistic/eslint-plugin@2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@stylistic/eslint-plugin@2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
- "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
eslint: 9.11.1(jiti@2.0.0)
eslint-visitor-keys: 4.1.0
espree: 10.2.0
@@ -7941,6 +8907,34 @@ snapshots:
- supports-color
- typescript
+ "@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.13)":
+ dependencies:
+ tailwindcss: 3.4.13
+
+ "@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.13)":
+ dependencies:
+ tailwindcss: 3.4.13
+
+ "@tailwindcss/forms@0.5.9(tailwindcss@3.4.13)":
+ dependencies:
+ mini-svg-data-uri: 1.4.4
+ tailwindcss: 3.4.13
+
+ "@tailwindcss/typography@0.5.15(tailwindcss@3.4.13)":
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 3.4.13
+
+ "@tanstack/virtual-core@3.10.8": {}
+
+ "@tanstack/vue-virtual@3.10.8(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@tanstack/virtual-core": 3.10.8
+ vue: 3.5.10(typescript@5.5.4)
+
"@trysound/sax@0.2.0": {}
"@types/estree@1.0.6": {}
@@ -7963,34 +8957,36 @@ snapshots:
"@types/resolve@1.20.2": {}
- "@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@types/web-bluetooth@0.0.20": {}
+
+ "@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4))(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
"@eslint-community/regexpp": 4.11.1
- "@typescript-eslint/parser": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@typescript-eslint/parser": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
"@typescript-eslint/scope-manager": 8.7.0
- "@typescript-eslint/type-utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@typescript-eslint/type-utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
+ "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
"@typescript-eslint/visitor-keys": 8.7.0
eslint: 9.11.1(jiti@2.0.0)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- "@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
"@typescript-eslint/scope-manager": 8.7.0
"@typescript-eslint/types": 8.7.0
- "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.6.2)
+ "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.5.4)
"@typescript-eslint/visitor-keys": 8.7.0
debug: 4.3.7
eslint: 9.11.1(jiti@2.0.0)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
@@ -7999,21 +8995,21 @@ snapshots:
"@typescript-eslint/types": 8.7.0
"@typescript-eslint/visitor-keys": 8.7.0
- "@typescript-eslint/type-utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@typescript-eslint/type-utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
- "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.6.2)
- "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.5.4)
+ "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
debug: 4.3.7
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.5.4
transitivePeerDependencies:
- eslint
- supports-color
"@typescript-eslint/types@8.7.0": {}
- "@typescript-eslint/typescript-estree@8.7.0(typescript@5.6.2)":
+ "@typescript-eslint/typescript-estree@8.7.0(typescript@5.5.4)":
dependencies:
"@typescript-eslint/types": 8.7.0
"@typescript-eslint/visitor-keys": 8.7.0
@@ -8022,18 +9018,18 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- "@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)":
+ "@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)":
dependencies:
"@eslint-community/eslint-utils": 4.4.0(eslint@9.11.1(jiti@2.0.0))
"@typescript-eslint/scope-manager": 8.7.0
"@typescript-eslint/types": 8.7.0
- "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.6.2)
+ "@typescript-eslint/typescript-estree": 8.7.0(typescript@5.5.4)
eslint: 9.11.1(jiti@2.0.0)
transitivePeerDependencies:
- supports-color
@@ -8063,14 +9059,14 @@ snapshots:
"@unhead/schema": 1.11.6
"@unhead/shared": 1.11.6
- "@unhead/vue@1.11.6(vue@3.5.10(typescript@5.6.2))":
+ "@unhead/vue@1.11.6(vue@3.5.10(typescript@5.5.4))":
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.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
"@vercel/nft@0.26.5":
dependencies:
@@ -8090,27 +9086,27 @@ snapshots:
- encoding
- supports-color
- "@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))":
+ "@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))":
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.8(@types/node@22.7.4)(terser@5.34.1)
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
transitivePeerDependencies:
- supports-color
- "@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))":
+ "@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))":
dependencies:
vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1)
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
"@voxpelli/config-array-find-files@0.1.2(@eslint/config-array@0.17.1)":
dependencies:
"@eslint/config-array": 0.17.1
"@nodelib/fs.walk": 2.0.0
- "@vue-macros/common@1.14.0(rollup@4.22.5)(vue@3.5.10(typescript@5.6.2))":
+ "@vue-macros/common@1.14.0(rollup@4.22.5)(vue@3.5.10(typescript@5.5.4))":
dependencies:
"@babel/types": 7.25.6
"@rollup/pluginutils": 5.1.2(rollup@4.22.5)
@@ -8119,7 +9115,7 @@ snapshots:
local-pkg: 0.5.0
magic-string-ast: 0.6.2
optionalDependencies:
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
transitivePeerDependencies:
- rollup
@@ -8185,7 +9181,7 @@ snapshots:
"@vue/devtools-api@6.6.4": {}
- "@vue/devtools-core@7.4.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))":
+ "@vue/devtools-core@7.4.4(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))":
dependencies:
"@vue/devtools-kit": 7.4.4
"@vue/devtools-shared": 7.4.6
@@ -8193,7 +9189,7 @@ snapshots:
nanoid: 3.3.7
pathe: 1.1.2
vite-hot-client: 0.2.3(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
transitivePeerDependencies:
- vite
@@ -8227,20 +9223,64 @@ snapshots:
"@vue/shared": 3.5.10
csstype: 3.1.3
- "@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.6.2))":
+ "@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.5.4))":
dependencies:
"@vue/compiler-ssr": 3.5.10
"@vue/shared": 3.5.10
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
"@vue/shared@3.5.10": {}
+ "@vueuse/core@11.1.0(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@types/web-bluetooth": 0.0.20
+ "@vueuse/metadata": 11.1.0
+ "@vueuse/shared": 11.1.0(vue@3.5.10(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4))
+ transitivePeerDependencies:
+ - "@vue/composition-api"
+ - vue
+
+ "@vueuse/integrations@11.1.0(fuse.js@7.0.0)(qrcode@1.5.4)(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@vueuse/core": 11.1.0(vue@3.5.10(typescript@5.5.4))
+ "@vueuse/shared": 11.1.0(vue@3.5.10(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4))
+ optionalDependencies:
+ fuse.js: 7.0.0
+ qrcode: 1.5.4
+ transitivePeerDependencies:
+ - "@vue/composition-api"
+ - vue
+
+ "@vueuse/math@11.1.0(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ "@vueuse/shared": 11.1.0(vue@3.5.10(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4))
+ transitivePeerDependencies:
+ - "@vue/composition-api"
+ - vue
+
+ "@vueuse/metadata@11.1.0": {}
+
+ "@vueuse/shared@11.1.0(vue@3.5.10(typescript@5.5.4))":
+ dependencies:
+ vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4))
+ transitivePeerDependencies:
+ - "@vue/composition-api"
+ - vue
+
abbrev@1.1.1: {}
abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
acorn-import-attributes@1.9.5(acorn@8.12.1):
dependencies:
acorn: 8.12.1
@@ -8284,6 +9324,8 @@ snapshots:
ansi-styles@6.2.1: {}
+ any-promise@1.3.0: {}
+
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
@@ -8318,6 +9360,8 @@ snapshots:
delegates: 1.0.0
readable-stream: 3.6.2
+ arg@5.0.2: {}
+
argparse@2.0.1: {}
ast-kit@1.2.1:
@@ -8332,8 +9376,14 @@ snapshots:
async-sema@3.1.1: {}
+ async@2.6.4:
+ dependencies:
+ lodash: 4.17.21
+
async@3.2.6: {}
+ at-least-node@1.0.0: {}
+
autoprefixer@10.4.20(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
@@ -8422,8 +9472,15 @@ snapshots:
cac@6.7.14: {}
+ cache-content-type@1.0.1:
+ dependencies:
+ mime-types: 2.1.35
+ ylru: 1.4.0
+
callsites@3.1.0: {}
+ camelcase-css@2.0.1: {}
+
camelcase@5.3.1: {}
caniuse-api@3.0.0:
@@ -8457,6 +9514,25 @@ snapshots:
chalk@5.3.0: {}
+ changelogen@0.5.7(magicast@0.3.5):
+ dependencies:
+ c12: 1.11.2(magicast@0.3.5)
+ colorette: 2.0.20
+ consola: 3.2.3
+ convert-gitmoji: 0.1.5
+ mri: 1.2.0
+ node-fetch-native: 1.6.4
+ ofetch: 1.4.0
+ open: 10.1.0
+ pathe: 1.1.2
+ pkg-types: 1.2.0
+ scule: 1.3.0
+ semver: 7.6.3
+ std-env: 3.7.0
+ yaml: 2.5.1
+ transitivePeerDependencies:
+ - magicast
+
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -8503,6 +9579,8 @@ snapshots:
cluster-key-slot@1.1.2: {}
+ co@4.6.0: {}
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -8529,8 +9607,14 @@ snapshots:
colord@2.9.3: {}
+ colorette@2.0.20: {}
+
commander@2.20.3: {}
+ commander@4.1.1: {}
+
+ commander@6.2.1: {}
+
commander@7.2.0: {}
commander@8.3.0: {}
@@ -8557,10 +9641,23 @@ snapshots:
console-control-strings@1.1.0: {}
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ content-type@1.0.5: {}
+
+ convert-gitmoji@0.1.5: {}
+
convert-source-map@2.0.0: {}
cookie-es@1.2.2: {}
+ cookies@0.9.1:
+ dependencies:
+ depd: 2.0.0
+ keygrip: 1.1.0
+
copy-anything@3.0.5:
dependencies:
is-what: 4.1.16
@@ -8688,6 +9785,8 @@ snapshots:
dependencies:
mimic-response: 2.1.0
+ deep-equal@1.0.1: {}
+
deep-is@0.1.4: {}
deepmerge@4.3.1: {}
@@ -8709,6 +9808,8 @@ snapshots:
denque@2.1.0: {}
+ depd@1.1.2: {}
+
depd@2.0.0: {}
destr@2.0.3: {}
@@ -8721,10 +9822,14 @@ snapshots:
devalue@5.1.1: {}
+ didyoumean@1.2.2: {}
+
diff@7.0.0: {}
dijkstrajs@1.0.3: {}
+ dlv@1.1.3: {}
+
doctrine@3.0.0:
dependencies:
esutils: 2.0.3
@@ -8893,9 +9998,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-import-x@4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-import-x@4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4):
dependencies:
- "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ "@typescript-eslint/utils": 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.5.4)
debug: 4.3.7
doctrine: 3.0.0
eslint: 9.11.1(jiti@2.0.0)
@@ -9179,6 +10284,13 @@ snapshots:
jsonfile: 6.1.0
universalify: 2.0.1
+ fs-extra@9.1.0:
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
fs-minipass@2.1.0:
dependencies:
minipass: 3.3.6
@@ -9190,6 +10302,8 @@ snapshots:
function-bind@1.1.2: {}
+ fuse.js@7.0.0: {}
+
gauge@3.0.2:
dependencies:
aproba: 2.0.0
@@ -9322,6 +10436,12 @@ snapshots:
has-flag@4.0.0: {}
+ has-symbols@1.0.3: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.0.3
+
has-unicode@2.0.1: {}
hash-sum@2.0.0: {}
@@ -9336,6 +10456,26 @@ snapshots:
html-tags@3.3.1: {}
+ http-assert@1.5.0:
+ dependencies:
+ deep-equal: 1.0.1
+ http-errors: 1.8.1
+
+ http-errors@1.6.3:
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.3
+ setprototypeof: 1.1.0
+ statuses: 1.5.0
+
+ http-errors@1.8.1:
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 1.5.0
+ toidentifier: 1.0.1
+
http-errors@2.0.0:
dependencies:
depd: 2.0.0
@@ -9390,6 +10530,8 @@ snapshots:
once: 1.4.0
wrappy: 1.0.2
+ inherits@2.0.3: {}
+
inherits@2.0.4: {}
ini@1.3.8: {}
@@ -9436,6 +10578,10 @@ snapshots:
is-fullwidth-code-point@3.0.0: {}
+ is-generator-function@1.0.10:
+ dependencies:
+ has-tostringtag: 1.0.2
+
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@@ -9534,6 +10680,10 @@ snapshots:
optionalDependencies:
graceful-fs: 4.2.11
+ keygrip@1.1.0:
+ dependencies:
+ tsscmp: 1.0.6
+
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@@ -9544,6 +10694,56 @@ snapshots:
knitwork@1.1.0: {}
+ koa-compose@4.1.0: {}
+
+ koa-convert@2.0.0:
+ dependencies:
+ co: 4.6.0
+ koa-compose: 4.1.0
+
+ koa-send@5.0.1:
+ dependencies:
+ debug: 4.3.7
+ http-errors: 1.8.1
+ resolve-path: 1.4.0
+ transitivePeerDependencies:
+ - supports-color
+
+ koa-static@5.0.0:
+ dependencies:
+ debug: 3.2.7
+ koa-send: 5.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ koa@2.15.3:
+ dependencies:
+ accepts: 1.3.8
+ cache-content-type: 1.0.1
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookies: 0.9.1
+ debug: 4.3.7
+ delegates: 1.0.0
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ fresh: 0.5.2
+ http-assert: 1.5.0
+ http-errors: 1.8.1
+ is-generator-function: 1.0.10
+ koa-compose: 4.1.0
+ koa-convert: 2.0.0
+ on-finished: 2.4.1
+ only: 0.0.2
+ parseurl: 1.3.3
+ statuses: 1.5.0
+ type-is: 1.6.18
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
kolorist@1.8.0: {}
launch-editor@2.9.1:
@@ -9560,6 +10760,8 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lilconfig@2.1.0: {}
+
lilconfig@3.1.2: {}
lines-and-columns@1.2.4: {}
@@ -9606,10 +10808,14 @@ snapshots:
dependencies:
p-locate: 6.0.0
+ lodash.castarray@4.4.0: {}
+
lodash.defaults@4.2.0: {}
lodash.isarguments@3.1.0: {}
+ lodash.isplainobject@4.0.6: {}
+
lodash.memoize@4.1.2: {}
lodash.merge@4.6.2: {}
@@ -9646,15 +10852,25 @@ snapshots:
mdn-data@2.0.30: {}
+ media-typer@0.3.0: {}
+
merge-stream@2.0.0: {}
merge2@1.4.1: {}
+ methods@1.1.2: {}
+
micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
mime@1.6.0: {}
mime@3.0.0: {}
@@ -9667,6 +10883,8 @@ snapshots:
min-indent@1.0.1: {}
+ mini-svg-data-uri@1.4.4: {}
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -9679,6 +10897,8 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
+ minimist@1.2.8: {}
+
minipass@3.3.6:
dependencies:
yallist: 4.0.0
@@ -9694,6 +10914,10 @@ snapshots:
mitt@3.0.1: {}
+ mkdirp@0.5.6:
+ dependencies:
+ minimist: 1.2.8
+
mkdirp@1.0.4: {}
mlly@1.7.1:
@@ -9711,6 +10935,12 @@ snapshots:
ms@2.1.3: {}
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
nan@2.20.0: {}
nanoid@3.3.7: {}
@@ -9721,6 +10951,8 @@ snapshots:
natural-compare@1.4.0: {}
+ negotiator@0.6.3: {}
+
nitropack@2.9.7(magicast@0.3.5):
dependencies:
"@cloudflare/kv-asset-handler": 0.3.4
@@ -9861,18 +11093,18 @@ snapshots:
nuxi@3.14.0: {}
- nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
+ nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.5.4)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
dependencies:
"@nuxt/devalue": 2.0.2
- "@nuxt/devtools": 1.5.1(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.6.2))
+ "@nuxt/devtools": 1.5.1(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))(vue@3.5.10(typescript@5.5.4))
"@nuxt/kit": 3.13.2(magicast@0.3.5)(rollup@4.22.5)
"@nuxt/schema": 3.13.2(rollup@4.22.5)
"@nuxt/telemetry": 2.6.0(magicast@0.3.5)(rollup@4.22.5)
- "@nuxt/vite-builder": 3.13.2(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.6.2)(vue@3.5.10(typescript@5.6.2))
+ "@nuxt/vite-builder": 3.13.2(@types/node@22.7.4)(eslint@9.11.1(jiti@2.0.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.5)(terser@5.34.1)(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4))
"@unhead/dom": 1.11.6
"@unhead/shared": 1.11.6
"@unhead/ssr": 1.11.6
- "@unhead/vue": 1.11.6(vue@3.5.10(typescript@5.6.2))
+ "@unhead/vue": 1.11.6(vue@3.5.10(typescript@5.5.4))
"@vue/shared": 3.5.10
acorn: 8.12.1
c12: 1.11.2(magicast@0.3.5)
@@ -9920,13 +11152,13 @@ snapshots:
unhead: 1.11.6
unimport: 3.13.1(rollup@4.22.5)
unplugin: 1.14.1
- unplugin-vue-router: 0.10.8(rollup@4.22.5)(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))
+ unplugin-vue-router: 0.10.8(rollup@4.22.5)(vue-router@4.4.5(vue@3.5.10(typescript@5.5.4)))(vue@3.5.10(typescript@5.5.4))
unstorage: 1.12.0(ioredis@5.4.1)
untyped: 1.5.0
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
vue-bundle-renderer: 2.1.1
vue-devtools-stub: 0.1.0
- vue-router: 4.4.5(vue@3.5.10(typescript@5.6.2))
+ vue-router: 4.4.5(vue@3.5.10(typescript@5.5.4))
optionalDependencies:
"@parcel/watcher": 2.4.1
"@types/node": 22.7.4
@@ -9985,6 +11217,8 @@ snapshots:
object-assign@4.1.1: {}
+ object-hash@3.0.0: {}
+
ofetch@1.4.0:
dependencies:
destr: 2.0.3
@@ -10005,6 +11239,8 @@ snapshots:
dependencies:
mimic-fn: 4.0.0
+ only@0.0.2: {}
+
open@10.1.0:
dependencies:
default-browser: 5.2.1
@@ -10012,6 +11248,11 @@ snapshots:
is-inside-container: 1.0.0
is-wsl: 3.1.0
+ open@7.4.2:
+ dependencies:
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
open@8.4.2:
dependencies:
define-lazy-prop: 2.0.0
@@ -10114,6 +11355,8 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.2
+ path-to-regexp@6.3.0: {}
+
path-type@5.0.0: {}
pathe@1.1.2: {}
@@ -10126,6 +11369,10 @@ snapshots:
picomatch@4.0.2: {}
+ pify@2.3.0: {}
+
+ pirates@4.0.6: {}
+
pkg-types@1.2.0:
dependencies:
confbox: 0.1.7
@@ -10136,6 +11383,14 @@ snapshots:
pngjs@5.0.0: {}
+ portfinder@1.0.32:
+ dependencies:
+ async: 2.6.4
+ debug: 3.2.7
+ mkdirp: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+
postcss-calc@10.0.2(postcss@8.4.47):
dependencies:
postcss: 8.4.47
@@ -10173,6 +11428,25 @@ snapshots:
dependencies:
postcss: 8.4.47
+ postcss-import@15.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ postcss-js@4.0.1(postcss@8.4.47):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.47
+
+ postcss-load-config@4.0.2(postcss@8.4.47):
+ dependencies:
+ lilconfig: 3.1.2
+ yaml: 2.5.1
+ optionalDependencies:
+ postcss: 8.4.47
+
postcss-merge-longhand@7.0.4(postcss@8.4.47):
dependencies:
postcss: 8.4.47
@@ -10212,6 +11486,18 @@ snapshots:
postcss: 8.4.47
postcss-selector-parser: 6.1.2
+ postcss-nested@6.2.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
+ postcss-nesting@12.1.5(postcss@8.4.47):
+ dependencies:
+ "@csstools/selector-resolve-nested": 1.1.0(postcss-selector-parser@6.1.2)
+ "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.1.2)
+ postcss: 8.4.47
+ postcss-selector-parser: 6.1.2
+
postcss-normalize-charset@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
@@ -10274,6 +11560,11 @@ snapshots:
postcss: 8.4.47
postcss-value-parser: 4.2.0
+ postcss-selector-parser@6.0.10:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
@@ -10338,6 +11629,10 @@ snapshots:
defu: 6.1.4
destr: 2.0.3
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
read-pkg-up@7.0.1:
dependencies:
find-up: 4.1.0
@@ -10404,6 +11699,12 @@ snapshots:
dependencies:
jsesc: 0.5.0
+ replace-in-file@6.3.5:
+ dependencies:
+ chalk: 4.1.2
+ glob: 7.2.3
+ yargs: 17.7.2
+
require-directory@2.1.1: {}
require-main-filename@2.0.0: {}
@@ -10412,6 +11713,11 @@ snapshots:
resolve-from@5.0.0: {}
+ resolve-path@1.4.0:
+ dependencies:
+ http-errors: 1.6.3
+ path-is-absolute: 1.0.1
+
resolve-pkg-maps@1.0.0: {}
resolve@1.22.8:
@@ -10520,6 +11826,8 @@ snapshots:
set-blocking@2.0.0: {}
+ setprototypeof@1.1.0: {}
+
setprototypeof@1.2.0: {}
sharp@0.33.5:
@@ -10630,6 +11938,8 @@ snapshots:
standard-as-callback@2.1.0: {}
+ statuses@1.5.0: {}
+
statuses@2.0.1: {}
std-env@3.7.0: {}
@@ -10688,6 +11998,16 @@ snapshots:
postcss: 8.4.47
postcss-selector-parser: 6.1.2
+ sucrase@3.35.0:
+ dependencies:
+ "@jridgewell/gen-mapping": 0.3.5
+ commander: 4.1.1
+ glob: 10.4.5
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
superjson@2.2.1:
dependencies:
copy-anything: 3.0.5
@@ -10723,6 +12043,49 @@ snapshots:
system-architecture@0.1.0: {}
+ tailwind-config-viewer@2.0.4(tailwindcss@3.4.13):
+ dependencies:
+ "@koa/router": 12.0.2
+ commander: 6.2.1
+ fs-extra: 9.1.0
+ koa: 2.15.3
+ koa-static: 5.0.0
+ open: 7.4.2
+ portfinder: 1.0.32
+ replace-in-file: 6.3.5
+ tailwindcss: 3.4.13
+ transitivePeerDependencies:
+ - supports-color
+
+ tailwind-merge@2.5.2: {}
+
+ tailwindcss@3.4.13:
+ dependencies:
+ "@alloc/quick-lru": 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.6
+ lilconfig: 2.1.0
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.0
+ postcss: 8.4.47
+ postcss-import: 15.1.0(postcss@8.4.47)
+ postcss-js: 4.0.1(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-nested: 6.2.0(postcss@8.4.47)
+ postcss-selector-parser: 6.1.2
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
tapable@2.2.1: {}
tar-stream@3.1.7:
@@ -10753,8 +12116,18 @@ snapshots:
text-table@0.2.0: {}
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
tiny-invariant@1.3.3: {}
+ tinyexec@0.3.0: {}
+
tinyglobby@0.2.6:
dependencies:
fdir: 6.3.0(picomatch@4.0.2)
@@ -10772,12 +12145,16 @@ snapshots:
tr46@0.0.3: {}
- ts-api-utils@1.3.0(typescript@5.6.2):
+ ts-api-utils@1.3.0(typescript@5.5.4):
dependencies:
- typescript: 5.6.2
+ typescript: 5.5.4
+
+ ts-interface-checker@0.1.13: {}
tslib@2.7.0: {}
+ tsscmp@1.0.6: {}
+
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
@@ -10792,7 +12169,12 @@ snapshots:
type-fest@3.13.1: {}
- typescript@5.6.2: {}
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ typescript@5.5.4: {}
ufo@1.5.4: {}
@@ -10853,11 +12235,11 @@ snapshots:
universalify@2.0.1: {}
- unplugin-vue-router@0.10.8(rollup@4.22.5)(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2)):
+ unplugin-vue-router@0.10.8(rollup@4.22.5)(vue-router@4.4.5(vue@3.5.10(typescript@5.5.4)))(vue@3.5.10(typescript@5.5.4)):
dependencies:
"@babel/types": 7.25.6
"@rollup/pluginutils": 5.1.2(rollup@4.22.5)
- "@vue-macros/common": 1.14.0(rollup@4.22.5)(vue@3.5.10(typescript@5.6.2))
+ "@vue-macros/common": 1.14.0(rollup@4.22.5)(vue@3.5.10(typescript@5.5.4))
ast-walker-scope: 0.6.2
chokidar: 3.6.0
fast-glob: 3.3.2
@@ -10870,7 +12252,7 @@ snapshots:
unplugin: 1.14.1
yaml: 2.5.1
optionalDependencies:
- vue-router: 4.4.5(vue@3.5.10(typescript@5.6.2))
+ vue-router: 4.4.5(vue@3.5.10(typescript@5.5.4))
transitivePeerDependencies:
- rollup
- vue
@@ -10948,6 +12330,8 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
+ vary@1.1.2: {}
+
vite-hot-client@0.2.3(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
dependencies:
vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1)
@@ -10969,7 +12353,7 @@ snapshots:
- supports-color
- terser
- vite-plugin-checker@0.8.0(eslint@9.11.1(jiti@2.0.0))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
+ vite-plugin-checker@0.8.0(eslint@9.11.1(jiti@2.0.0))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
dependencies:
"@babel/code-frame": 7.24.7
ansi-escapes: 4.3.2
@@ -10989,7 +12373,7 @@ snapshots:
optionalDependencies:
eslint: 9.11.1(jiti@2.0.0)
optionator: 0.9.4
- typescript: 5.6.2
+ typescript: 5.5.4
vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.2(magicast@0.3.5)(rollup@4.22.5))(rollup@4.22.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
dependencies:
@@ -11061,6 +12445,10 @@ snapshots:
dependencies:
ufo: 1.5.4
+ vue-demi@0.14.10(vue@3.5.10(typescript@5.5.4)):
+ dependencies:
+ vue: 3.5.10(typescript@5.5.4)
+
vue-devtools-stub@0.1.0: {}
vue-eslint-parser@9.4.3(eslint@9.11.1(jiti@2.0.0)):
@@ -11076,20 +12464,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)):
+ vue-router@4.4.5(vue@3.5.10(typescript@5.5.4)):
dependencies:
"@vue/devtools-api": 6.6.4
- vue: 3.5.10(typescript@5.6.2)
+ vue: 3.5.10(typescript@5.5.4)
- vue@3.5.10(typescript@5.6.2):
+ vue@3.5.10(typescript@5.5.4):
dependencies:
"@vue/compiler-dom": 3.5.10
"@vue/compiler-sfc": 3.5.10
"@vue/runtime-dom": 3.5.10
- "@vue/server-renderer": 3.5.10(vue@3.5.10(typescript@5.6.2))
+ "@vue/server-renderer": 3.5.10(vue@3.5.10(typescript@5.5.4))
"@vue/shared": 3.5.10
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.5.4
webidl-conversions@3.0.1: {}
@@ -11181,6 +12569,8 @@ snapshots:
y18n: 5.0.8
yargs-parser: 21.1.1
+ ylru@1.4.0: {}
+
yocto-queue@0.1.0: {}
yocto-queue@1.1.1: {}
diff --git a/server/api/index.ts b/server/api/index.ts
index a65cd71..e98216c 100644
--- a/server/api/index.ts
+++ b/server/api/index.ts
@@ -1,23 +1,8 @@
-import { createCanvas, loadImage } from "canvas";
-import QRCode from "qrcode";
-import { z } from "zod";
+import { createCanvas } from "canvas";
import { resolve } from "path";
import sharp from "sharp";
-
-const time = (label: string) => {
- const start = performance.now();
- return () => {
- console.log(`${label}\t${performance.now() - start}`);
- };
-};
-
-const IMAGE_FORMATS = ["jpeg", "png", "webp"] as const;
-
-const settingsSchema = z.object({
- format: z.enum(IMAGE_FORMATS).default("png"),
- logo: z.string().min(1),
- content: z.string().min(1),
-});
+import { CANVAS_SIZE, renderQRCodeToCanvas } from "~/utils/renderer";
+import { settingsSchema } from "~/utils/settings";
export default defineEventHandler(async (event) => {
const query = getQuery(event);
@@ -36,66 +21,15 @@ export default defineEventHandler(async (event) => {
const { format, logo, content } = parsed.data;
- const tt = time("total");
- let t;
+ const canvas = createCanvas(CANVAS_SIZE, CANVAS_SIZE);
+ const logoUrl = resolve("public", `${logo}.png`);
+ await renderQRCodeToCanvas(canvas, content, logoUrl);
- const SIZE = 1000;
- const LOGO_PADDING = 1;
-
- t = time("render");
- const canvas = createCanvas(SIZE, SIZE);
- await QRCode.toCanvas(canvas, content, {
- errorCorrectionLevel: "H",
- width: SIZE,
- margin: 1,
- });
- t();
-
- t = time("count");
- const qrCode = QRCode.create(content, { errorCorrectionLevel: "H" });
- const moduleCount = qrCode.modules.size + 2;
- t();
-
- t = time("logo");
- const logoImage = await loadImage(resolve("public", `${logo}.png`));
-
- const moduleSize = SIZE / moduleCount;
-
- let logoModules = Math.floor(moduleCount * 0.3);
- if (logoModules % 2 !== moduleCount % 2) {
- logoModules += 1;
- }
-
- const backgroundSize = logoModules * moduleSize + 1;
- const backgroundPosition = (moduleSize * (moduleCount - logoModules)) / 2;
-
- const logoSize = backgroundSize - LOGO_PADDING * 2;
- const logoPosition = backgroundPosition + LOGO_PADDING;
-
- const ctx = canvas.getContext("2d");
- ctx.fillStyle = "white";
- ctx.fillRect(
- backgroundPosition,
- backgroundPosition,
- backgroundSize,
- backgroundSize,
- );
- ctx.drawImage(logoImage, logoPosition, logoPosition, logoSize, logoSize);
- t();
-
- t = time("buffer");
let image = canvas.toBuffer();
- t();
-
if (format !== "png") {
- t = time("convert");
image = await sharp(image).toFormat(format).toBuffer();
- t();
}
- tt();
-
event.node.res.setHeader("Content-Type", `image/${format}`);
return image;
});
-
diff --git a/utils/renderer.ts b/utils/renderer.ts
new file mode 100644
index 0000000..2e99170
--- /dev/null
+++ b/utils/renderer.ts
@@ -0,0 +1,45 @@
+import { loadImage, type Canvas, type CanvasRenderingContext2D } from "canvas";
+import QRCode from "qrcode";
+
+export const CANVAS_SIZE = 1000;
+export const LOGO_PADDING = 1;
+
+export const renderQRCodeToCanvas = async (
+ canvas: HTMLCanvasElement | Canvas,
+ content: string,
+ logoUrl: string,
+) => {
+ await QRCode.toCanvas(canvas, content, {
+ errorCorrectionLevel: "H",
+ width: CANVAS_SIZE,
+ margin: 1,
+ });
+
+ const qrCode = QRCode.create(content, { errorCorrectionLevel: "H" });
+ const moduleCount = qrCode.modules.size + 2;
+
+ const logoImage = await loadImage(logoUrl);
+
+ const moduleSize = CANVAS_SIZE / moduleCount;
+
+ let logoModules = Math.floor(moduleCount * 0.3);
+ if (logoModules % 2 !== moduleCount % 2) {
+ logoModules += 1;
+ }
+
+ const backgroundSize = logoModules * moduleSize + 1;
+ const backgroundPosition = (moduleSize * (moduleCount - logoModules)) / 2;
+
+ const logoSize = backgroundSize - LOGO_PADDING * 2;
+ const logoPosition = backgroundPosition + LOGO_PADDING;
+
+ const ctx = canvas.getContext("2d") as CanvasRenderingContext2D;
+ ctx.fillStyle = "white";
+ ctx.fillRect(
+ backgroundPosition,
+ backgroundPosition,
+ backgroundSize,
+ backgroundSize,
+ );
+ ctx.drawImage(logoImage, logoPosition, logoPosition, logoSize, logoSize);
+};
diff --git a/utils/settings.ts b/utils/settings.ts
new file mode 100644
index 0000000..1719cf0
--- /dev/null
+++ b/utils/settings.ts
@@ -0,0 +1,13 @@
+import { z } from "zod";
+
+export const LOGOS = ["session", "instagram"] as const;
+
+export const IMAGE_FORMATS = ["jpeg", "png", "webp"] as const;
+
+export type ImageFormat = (typeof IMAGE_FORMATS)[number];
+
+export const settingsSchema = z.object({
+ format: z.enum(IMAGE_FORMATS).default("png"),
+ logo: z.enum(LOGOS),
+ content: z.string().min(1),
+});