diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 67cba0de..91a1f7c9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -33,6 +33,7 @@ jobs: cd src pnpm install pnpm lint + typecheck: name: Typecheck runs-on: ubuntu-latest @@ -53,11 +54,12 @@ jobs: check-latest: true cache: "pnpm" - - name: pnpm lint + - name: pnpm typecheck run: | cd src pnpm install pnpm typecheck + formatcheck: name: Check format runs-on: ubuntu-latest @@ -78,7 +80,7 @@ jobs: check-latest: true cache: "pnpm" - - name: pnpm lint + - name: pnpm format:check run: | cd src pnpm install diff --git a/Dockerfile b/Dockerfile index f07f3e06..0a6365f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,37 +1,29 @@ -# As a workaround we have to build on nodejs 18 -# nodejs 20 hangs on build with armv6/armv7 -FROM docker.io/library/node:18-alpine AS build_node_modules +# nodejs 20 hangs on build with armv6/armv7 (https://github.com/nodejs/docker-node/issues/2077) +FROM docker.io/library/node:18-alpine AS build +WORKDIR /app # Install pnpm RUN corepack enable pnpm # Copy Web UI -COPY src /app -WORKDIR /app -RUN pnpm install --prod +COPY src ./ +RUN pnpm install # Build UI RUN pnpm build -RUN mv node_modules /node_modules - # Copy build result to a new image. # This saves a lot of disk space. FROM docker.io/library/node:20-alpine +WORKDIR /app + HEALTHCHECK CMD /usr/bin/timeout 5s /bin/sh -c "/usr/bin/wg show | /bin/grep -q interface || exit 1" --interval=1m --timeout=5s --retries=3 -COPY --from=build_node_modules /app/.output /app -# Move node_modules one directory up, so during development -# we don't have to mount it in a volume. -# This results in much faster reloading! -# -# Also, some node_modules might be native, and -# the architecture & OS of your development machine might differ -# than what runs inside of docker. -COPY --from=build_node_modules /node_modules /node_modules +# Copy build +COPY --from=build /app/.output /app # Copy the needed wg-password scripts -COPY --from=build_node_modules /app/wgpw.sh /bin/wgpw +COPY --from=build /app/wgpw.sh /bin/wgpw RUN chmod +x /bin/wgpw # Install Linux packages @@ -50,5 +42,4 @@ ENV DEBUG=Server,WireGuard ENV PORT=51821 # Run Web UI -WORKDIR /app CMD ["/usr/bin/dumb-init", "node", "server/index.mjs"] \ No newline at end of file diff --git a/Dockerfile-dev b/Dockerfile-dev deleted file mode 100644 index 729d4633..00000000 --- a/Dockerfile-dev +++ /dev/null @@ -1,56 +0,0 @@ -# As a workaround we have to build on nodejs 18 -# nodejs 20 hangs on build with armv6/armv7 -FROM docker.io/library/node:18-alpine AS build_node_modules - -# Install pnpm -RUN corepack enable pnpm - -# Copy Web UI -COPY src /app -WORKDIR /app -RUN pnpm install - -# Build UI -RUN pnpm build - -RUN mv node_modules /node_modules - -# Copy build result to a new image. -# This saves a lot of disk space. -FROM docker.io/library/node:20-alpine -HEALTHCHECK CMD /usr/bin/timeout 5s /bin/sh -c "/usr/bin/wg show | /bin/grep -q interface || exit 1" --interval=1m --timeout=5s --retries=3 -COPY --from=build_node_modules /app /app - -# Move node_modules one directory up, so during development -# we don't have to mount it in a volume. -# This results in much faster reloading! -# -# Also, some node_modules might be native, and -# the architecture & OS of your development machine might differ -# than what runs inside of docker. -COPY --from=build_node_modules /node_modules /node_modules - -# Copy the needed wg-password scripts -COPY --from=build_node_modules /app/wgpw.sh /bin/wgpw -RUN chmod +x /bin/wgpw - -# Install Linux packages -RUN apk add --no-cache \ - dpkg \ - dumb-init \ - iptables \ - iptables-legacy \ - wireguard-tools - -# Install pnpm -RUN corepack enable pnpm - -# Use iptables-legacy -RUN update-alternatives --install /sbin/iptables iptables /sbin/iptables-legacy 10 --slave /sbin/iptables-restore iptables-restore /sbin/iptables-legacy-restore --slave /sbin/iptables-save iptables-save /sbin/iptables-legacy-save - -# Set Environment -ENV DEBUG=Server,WireGuard -ENV PORT=51821 - -# Run Web UI -WORKDIR /app \ No newline at end of file diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 00000000..74383667 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,28 @@ +# As a workaround we have to build on nodejs 18 +# nodejs 20 hangs on build with armv6/armv7 +FROM docker.io/library/node:20-alpine +WORKDIR /app + +# Install pnpm +RUN corepack enable pnpm + +# Copy Web UI +COPY src ./ +RUN pnpm install + +HEALTHCHECK CMD /usr/bin/timeout 5s /bin/sh -c "/usr/bin/wg show | /bin/grep -q interface || exit 1" --interval=1m --timeout=5s --retries=3 + +# Install Linux packages +RUN apk add --no-cache \ + dpkg \ + dumb-init \ + iptables \ + iptables-legacy \ + wireguard-tools + +# Use iptables-legacy +RUN update-alternatives --install /sbin/iptables iptables /sbin/iptables-legacy 10 --slave /sbin/iptables-restore iptables-restore /sbin/iptables-legacy-restore --slave /sbin/iptables-save iptables-save /sbin/iptables-legacy-save + +# Set Environment +ENV DEBUG=Server,WireGuard +ENV PORT=51821 \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 82bdfdf7..aef0b7b5 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,12 +1,12 @@ services: wg-easy: build: - dockerfile: ./Dockerfile-dev + dockerfile: ./Dockerfile.dev command: pnpm run dev volumes: - ./src/:/app/ - # Breaks type completion otherwise - - temp:/app/.nuxt + - temp:/app/.nuxt/ + - temp1:/app/node_modules/ # - ./data/:/etc/wireguard ports: - "51820:51820/udp" @@ -15,9 +15,12 @@ services: - NET_ADMIN - SYS_MODULE environment: - # - PASSWORD=p + - PASSWORD_HASH=$$2y$$10$$Vhi2tF1i2c/ReW3LdLOru.z7LDITqBgb2wrSVw6sa.KEtbpYgSAf2 # foobar123 - WG_HOST=192.168.1.233 +# folders should be generated inside container volumes: temp: driver: local + temp1: + driver: local diff --git a/src/pnpm-lock.yaml b/src/pnpm-lock.yaml index 604dfb94..13f8f143 100644 --- a/src/pnpm-lock.yaml +++ b/src/pnpm-lock.yaml @@ -12,13 +12,13 @@ importers: version: 3.4.2(magicast@0.3.4)(rollup@4.19.2) '@nuxtjs/i18n': specifier: ^8.3.3 - version: 8.3.3(magicast@0.3.4)(rollup@4.19.2)(vue@3.4.35(typescript@5.5.4)) + version: 8.3.3(magicast@0.3.4)(rollup@4.19.2)(vue@3.4.37(typescript@5.5.4)) '@nuxtjs/tailwindcss': specifier: ^6.12.1 version: 6.12.1(magicast@0.3.4)(rollup@4.19.2) '@pinia/nuxt': specifier: ^0.5.3 - version: 0.5.3(magicast@0.3.4)(rollup@4.19.2)(typescript@5.5.4)(vue@3.4.35(typescript@5.5.4)) + version: 0.5.3(magicast@0.3.4)(rollup@4.19.2)(typescript@5.5.4)(vue@3.4.37(typescript@5.5.4)) apexcharts: specifier: ^3.51.0 version: 3.51.0 @@ -36,7 +36,7 @@ importers: version: 3.12.4(@parcel/watcher@2.4.1)(@types/node@22.0.2)(eslint@9.8.0)(ioredis@5.4.1)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.19.2)(terser@5.31.3)(typescript@5.5.4)(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue-tsc@2.0.29(typescript@5.5.4)) pinia: specifier: ^2.2.1 - version: 2.2.1(typescript@5.5.4)(vue@3.4.35(typescript@5.5.4)) + version: 2.2.1(typescript@5.5.4)(vue@3.4.37(typescript@5.5.4)) qrcode: specifier: ^1.5.4 version: 1.5.4 @@ -48,10 +48,10 @@ importers: version: 4.0.2 vue: specifier: latest - version: 3.4.35(typescript@5.5.4) + version: 3.4.37(typescript@5.5.4) vue3-apexcharts: specifier: ^1.5.3 - version: 1.5.3(apexcharts@3.51.0)(vue@3.4.35(typescript@5.5.4)) + version: 1.5.3(apexcharts@3.51.0)(vue@3.4.37(typescript@5.5.4)) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2142,28 +2142,28 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.4.35': + '@vue/compiler-core@3.4.37': resolution: { - integrity: sha512-gKp0zGoLnMYtw4uS/SJRRO7rsVggLjvot3mcctlMXunYNsX+aRJDqqw/lV5/gHK91nvaAAlWFgdVl020AW1Prg==, + integrity: sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==, } - '@vue/compiler-dom@3.4.35': + '@vue/compiler-dom@3.4.37': resolution: { - integrity: sha512-pWIZRL76/oE/VMhdv/ovZfmuooEni6JPG1BFe7oLk5DZRo/ImydXijoZl/4kh2406boRQ7lxTYzbZEEXEhj9NQ==, + integrity: sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==, } - '@vue/compiler-sfc@3.4.35': + '@vue/compiler-sfc@3.4.37': resolution: { - integrity: sha512-xacnRS/h/FCsjsMfxBkzjoNxyxEyKyZfBch/P4vkLRvYJwe5ChXmZZrj8Dsed/752H2Q3JE8kYu9Uyha9J6PgA==, + integrity: sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==, } - '@vue/compiler-ssr@3.4.35': + '@vue/compiler-ssr@3.4.37': resolution: { - integrity: sha512-7iynB+0KB1AAJKk/biENTV5cRGHRdbdaD7Mx3nWcm1W8bVD6QmnH3B4AHhQQ1qZHhqFwzEzMwiytXm3PX1e60A==, + integrity: sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==, } '@vue/compiler-vue2@2.7.16': @@ -2207,36 +2207,36 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.35': + '@vue/reactivity@3.4.37': resolution: { - integrity: sha512-Ggtz7ZZHakriKioveJtPlStYardwQH6VCs9V13/4qjHSQb/teE30LVJNrbBVs4+aoYGtTQKJbTe4CWGxVZrvEw==, + integrity: sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==, } - '@vue/runtime-core@3.4.35': + '@vue/runtime-core@3.4.37': resolution: { - integrity: sha512-D+BAjFoWwT5wtITpSxwqfWZiBClhBbR+bm0VQlWYFOadUUXFo+5wbe9ErXhLvwguPiLZdEF13QAWi2vP3ZD5tA==, + integrity: sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==, } - '@vue/runtime-dom@3.4.35': + '@vue/runtime-dom@3.4.37': resolution: { - integrity: sha512-yGOlbos+MVhlS5NWBF2HDNgblG8e2MY3+GigHEyR/dREAluvI5tuUUgie3/9XeqhPE4LF0i2wjlduh5thnfOqw==, + integrity: sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==, } - '@vue/server-renderer@3.4.35': + '@vue/server-renderer@3.4.37': resolution: { - integrity: sha512-iZ0e/u9mRE4T8tNhlo0tbA+gzVkgv8r5BX6s1kRbOZqfpq14qoIvCZ5gIgraOmYkMYrSEZgkkojFPr+Nyq/Mnw==, + integrity: sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==, } peerDependencies: - vue: 3.4.35 + vue: 3.4.37 - '@vue/shared@3.4.35': + '@vue/shared@3.4.37': resolution: { - integrity: sha512-hvuhBYYDe+b1G8KHxsQ0diDqDMA8D9laxWZhNAjE83VZb5UDaXl9Xnz7cGdDSyiHM90qqI/CyGMcpBpiDy6VVQ==, + integrity: sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==, } '@yr/monotone-cubic-spline@1.0.3': @@ -3386,6 +3386,13 @@ packages: } engines: { node: '>=0.12' } + entities@5.0.0: + resolution: + { + integrity: sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==, + } + engines: { node: '>=0.12' } + error-ex@1.3.2: resolution: { @@ -7237,10 +7244,10 @@ packages: apexcharts: '> 3.0.0' vue: '> 3.0.0' - vue@3.4.35: + vue@3.4.37: resolution: { - integrity: sha512-+fl/GLmI4GPileHftVlCdB7fUL4aziPcqTudpTGXCT8s+iZWuOCeNEB5haX6Uz2IpRrbEXOgIFbe+XciCuGbNQ==, + integrity: sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==, } peerDependencies: typescript: '*' @@ -7944,7 +7951,7 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@intlify/bundle-utils@7.5.1(vue-i18n@9.13.1(vue@3.4.35(typescript@5.5.4)))': + '@intlify/bundle-utils@7.5.1(vue-i18n@9.13.1(vue@3.4.37(typescript@5.5.4)))': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 @@ -7957,7 +7964,7 @@ snapshots: source-map-js: 1.2.0 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.35(typescript@5.5.4)) + vue-i18n: 9.13.1(vue@3.4.37(typescript@5.5.4)) '@intlify/core-base@9.13.1': dependencies: @@ -7981,12 +7988,12 @@ snapshots: '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@3.0.1(rollup@4.19.2)(vue-i18n@9.13.1(vue@3.4.35(typescript@5.5.4)))': + '@intlify/unplugin-vue-i18n@3.0.1(rollup@4.19.2)(vue-i18n@9.13.1(vue@3.4.37(typescript@5.5.4)))': dependencies: - '@intlify/bundle-utils': 7.5.1(vue-i18n@9.13.1(vue@3.4.35(typescript@5.5.4))) + '@intlify/bundle-utils': 7.5.1(vue-i18n@9.13.1(vue@3.4.37(typescript@5.5.4))) '@intlify/shared': 9.13.1 '@rollup/pluginutils': 5.1.0(rollup@4.19.2) - '@vue/compiler-sfc': 3.4.35 + '@vue/compiler-sfc': 3.4.37 debug: 4.3.6 fast-glob: 3.3.2 js-yaml: 4.1.0 @@ -7996,7 +8003,7 @@ snapshots: source-map-js: 1.2.0 unplugin: 1.12.0 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.35(typescript@5.5.4)) + vue-i18n: 9.13.1(vue@3.4.37(typescript@5.5.4)) transitivePeerDependencies: - rollup - supports-color @@ -8273,12 +8280,12 @@ snapshots: - rollup - supports-color - '@nuxt/vite-builder@3.12.4(@types/node@22.0.2)(eslint@9.8.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.19.2)(terser@5.31.3)(typescript@5.5.4)(vue-tsc@2.0.29(typescript@5.5.4))(vue@3.4.35(typescript@5.5.4))': + '@nuxt/vite-builder@3.12.4(@types/node@22.0.2)(eslint@9.8.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.19.2)(terser@5.31.3)(typescript@5.5.4)(vue-tsc@2.0.29(typescript@5.5.4))(vue@3.4.37(typescript@5.5.4))': dependencies: '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.19.2) '@rollup/plugin-replace': 5.0.7(rollup@4.19.2) - '@vitejs/plugin-vue': 5.1.2(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.35(typescript@5.5.4)) - '@vitejs/plugin-vue-jsx': 4.0.0(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.35(typescript@5.5.4)) + '@vitejs/plugin-vue': 5.1.2(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)) + '@vitejs/plugin-vue-jsx': 4.0.0(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)) autoprefixer: 10.4.19(postcss@8.4.40) clear: 0.1.0 consola: 3.2.3 @@ -8307,7 +8314,7 @@ snapshots: vite: 5.3.5(@types/node@22.0.2)(terser@5.31.3) vite-node: 2.0.5(@types/node@22.0.2)(terser@5.31.3) vite-plugin-checker: 0.7.2(eslint@9.8.0)(optionator@0.9.4)(typescript@5.5.4)(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue-tsc@2.0.29(typescript@5.5.4)) - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) vue-bundle-renderer: 2.1.0 transitivePeerDependencies: - '@biomejs/biome' @@ -8342,16 +8349,16 @@ snapshots: - rollup - supports-color - '@nuxtjs/i18n@8.3.3(magicast@0.3.4)(rollup@4.19.2)(vue@3.4.35(typescript@5.5.4))': + '@nuxtjs/i18n@8.3.3(magicast@0.3.4)(rollup@4.19.2)(vue@3.4.37(typescript@5.5.4))': dependencies: '@intlify/h3': 0.5.0 '@intlify/shared': 9.13.1 - '@intlify/unplugin-vue-i18n': 3.0.1(rollup@4.19.2)(vue-i18n@9.13.1(vue@3.4.35(typescript@5.5.4))) + '@intlify/unplugin-vue-i18n': 3.0.1(rollup@4.19.2)(vue-i18n@9.13.1(vue@3.4.37(typescript@5.5.4))) '@intlify/utils': 0.12.0 '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.19.2) '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.19.2) '@rollup/plugin-yaml': 4.1.2(rollup@4.19.2) - '@vue/compiler-sfc': 3.4.35 + '@vue/compiler-sfc': 3.4.37 debug: 4.3.6 defu: 6.1.4 estree-walker: 3.0.3 @@ -8364,8 +8371,8 @@ snapshots: sucrase: 3.35.0 ufo: 1.5.4 unplugin: 1.12.0 - vue-i18n: 9.13.1(vue@3.4.35(typescript@5.5.4)) - vue-router: 4.4.2(vue@3.4.35(typescript@5.5.4)) + vue-i18n: 9.13.1(vue@3.4.37(typescript@5.5.4)) + vue-router: 4.4.2(vue@3.4.37(typescript@5.5.4)) transitivePeerDependencies: - magicast - petite-vue-i18n @@ -8456,10 +8463,10 @@ snapshots: '@parcel/watcher-win32-ia32': 2.4.1 '@parcel/watcher-win32-x64': 2.4.1 - '@pinia/nuxt@0.5.3(magicast@0.3.4)(rollup@4.19.2)(typescript@5.5.4)(vue@3.4.35(typescript@5.5.4))': + '@pinia/nuxt@0.5.3(magicast@0.3.4)(rollup@4.19.2)(typescript@5.5.4)(vue@3.4.37(typescript@5.5.4))': dependencies: '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.19.2) - pinia: 2.2.1(typescript@5.5.4)(vue@3.4.35(typescript@5.5.4)) + pinia: 2.2.1(typescript@5.5.4)(vue@3.4.37(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - magicast @@ -8825,13 +8832,13 @@ snapshots: '@unhead/schema': 1.9.16 '@unhead/shared': 1.9.16 - '@unhead/vue@1.9.16(vue@3.4.35(typescript@5.5.4))': + '@unhead/vue@1.9.16(vue@3.4.37(typescript@5.5.4))': dependencies: '@unhead/schema': 1.9.16 '@unhead/shared': 1.9.16 hookable: 5.5.3 unhead: 1.9.16 - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) '@vercel/nft@0.26.5': dependencies: @@ -8851,20 +8858,20 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.35(typescript@5.5.4))': + '@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.37(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.2(@babel/core@7.25.2) vite: 5.3.5(@types/node@22.0.2)(terser@5.31.3) - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.2(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.35(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.2(vite@5.3.5(@types/node@22.0.2)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4))': dependencies: vite: 5.3.5(@types/node@22.0.2)(terser@5.31.3) - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) '@volar/language-core@2.4.0-alpha.18': dependencies: @@ -8878,16 +8885,16 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue-macros/common@1.12.0(rollup@4.19.2)(vue@3.4.35(typescript@5.5.4))': + '@vue-macros/common@1.12.0(rollup@4.19.2)(vue@3.4.37(typescript@5.5.4))': dependencies: '@babel/types': 7.25.2 '@rollup/pluginutils': 5.1.0(rollup@4.19.2) - '@vue/compiler-sfc': 3.4.35 + '@vue/compiler-sfc': 3.4.37 ast-kit: 1.0.0 local-pkg: 0.5.0 magic-string-ast: 0.6.2 optionalDependencies: - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) transitivePeerDependencies: - rollup @@ -8918,37 +8925,37 @@ snapshots: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.8 '@babel/parser': 7.25.3 - '@vue/compiler-sfc': 3.4.35 + '@vue/compiler-sfc': 3.4.37 - '@vue/compiler-core@3.4.35': + '@vue/compiler-core@3.4.37': dependencies: '@babel/parser': 7.25.3 - '@vue/shared': 3.4.35 - entities: 4.5.0 + '@vue/shared': 3.4.37 + entities: 5.0.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.35': + '@vue/compiler-dom@3.4.37': dependencies: - '@vue/compiler-core': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/compiler-core': 3.4.37 + '@vue/shared': 3.4.37 - '@vue/compiler-sfc@3.4.35': + '@vue/compiler-sfc@3.4.37': dependencies: '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.35 - '@vue/compiler-dom': 3.4.35 - '@vue/compiler-ssr': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/compiler-core': 3.4.37 + '@vue/compiler-dom': 3.4.37 + '@vue/compiler-ssr': 3.4.37 + '@vue/shared': 3.4.37 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.40 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.35': + '@vue/compiler-ssr@3.4.37': dependencies: - '@vue/compiler-dom': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/compiler-dom': 3.4.37 + '@vue/shared': 3.4.37 '@vue/compiler-vue2@2.7.16': dependencies: @@ -8985,9 +8992,9 @@ snapshots: '@vue/language-core@2.0.29(typescript@5.5.4)': dependencies: '@volar/language-core': 2.4.0-alpha.18 - '@vue/compiler-dom': 3.4.35 + '@vue/compiler-dom': 3.4.37 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.4.35 + '@vue/shared': 3.4.37 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -8995,29 +9002,29 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@vue/reactivity@3.4.35': + '@vue/reactivity@3.4.37': dependencies: - '@vue/shared': 3.4.35 + '@vue/shared': 3.4.37 - '@vue/runtime-core@3.4.35': + '@vue/runtime-core@3.4.37': dependencies: - '@vue/reactivity': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/reactivity': 3.4.37 + '@vue/shared': 3.4.37 - '@vue/runtime-dom@3.4.35': + '@vue/runtime-dom@3.4.37': dependencies: - '@vue/reactivity': 3.4.35 - '@vue/runtime-core': 3.4.35 - '@vue/shared': 3.4.35 + '@vue/reactivity': 3.4.37 + '@vue/runtime-core': 3.4.37 + '@vue/shared': 3.4.37 csstype: 3.1.3 - '@vue/server-renderer@3.4.35(vue@3.4.35(typescript@5.5.4))': + '@vue/server-renderer@3.4.37(vue@3.4.37(typescript@5.5.4))': dependencies: - '@vue/compiler-ssr': 3.4.35 - '@vue/shared': 3.4.35 - vue: 3.4.35(typescript@5.5.4) + '@vue/compiler-ssr': 3.4.37 + '@vue/shared': 3.4.37 + vue: 3.4.37(typescript@5.5.4) - '@vue/shared@3.4.35': {} + '@vue/shared@3.4.37': {} '@yr/monotone-cubic-spline@1.0.3': {} @@ -9608,6 +9615,8 @@ snapshots: entities@4.5.0: {} + entities@5.0.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -10809,11 +10818,11 @@ snapshots: '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.19.2) '@nuxt/schema': 3.12.4(rollup@4.19.2) '@nuxt/telemetry': 2.5.4(magicast@0.3.4)(rollup@4.19.2) - '@nuxt/vite-builder': 3.12.4(@types/node@22.0.2)(eslint@9.8.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.19.2)(terser@5.31.3)(typescript@5.5.4)(vue-tsc@2.0.29(typescript@5.5.4))(vue@3.4.35(typescript@5.5.4)) + '@nuxt/vite-builder': 3.12.4(@types/node@22.0.2)(eslint@9.8.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.19.2)(terser@5.31.3)(typescript@5.5.4)(vue-tsc@2.0.29(typescript@5.5.4))(vue@3.4.37(typescript@5.5.4)) '@unhead/dom': 1.9.16 '@unhead/ssr': 1.9.16 - '@unhead/vue': 1.9.16(vue@3.4.35(typescript@5.5.4)) - '@vue/shared': 3.4.35 + '@unhead/vue': 1.9.16(vue@3.4.37(typescript@5.5.4)) + '@vue/shared': 3.4.37 acorn: 8.12.1 c12: 1.11.1(magicast@0.3.4) chokidar: 3.6.0 @@ -10856,13 +10865,13 @@ snapshots: unenv: 1.10.0 unimport: 3.9.1(rollup@4.19.2) unplugin: 1.12.0 - unplugin-vue-router: 0.10.2(rollup@4.19.2)(vue-router@4.4.2(vue@3.4.35(typescript@5.5.4)))(vue@3.4.35(typescript@5.5.4)) + unplugin-vue-router: 0.10.2(rollup@4.19.2)(vue-router@4.4.2(vue@3.4.37(typescript@5.5.4)))(vue@3.4.37(typescript@5.5.4)) unstorage: 1.10.2(ioredis@5.4.1) untyped: 1.4.2 - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) vue-bundle-renderer: 2.1.0 vue-devtools-stub: 0.1.0 - vue-router: 4.4.2(vue@3.4.35(typescript@5.5.4)) + vue-router: 4.4.2(vue@3.4.37(typescript@5.5.4)) optionalDependencies: '@parcel/watcher': 2.4.1 '@types/node': 22.0.2 @@ -11067,11 +11076,11 @@ snapshots: pify@2.3.0: {} - pinia@2.2.1(typescript@5.5.4)(vue@3.4.35(typescript@5.5.4)): + pinia@2.2.1(typescript@5.5.4)(vue@3.4.37(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.35(typescript@5.5.4) - vue-demi: 0.14.10(vue@3.4.35(typescript@5.5.4)) + vue: 3.4.37(typescript@5.5.4) + vue-demi: 0.14.10(vue@3.4.37(typescript@5.5.4)) optionalDependencies: typescript: 5.5.4 @@ -11927,11 +11936,11 @@ snapshots: universalify@2.0.1: {} - unplugin-vue-router@0.10.2(rollup@4.19.2)(vue-router@4.4.2(vue@3.4.35(typescript@5.5.4)))(vue@3.4.35(typescript@5.5.4)): + unplugin-vue-router@0.10.2(rollup@4.19.2)(vue-router@4.4.2(vue@3.4.37(typescript@5.5.4)))(vue@3.4.37(typescript@5.5.4)): dependencies: '@babel/types': 7.25.2 '@rollup/pluginutils': 5.1.0(rollup@4.19.2) - '@vue-macros/common': 1.12.0(rollup@4.19.2)(vue@3.4.35(typescript@5.5.4)) + '@vue-macros/common': 1.12.0(rollup@4.19.2)(vue@3.4.37(typescript@5.5.4)) ast-walker-scope: 0.6.1 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -11943,7 +11952,7 @@ snapshots: unplugin: 1.12.0 yaml: 2.5.0 optionalDependencies: - vue-router: 4.4.2(vue@3.4.35(typescript@5.5.4)) + vue-router: 4.4.2(vue@3.4.37(typescript@5.5.4)) transitivePeerDependencies: - rollup - vue @@ -12092,7 +12101,7 @@ 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.2(@babel/core@7.25.2) - '@vue/compiler-dom': 3.4.35 + '@vue/compiler-dom': 3.4.37 kolorist: 1.8.0 magic-string: 0.30.11 vite: 5.3.5(@types/node@22.0.2)(terser@5.31.3) @@ -12136,9 +12145,9 @@ snapshots: dependencies: ufo: 1.5.4 - vue-demi@0.14.10(vue@3.4.35(typescript@5.5.4)): + vue-demi@0.14.10(vue@3.4.37(typescript@5.5.4)): dependencies: - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) vue-devtools-stub@0.1.0: {} @@ -12155,17 +12164,17 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.13.1(vue@3.4.35(typescript@5.5.4)): + vue-i18n@9.13.1(vue@3.4.37(typescript@5.5.4)): dependencies: '@intlify/core-base': 9.13.1 '@intlify/shared': 9.13.1 '@vue/devtools-api': 6.6.3 - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) - vue-router@4.4.2(vue@3.4.35(typescript@5.5.4)): + vue-router@4.4.2(vue@3.4.37(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) vue-tsc@2.0.29(typescript@5.5.4): dependencies: @@ -12174,18 +12183,18 @@ snapshots: semver: 7.6.3 typescript: 5.5.4 - vue3-apexcharts@1.5.3(apexcharts@3.51.0)(vue@3.4.35(typescript@5.5.4)): + vue3-apexcharts@1.5.3(apexcharts@3.51.0)(vue@3.4.37(typescript@5.5.4)): dependencies: apexcharts: 3.51.0 - vue: 3.4.35(typescript@5.5.4) + vue: 3.4.37(typescript@5.5.4) - vue@3.4.35(typescript@5.5.4): + vue@3.4.37(typescript@5.5.4): dependencies: - '@vue/compiler-dom': 3.4.35 - '@vue/compiler-sfc': 3.4.35 - '@vue/runtime-dom': 3.4.35 - '@vue/server-renderer': 3.4.35(vue@3.4.35(typescript@5.5.4)) - '@vue/shared': 3.4.35 + '@vue/compiler-dom': 3.4.37 + '@vue/compiler-sfc': 3.4.37 + '@vue/runtime-dom': 3.4.37 + '@vue/server-renderer': 3.4.37(vue@3.4.37(typescript@5.5.4)) + '@vue/shared': 3.4.37 optionalDependencies: typescript: 5.5.4