diff --git a/.github/workflows/deploy-to-beta-manually.yml b/.github/workflows/deploy-to-beta-manually.yml index ff957360..418eb187 100644 --- a/.github/workflows/deploy-to-beta-manually.yml +++ b/.github/workflows/deploy-to-beta-manually.yml @@ -44,7 +44,7 @@ jobs: uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: login to GitHub Container Registry - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ${{ env.DOCKER_REGISTRY }} username: ${{ env.DOCKER_REGISTRY_USER_NAME }} @@ -62,7 +62,7 @@ jobs: context: workflow - name: build and push image - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . file: ./environment/prod/app/Dockerfile @@ -88,7 +88,7 @@ jobs: rm: true - name: run deployment script over ssh - uses: appleboy/ssh-action@823bd89e131d8d508129f9443cad5855e9ba96f0 # v1.2.4 + uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5 with: timeout: 10s command_timeout: 10m diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml index fb28021c..4e19bcdf 100644 --- a/.github/workflows/deploy-to-prod.yml +++ b/.github/workflows/deploy-to-prod.yml @@ -33,7 +33,7 @@ jobs: uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: login to GitHub Container Registry - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ${{ env.DOCKER_REGISTRY }} username: ${{ env.DOCKER_REGISTRY_USER_NAME }} @@ -53,7 +53,7 @@ jobs: context: workflow - name: build and push image - uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0 + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 with: context: . file: ./environment/prod/app/Dockerfile @@ -78,7 +78,7 @@ jobs: target: ${{ secrets.TOBY_VPS_LIVE_APP_PATH }} rm: true - - uses: appleboy/ssh-action@823bd89e131d8d508129f9443cad5855e9ba96f0 # v1.2.4 + - uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5 with: timeout: 10s command_timeout: 10m diff --git a/.github/workflows/run-command-on-beta.yml b/.github/workflows/run-command-on-beta.yml index 70d9c69c..9e8311f5 100644 --- a/.github/workflows/run-command-on-beta.yml +++ b/.github/workflows/run-command-on-beta.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: run php artisan command - uses: appleboy/ssh-action@823bd89e131d8d508129f9443cad5855e9ba96f0 # v1.2.4 + uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5 with: timeout: 10s command_timeout: 10m diff --git a/.github/workflows/test-and-lint-js.yml b/.github/workflows/test-and-lint-js.yml index 6bf5830d..07679ac6 100644 --- a/.github/workflows/test-and-lint-js.yml +++ b/.github/workflows/test-and-lint-js.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - name: Cache dependencies - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: path: node_modules key: ${{ runner.os }}-npm-dependencies-${{ hashFiles('package.lock') }} @@ -38,7 +38,7 @@ jobs: - name: Set up node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version: 22.17.1 + node-version: 22.22.2 - name: Instal npm dependencies run: npm clean-install diff --git a/.github/workflows/test-and-lint-php.yml b/.github/workflows/test-and-lint-php.yml index 2653dea0..e7457ecf 100644 --- a/.github/workflows/test-and-lint-php.yml +++ b/.github/workflows/test-and-lint-php.yml @@ -28,10 +28,10 @@ jobs: runs-on: ubuntu-24.04 env: # renovate: datasource=docker depName=php - PHP_VERSION: 8.4.16 + PHP_VERSION: 8.4.19 services: postgres: - image: postgres:15@sha256:a7711af921c380de0fda7c48a61fab5ac4def145fd9fc00ccea7355fd6270bb4 + image: postgres:15@sha256:c635fa3e3b7421a659d34abdfd6d492f679cbe8149e261a501237b55c5a94212 env: POSTGRES_DB: toby-test POSTGRES_USER: toby @@ -46,14 +46,14 @@ jobs: run: composer validate - name: Cache dependencies - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: path: vendor key: ${{ runner.os }}-composer-dependencies-${{ hashFiles('composer.lock') }} restore-keys: ${{ runner.os }}-composer-dependencies - name: Setup PHP - uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0 + uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # 2.37.0 with: php-version: ${{ env.PHP_VERSION }} extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_pgsql, intl, gd diff --git a/composer.json b/composer.json index d72446da..5830ce83 100644 --- a/composer.json +++ b/composer.json @@ -8,34 +8,34 @@ "php": "^8.4", "ext-pdo": "*", "ext-redis": "*", - "azuyalabs/yasumi": "^2.9.0", - "barryvdh/laravel-dompdf": "^3.1.1", - "dompdf/dompdf": "^3.1.4", + "azuyalabs/yasumi": "^2.11.0", + "barryvdh/laravel-dompdf": "^3.1.2", + "dompdf/dompdf": "^3.1.5", "fakerphp/faker": "^1.24.1", "guzzlehttp/guzzle": "^7.10.0", - "inertiajs/inertia-laravel": "^2.0.18", + "inertiajs/inertia-laravel": "^2.0.22", "laragear/cache-query": "^4.2.2", - "laravel/framework": "^11.45.3", - "laravel/sanctum": "^4.1.2", - "laravel/socialite": "^5.24.1", - "laravel/telescope": "^5.16.1", - "laravel/tinker": "^2.10.2", - "maatwebsite/excel": "^3.1.67", + "laravel/framework": "^11.51.0", + "laravel/sanctum": "^4.3.1", + "laravel/socialite": "^5.24.3", + "laravel/telescope": "^5.19.0", + "laravel/tinker": "^2.11.1", + "maatwebsite/excel": "^3.1.68", "phpoffice/phpword": "^1.4.0", - "sentry/sentry-laravel": "^4.15.3", - "spatie/laravel-google-calendar": "^3.8.4", - "spatie/laravel-model-states": "^2.11.3", - "spatie/laravel-permission": "^6.24.0", - "spatie/laravel-slack-slash-command": "^1.12.2" + "sentry/sentry-laravel": "^4.24.0", + "spatie/laravel-google-calendar": "^3.8.5", + "spatie/laravel-model-states": "^2.13.1", + "spatie/laravel-permission": "^6.24.1", + "spatie/laravel-slack-slash-command": "^1.13.0" }, "require-dev": { - "barryvdh/laravel-debugbar": "^3.16.3", + "barryvdh/laravel-debugbar": "^3.16.5", "blumilksoftware/codestyle": "^4.1.0", - "laravel/dusk": "^8.3.4", + "laravel/dusk": "^8.3.6", "mockery/mockery": "^1.6.12", - "nunomaduro/collision": "^8.8.3", - "phpunit/phpunit": "^11.5.46", - "spatie/laravel-ignition": "^2.9.1" + "nunomaduro/collision": "^8.9.1", + "phpunit/phpunit": "^11.5.55", + "spatie/laravel-ignition": "^2.12.0" }, "autoload": { "psr-4": { diff --git a/docker-compose.yml b/docker-compose.yml index b3846050..9475e5f2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,7 +48,7 @@ services: condition: service_healthy database: - image: postgres:15@sha256:a7711af921c380de0fda7c48a61fab5ac4def145fd9fc00ccea7355fd6270bb4 + image: postgres:15@sha256:c635fa3e3b7421a659d34abdfd6d492f679cbe8149e261a501237b55c5a94212 container_name: toby-db-dev environment: - PGPASSWORD=${DOCKER_DEV_DB_ROOT_PASSWORD} @@ -85,7 +85,7 @@ services: restart: unless-stopped mailpit: - image: axllent/mailpit:v1.27@sha256:e22dce5b36f93c77082e204a3942fb6b283b7896e057458400a4c88344c3df68 + image: axllent/mailpit:v1.29@sha256:c5a6d0ba4d08187f70f305471da5fd9ad424fdfc2f25a2308226a786335dfa9f container_name: toby-mailpit-dev labels: - "traefik.enable=true" @@ -109,7 +109,7 @@ services: restart: unless-stopped selenium: - image: selenium/standalone-chrome@sha256:57bc98a9023c2189459dfaa0b4f127300007ef70d7dba3444c837338c468dba4 + image: selenium/standalone-chrome@sha256:aae9b4477f2c1af57c0d7c7e3711211d2287ceb865b9ec8d0b59c6c2a83416a5 container_name: toby-selenium-dev volumes: - /dev/shm:/dev/shm diff --git a/environment/dev/app/Dockerfile b/environment/dev/app/Dockerfile index 27bca2f0..ba090244 100644 --- a/environment/dev/app/Dockerfile +++ b/environment/dev/app/Dockerfile @@ -1,10 +1,10 @@ # renovate: datasource=docker depName=php -ARG PHP_VERSION=8.4.11 +ARG PHP_VERSION=8.4.19 ARG PHP_MODULE_NAME=php${PHP_VERSION} # https://github.com/nginx/unit/tags ARG UNIT_VERSION=1.34.1-1 -FROM alpine:3.22.2@sha256:4b7ce07002c69e8f3d704a9c5d6fd3053be500b7f1c69fc0d80990c2ad8dd412 AS secops-tools +FROM alpine:3.22.3@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2 AS secops-tools # https://github.com/FiloSottile/age/releases ARG AGE_VERSION="1.1.1" @@ -20,10 +20,10 @@ RUN wget --output-document age.tar.gz "https://github.com/FiloSottile/age/releas && chmod +x /usr/local/bin/sops # https://hub.docker.com/r/composer/composer -FROM composer/composer:2.8.12-bin@sha256:f1a57d9cabfc04430058288eaab6c18967b19a3870b5fe71bf0c6afd67968653 AS composer-bin +FROM composer/composer:2.9.5-bin@sha256:d2cb40ee5709ed47a41f0d5de97a270c73c30d2efc16163714c57f56bf2690cf AS composer-bin # https://hub.docker.com/_/node -FROM node:22.17.1-bullseye-slim@sha256:741a60f76e79ab4080ebb10d24ec0c2aa4527fc44e33a8d609c416cc351b4fff AS node +FROM node:22.22.2-bullseye-slim@sha256:c286bc140790fa918e9fa32f1b44f66ee0bfd9c9c10a1ca05361c1ae48daf3de AS node FROM php:${PHP_VERSION}-cli-bullseye AS unit-modules-builder @@ -120,7 +120,7 @@ RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmour --o # For other versions check: https://pecl.php.net/package/xdebug # renovate: datasource=github-tags depName=xdebug/xdebug -ARG XDEBUG_VERSION=3.4.7 +ARG XDEBUG_VERSION=3.5.1 ARG INSTALL_XDEBUG=true RUN if [ ${INSTALL_XDEBUG} = true ]; then \ diff --git a/environment/prod/app/Dockerfile b/environment/prod/app/Dockerfile index f7133419..e0568c37 100644 --- a/environment/prod/app/Dockerfile +++ b/environment/prod/app/Dockerfile @@ -1,11 +1,11 @@ # renovate: datasource=docker depName=php -ARG PHP_VERSION=8.4.11 +ARG PHP_VERSION=8.4.19 ARG PHP_MODULE_NAME=php${PHP_VERSION} # https://github.com/nginx/unit/tags ARG UNIT_VERSION=1.34.1-1 ### PHP DEPENDENCIES ### -FROM composer:2.8.12@sha256:5248900ab8b5f7f880c2d62180e40960cd87f60149ec9a1abfd62ac72a02577c AS vendor +FROM composer:2.9.5@sha256:743aebe48ca67097c36819040633ea77e44a561eca135e4fc84c002e63a1ba07 AS vendor WORKDIR /app_composer_dependencies @@ -20,7 +20,7 @@ RUN composer install \ --ignore-platform-reqs ### FRONTEND ### -FROM node:22.17.1-bullseye-slim@sha256:741a60f76e79ab4080ebb10d24ec0c2aa4527fc44e33a8d609c416cc351b4fff AS frontend +FROM node:22.22.2-bullseye-slim@sha256:c286bc140790fa918e9fa32f1b44f66ee0bfd9c9c10a1ca05361c1ae48daf3de AS frontend WORKDIR /app_frontend_dependencies diff --git a/environment/prod/deployment/beta/docker-compose.beta.yml b/environment/prod/deployment/beta/docker-compose.beta.yml index 34888d3d..1e6c62d6 100644 --- a/environment/prod/deployment/beta/docker-compose.beta.yml +++ b/environment/prod/deployment/beta/docker-compose.beta.yml @@ -46,7 +46,7 @@ services: - .deployment toby-beta-database: - image: postgres:15@sha256:a7711af921c380de0fda7c48a61fab5ac4def145fd9fc00ccea7355fd6270bb4 + image: postgres:15@sha256:c635fa3e3b7421a659d34abdfd6d492f679cbe8149e261a501237b55c5a94212 container_name: toby-beta-database environment: - PGPASSWORD=${DOCKER_TOBY_BETA_DB_ROOT_PASSWORD:? variable DOCKER_TOBY_BETA_DB_ROOT_PASSWORD not set} diff --git a/environment/prod/deployment/prod/docker-compose.prod.yml b/environment/prod/deployment/prod/docker-compose.prod.yml index 8318c1d0..9cf5f3e8 100644 --- a/environment/prod/deployment/prod/docker-compose.prod.yml +++ b/environment/prod/deployment/prod/docker-compose.prod.yml @@ -50,7 +50,7 @@ services: - .deployment toby-prod-database: - image: postgres:15@sha256:a7711af921c380de0fda7c48a61fab5ac4def145fd9fc00ccea7355fd6270bb4 + image: postgres:15@sha256:c635fa3e3b7421a659d34abdfd6d492f679cbe8149e261a501237b55c5a94212 container_name: toby-prod-database environment: - PGPASSWORD=${DOCKER_TOBY_PROD_DB_ROOT_PASSWORD:? variable DOCKER_TOBY_PROD_DB_ROOT_PASSWORD not set} diff --git a/package-lock.json b/package-lock.json index a092f067..6a4a65cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,26 +9,26 @@ "@blumilksoftware/eslint-config": "^3.0.2", "@headlessui/vue": "^1.7.23", "@heroicons/vue": "^2.2.0", - "@inertiajs/vue3": "^2.0.17", + "@inertiajs/vue3": "^2.3.18", "@tailwindcss/forms": "^0.5.11", "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.19", "@vitejs/plugin-vue": "^5.2.4", - "@vue/compiler-sfc": "^3.5.26", + "@vue/compiler-sfc": "^3.5.31", "@vueuse/core": "^11.3.0", - "autoprefixer": "^10.4.23", - "axios": "^1.13.2", + "autoprefixer": "^10.4.27", + "axios": "^1.13.6", "echarts": "^5.6.0", - "eslint": "^9.30.1", + "eslint": "^9.39.4", "flatpickr": "^4.6.13", "floating-vue": "^5.2.2", "laravel-vite-plugin": "^1.3.0", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "luxon": "^3.7.2", - "postcss": "^8.5.6", + "postcss": "^8.5.8", "tailwindcss": "^3.4.19", - "vite": "^6.3.5", - "vue": "^3.5.26", + "vite": "^6.3.7", + "vue": "^3.5.31", "vue-echarts": "^7.0.3", "vue-flatpickr-component": "^11.0.5", "vue-loader": "^17.4.2", @@ -72,9 +72,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" @@ -580,14 +580,14 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", - "minimatch": "^3.1.2" + "minimatch": "^3.1.5" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -646,9 +646,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", - "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", "license": "MIT", "dependencies": { "ajv": "^6.14.0", @@ -658,7 +658,7 @@ "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", - "minimatch": "^3.1.3", + "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" }, "engines": { @@ -706,9 +706,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", - "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -836,9 +836,9 @@ } }, "node_modules/@inertiajs/core": { - "version": "2.3.17", - "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-2.3.17.tgz", - "integrity": "sha512-CELuVhq2cBVrqxmrbRKqseuIQPBA6PcgDU7EPkPQxK02Lxxg7wTZWZZ5omaGBT+5mQtr0bkEUqUF2vxYbu4ogw==", + "version": "2.3.18", + "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-2.3.18.tgz", + "integrity": "sha512-StOszdE28nx9uxY4I28d7oLRGLdu/F9pRgWody2k29Qe9WqAoPHVQ5VJabTi2RTYHJXZrZZ+Wgtw3qVRZMrwOA==", "license": "MIT", "dependencies": { "@types/lodash-es": "^4.17.12", @@ -849,12 +849,12 @@ } }, "node_modules/@inertiajs/vue3": { - "version": "2.3.17", - "resolved": "https://registry.npmjs.org/@inertiajs/vue3/-/vue3-2.3.17.tgz", - "integrity": "sha512-ZepsiOeEZElDQl+dcPdxN2/mtR067BpFRgzmha4VKnGUE6+BR8VLxKnFy1rleH/wmPI8WviZgBs4jmIKMcyghg==", + "version": "2.3.18", + "resolved": "https://registry.npmjs.org/@inertiajs/vue3/-/vue3-2.3.18.tgz", + "integrity": "sha512-027MSfejuJi0Tz5thCbvr5jfEYdKNnTS5uWTmnEET/AOibL3c3wMr+Fp13vMA0TRbr/clGiCEq/57y8vNQsxGg==", "license": "MIT", "dependencies": { - "@inertiajs/core": "2.3.17", + "@inertiajs/core": "2.3.18", "@types/lodash-es": "^4.17.12", "laravel-precognition": "^1.0.2", "lodash-es": "^4.17.23" @@ -1656,103 +1656,103 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.29.tgz", - "integrity": "sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.32.tgz", + "integrity": "sha512-4x74Tbtqnda8s/NSD6e1Dr5p1c8HdMU5RWSjMSUzb8RTcUQqevDCxVAitcLBKT+ie3o0Dl9crc/S/opJM7qBGQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@vue/shared": "3.5.29", + "@babel/parser": "^7.29.2", + "@vue/shared": "3.5.32", "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.29.tgz", - "integrity": "sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.32.tgz", + "integrity": "sha512-ybHAu70NtiEI1fvAUz3oXZqkUYEe5J98GjMDpTGl5iHb0T15wQYLR4wE3h9xfuTNA+Cm2f4czfe8B4s+CCH57Q==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.29", - "@vue/shared": "3.5.29" + "@vue/compiler-core": "3.5.32", + "@vue/shared": "3.5.32" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.29.tgz", - "integrity": "sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.32.tgz", + "integrity": "sha512-8UYUYo71cP/0YHMO814TRZlPuUUw3oifHuMR7Wp9SNoRSrxRQnhMLNlCeaODNn6kNTJsjFoQ/kqIj4qGvya4Xg==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@vue/compiler-core": "3.5.29", - "@vue/compiler-dom": "3.5.29", - "@vue/compiler-ssr": "3.5.29", - "@vue/shared": "3.5.29", + "@babel/parser": "^7.29.2", + "@vue/compiler-core": "3.5.32", + "@vue/compiler-dom": "3.5.32", + "@vue/compiler-ssr": "3.5.32", + "@vue/shared": "3.5.32", "estree-walker": "^2.0.2", "magic-string": "^0.30.21", - "postcss": "^8.5.6", + "postcss": "^8.5.8", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.29.tgz", - "integrity": "sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.32.tgz", + "integrity": "sha512-Gp4gTs22T3DgRotZ8aA/6m2jMR+GMztvBXUBEUOYOcST+giyGWJ4WvFd7QLHBkzTxkfOt8IELKNdpzITLbA2rw==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.29", - "@vue/shared": "3.5.29" + "@vue/compiler-dom": "3.5.32", + "@vue/shared": "3.5.32" } }, "node_modules/@vue/reactivity": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.29.tgz", - "integrity": "sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.32.tgz", + "integrity": "sha512-/ORasxSGvZ6MN5gc+uE364SxFdJ0+WqVG0CENXaGW58TOCdrAW76WWaplDtECeS1qphvtBZtR+3/o1g1zL4xPQ==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.29" + "@vue/shared": "3.5.32" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.29.tgz", - "integrity": "sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.32.tgz", + "integrity": "sha512-pDrXCejn4UpFDFmMd27AcJEbHaLemaE5o4pbb7sLk79SRIhc6/t34BQA7SGNgYtbMnvbF/HHOftYBgFJtUoJUQ==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.29", - "@vue/shared": "3.5.29" + "@vue/reactivity": "3.5.32", + "@vue/shared": "3.5.32" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.29.tgz", - "integrity": "sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.32.tgz", + "integrity": "sha512-1CDVv7tv/IV13V8Nip1k/aaObVbWqRlVCVezTwx3K07p7Vxossp5JU1dcPNhJk3w347gonIUT9jQOGutyJrSVQ==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.29", - "@vue/runtime-core": "3.5.29", - "@vue/shared": "3.5.29", + "@vue/reactivity": "3.5.32", + "@vue/runtime-core": "3.5.32", + "@vue/shared": "3.5.32", "csstype": "^3.2.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.29.tgz", - "integrity": "sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.32.tgz", + "integrity": "sha512-IOjm2+JQwRFS7W28HNuJeXQle9KdZbODFY7hFGVtnnghF51ta20EWAZJHX+zLGtsHhaU6uC9BGPV52KVpYryMQ==", "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.29", - "@vue/shared": "3.5.29" + "@vue/compiler-ssr": "3.5.32", + "@vue/shared": "3.5.32" }, "peerDependencies": { - "vue": "3.5.29" + "vue": "3.5.32" } }, "node_modules/@vue/shared": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.29.tgz", - "integrity": "sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vueuse/core": { @@ -2211,14 +2211,14 @@ } }, "node_modules/axios": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", - "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.14.0.tgz", + "integrity": "sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" } }, "node_modules/balanced-match": { @@ -2779,24 +2779,24 @@ } }, "node_modules/eslint": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", - "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", + "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.3", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", + "ajv": "^6.14.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", @@ -2815,7 +2815,7 @@ "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -3039,9 +3039,9 @@ "license": "MIT" }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -3850,9 +3850,9 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash-es": { @@ -4449,10 +4449,13 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/punycode": { "version": "2.3.1", @@ -5427,9 +5430,9 @@ } }, "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "license": "MIT", "engines": { "node": ">=12" @@ -5439,16 +5442,16 @@ } }, "node_modules/vue": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.29.tgz", - "integrity": "sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.32.tgz", + "integrity": "sha512-vM4z4Q9tTafVfMAK7IVzmxg34rSzTFMyIe0UUEijUCkn9+23lj0WRfA83dg7eQZIUlgOSGrkViIaCfqSAUXsMw==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.29", - "@vue/compiler-sfc": "3.5.29", - "@vue/runtime-dom": "3.5.29", - "@vue/server-renderer": "3.5.29", - "@vue/shared": "3.5.29" + "@vue/compiler-dom": "3.5.32", + "@vue/compiler-sfc": "3.5.32", + "@vue/runtime-dom": "3.5.32", + "@vue/server-renderer": "3.5.32", + "@vue/shared": "3.5.32" }, "peerDependencies": { "typescript": "*" diff --git a/package.json b/package.json index bef561e9..cedfa225 100644 --- a/package.json +++ b/package.json @@ -12,26 +12,26 @@ "@blumilksoftware/eslint-config": "^3.0.2", "@headlessui/vue": "^1.7.23", "@heroicons/vue": "^2.2.0", - "@inertiajs/vue3": "^2.0.17", + "@inertiajs/vue3": "^2.3.18", "@tailwindcss/forms": "^0.5.11", "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.19", "@vitejs/plugin-vue": "^5.2.4", - "@vue/compiler-sfc": "^3.5.26", + "@vue/compiler-sfc": "^3.5.31", "@vueuse/core": "^11.3.0", - "autoprefixer": "^10.4.23", - "axios": "^1.13.2", + "autoprefixer": "^10.4.27", + "axios": "^1.13.6", "echarts": "^5.6.0", - "eslint": "^9.30.1", + "eslint": "^9.39.4", "flatpickr": "^4.6.13", "floating-vue": "^5.2.2", "laravel-vite-plugin": "^1.3.0", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "luxon": "^3.7.2", - "postcss": "^8.5.6", + "postcss": "^8.5.8", "tailwindcss": "^3.4.19", - "vite": "^6.3.5", - "vue": "^3.5.26", + "vite": "^6.3.7", + "vue": "^3.5.31", "vue-echarts": "^7.0.3", "vue-flatpickr-component": "^11.0.5", "vue-loader": "^17.4.2",