From 17d55ec063b9177309dd90fcf226c6c4dcf2ec48 Mon Sep 17 00:00:00 2001 From: Vasily Kuzin Date: Sun, 28 Jul 2024 18:12:05 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=D1=83=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20ESLint=20(#204)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 📝 Описание изменений Обновление `@exer7um/eslint-config` до последней версии и исправление ошибок. --- .eslintrc | 3 - docs/.vitepress/theme/index.ts | 4 +- package.json | 2 +- pnpm-lock.yaml | 593 +++++++++++++----- src/runtime/components/UtilsMapWidget.vue | 1 + src/runtime/composables/useFetchAuth.ts | 4 +- src/runtime/composables/useHighlightedText.ts | 4 +- src/runtime/composables/usePhoneFormatter.ts | 6 +- src/runtime/composables/usePriceFormatter.ts | 4 +- tests/components/UtilsDate.spec.ts | 5 +- tests/components/UtilsInput.spec.ts | 5 +- tests/components/UtilsInputMasked.spec.ts | 13 +- tests/components/UtilsMapWidget.spec.ts | 3 +- tests/components/UtilsPassword.spec.ts | 5 +- tests/components/UtilsPhone.spec.ts | 7 +- tests/components/UtilsTextArea.spec.ts | 5 +- tests/composables/useHighlightedText.spec.ts | 3 +- tests/composables/usePhoneFormatter.spec.ts | 7 +- tests/composables/usePriceFormatter.spec.ts | 7 +- tests/fixtures/basic/app.vue | 2 - tests/fixtures/basic/server/routes/sitemap.ts | 2 +- vitest.config.ts | 4 +- 22 files changed, 497 insertions(+), 192 deletions(-) delete mode 100644 .eslintrc diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index fc7a78d..0000000 --- a/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "@pacific-agency" -} diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 94a17a9..634e067 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -1,5 +1,3 @@ -import DefaultTheme from "vitepress/theme" - import "./theme.css" -export default DefaultTheme +export { default } from "vitepress/theme" diff --git a/package.json b/package.json index 49c52ee..6ed10c6 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "ohash": "^1.1.3" }, "devDependencies": { - "@exer7um/eslint-config": "1.1.4", + "@exer7um/eslint-config": "1.3.1", "@exer7um/prettier-config": "0.4.3", "@nuxt/eslint-config": "0.3.13", "@nuxt/module-builder": "0.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 074454c..04efe00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,14 +34,14 @@ importers: version: 3.4.33(typescript@5.5.3) devDependencies: '@exer7um/eslint-config': - specifier: 1.1.4 - version: 1.1.4(magicast@0.3.4)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))(vue-eslint-parser@9.4.3(eslint@9.6.0)) + specifier: 1.3.1 + version: 1.3.1(magicast@0.3.4)(rollup@4.18.1)(tailwindcss@3.4.7)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))(vue-eslint-parser@9.4.3(eslint@9.8.0)) '@exer7um/prettier-config': specifier: 0.4.3 version: 0.4.3(postcss@8.4.39) '@nuxt/eslint-config': specifier: 0.3.13 - version: 0.3.13(eslint@9.6.0)(typescript@5.5.3) + version: 0.3.13(eslint@9.8.0)(typescript@5.5.3) '@nuxt/module-builder': specifier: 0.8.1 version: 0.8.1(@nuxt/kit@3.12.4(magicast@0.3.4)(rollup@4.18.1))(nuxi@3.12.0)(typescript@5.5.3) @@ -65,7 +65,7 @@ importers: version: 15.2.7 nuxt: specifier: 3.12.4 - version: 3.12.4(@parcel/watcher@2.4.1)(@types/node@20.14.11)(encoding@0.1.13)(eslint@9.6.0)(ioredis@5.4.1)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) + version: 3.12.4(@parcel/watcher@2.4.1)(@types/node@20.14.11)(encoding@0.1.13)(eslint@9.8.0)(ioredis@5.4.1)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) typescript: specifier: 5.5.3 version: 5.5.3 @@ -143,6 +143,10 @@ packages: '@algolia/transporter@4.24.0': resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -352,10 +356,6 @@ packages: search-insights: optional: true - '@es-joy/jsdoccomment@0.43.1': - resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} - engines: {node: '>=16'} - '@es-joy/jsdoccomment@0.46.0': resolution: {integrity: sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ==} engines: {node: '>=16'} @@ -928,8 +928,8 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.17.0': - resolution: {integrity: sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==} + '@eslint/config-array@0.17.1': + resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/config-inspector@0.4.12': @@ -942,20 +942,20 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.6.0': - resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.7.0': resolution: {integrity: sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.8.0': + resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@exer7um/eslint-config@1.1.4': - resolution: {integrity: sha512-+uj5ESYVPY0LF9+2xd19yTk9WAvtCoBqTsUyrDJAHvTXTAAkHgMPTxZPcH+86Bnv2U54zQoulaQwVhQcVVY1/g==} + '@exer7um/eslint-config@1.3.1': + resolution: {integrity: sha512-eTILtcMe+h3CkZz1ffVONesyor/Nl4jifKQv8jJt+/4zIOjwh58pTxncbAMAI5C0BGIAoQgxE1wDYn8YqpvgaA==} '@exer7um/prettier-config@0.4.3': resolution: {integrity: sha512-7QoIuYq3XwTCRHCgu3IeC8KtR2RIv34ZQEQHAr+otf6x3bOaYylJKWuUOiYuvsrrDQkKxIkrpy3FojpIgq/3dw==} @@ -1830,6 +1830,9 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1854,9 +1857,15 @@ 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: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -1968,6 +1977,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} @@ -2077,6 +2090,10 @@ packages: 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@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -2315,6 +2332,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} @@ -2342,6 +2363,9 @@ packages: devalue@5.0.0: resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2354,6 +2378,9 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -2495,20 +2522,23 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-plugin-depend@0.9.0: + resolution: {integrity: sha512-LApHjbTFvzuZR2hpHt67ehawywGpmLAQV0Th65oiTssmXk2UcbXdsr0+hCQFdV+C30HMZHSwofL0BSzLveNACA==} + eslint-plugin-import-x@0.5.3: resolution: {integrity: sha512-hJ/wkMcsLQXAZL3+txXIDpbW5cqwdm1rLTqV4VRY03aIbzE3zWE7rPZKW6Gzf7xyl1u3V1iYC6tOG77d9NF4GQ==} engines: {node: '>=16'} peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 - eslint-plugin-jsdoc@48.5.2: - resolution: {integrity: sha512-VXBJFviQz30rynlOEQ+dNWLmeopjoAgutUVrWOZwm6Ki4EVDm4XkyIqAV/Zhf7FcDr0AG0aGmRn5FxxCtAF0tA==} + eslint-plugin-jsdoc@48.7.0: + resolution: {integrity: sha512-5oiVf7Y+ZxGYQTlLq81X72n+S+hjvS/u0upAdbpPEeaIZILK3MKN8lm/6QqKioBjm/qZ0B5XpMQUtc2fUkqXAg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-jsdoc@48.7.0: - resolution: {integrity: sha512-5oiVf7Y+ZxGYQTlLq81X72n+S+hjvS/u0upAdbpPEeaIZILK3MKN8lm/6QqKioBjm/qZ0B5XpMQUtc2fUkqXAg==} + eslint-plugin-jsdoc@48.8.3: + resolution: {integrity: sha512-AtIvwwW9D17MRkM0Z0y3/xZYaa9mdAvJrkY6fU/HNUwGbmMtHVvK4qRM9CDixGVtfNrQitb8c6zQtdh6cTOvLg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -2519,13 +2549,14 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-perfectionist@2.11.0: - resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} + eslint-plugin-perfectionist@3.0.0: + resolution: {integrity: sha512-B+leJTo1YjxiNIm8Yv0rCHp4eWh9RaJHO6T1ifxd26wg8NCbEiWSdqZVeYLWPCI+zS1dlf89WpOkUzG7cE4vtQ==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.37.0 + svelte-eslint-parser: ^0.40.0 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -2543,18 +2574,42 @@ packages: peerDependencies: eslint: '>=8.44.0' + eslint-plugin-sonarjs@1.0.4: + resolution: {integrity: sha512-jF0eGCUsq/HzMub4ExAyD8x1oEgjOyB9XVytYGyWgSFvdiJQJp6IuP7RmtauCf06o6N/kZErh+zW4b10y1WZ+Q==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^8.0.0 || ^9.0.0 + + eslint-plugin-tailwindcss@3.17.4: + resolution: {integrity: sha512-gJAEHmCq2XFfUP/+vwEfEJ9igrPeZFg+skeMtsxquSQdxba9XRk5bn0Bp9jxG1VV9/wwPKi1g3ZjItu6MIjhNg==} + engines: {node: '>=18.12.0'} + peerDependencies: + tailwindcss: ^3.4.0 + eslint-plugin-unicorn@53.0.0: resolution: {integrity: sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==} engines: {node: '>=18.18'} peerDependencies: eslint: '>=8.56.0' + eslint-plugin-unicorn@54.0.0: + resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==} + engines: {node: '>=18.18'} + peerDependencies: + eslint: '>=8.56.0' + eslint-plugin-vue@9.27.0: resolution: {integrity: sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-vuejs-accessibility@2.4.1: + resolution: {integrity: sha512-ZRZhPdslplZXSF71MtSG+zXYRAT5KiHR4JVuo/DERQf9noAkDvi5W418VOE1qllmJd7wTenndxi1q8XeDMxdHw==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-yml@1.14.0: resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -2582,8 +2637,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.6.0: - resolution: {integrity: sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w==} + eslint@9.8.0: + resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -2673,6 +2728,9 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fd-package-json@1.2.0: + resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -3211,6 +3269,10 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} @@ -3357,6 +3419,10 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3417,6 +3483,9 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + module-replacements@2.2.0: + resolution: {integrity: sha512-l+AhjmMWyQL/SYZCt6lKusf0ssJKqdoAg58RhSkmZNBwAzQkBLwFTnzT/dwwkd7HnOwLhf40MTuKKxCAJ+qIPQ==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -3434,6 +3503,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3552,6 +3624,10 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + ofetch@1.3.4: resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} @@ -3717,6 +3793,14 @@ packages: engines: {node: '>=0.10'} hasBin: true + 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.1.3: resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} @@ -3766,12 +3850,36 @@ 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-less@6.0.0: resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==} engines: {node: '>=12'} peerDependencies: postcss: ^8.3.5 + 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.2: resolution: {integrity: sha512-06vrW6ZWi9qeP7KMS9fsa9QW56+tIMW55KYqF7X3Ccn+NI2pIgPV6gFfvXTMQ05H90Y5DvnCDPZ2IuHa30PMUg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -4050,6 +4158,9 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -4409,6 +4520,11 @@ 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: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} engines: {node: '>=16'} @@ -4455,6 +4571,11 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwindcss@3.4.7: + resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -4477,6 +4598,13 @@ packages: text-table@0.2.0: resolution: {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==} @@ -4528,6 +4656,9 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tsconfck@3.1.1: resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} engines: {node: ^18 || >=20} @@ -4916,6 +5047,9 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} + walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -5161,6 +5295,8 @@ snapshots: '@algolia/logger-common': 4.24.0 '@algolia/requester-common': 4.24.0 + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -5438,15 +5574,6 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@es-joy/jsdoccomment@0.43.1': - dependencies: - '@types/eslint': 8.56.10 - '@types/estree': 1.0.5 - '@typescript-eslint/types': 7.16.1 - comment-parser: 1.4.1 - esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.0.0 - '@es-joy/jsdoccomment@0.46.0': dependencies: comment-parser: 1.4.1 @@ -5732,14 +5859,14 @@ snapshots: '@esbuild/win32-x64@0.23.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.6.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)': dependencies: - eslint: 9.6.0 + eslint: 9.8.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint/config-array@0.17.0': + '@eslint/config-array@0.17.1': dependencies: '@eslint/object-schema': 2.1.4 debug: 4.3.5 @@ -5747,13 +5874,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-inspector@0.4.12(eslint@9.6.0)': + '@eslint/config-inspector@0.4.12(eslint@9.8.0)': dependencies: bundle-require: 5.0.0(esbuild@0.21.5) cac: 6.7.14 chokidar: 3.6.0 esbuild: 0.21.5 - eslint: 9.6.0 + eslint: 9.8.0 fast-glob: 3.3.2 find-up: 7.0.0 get-port-please: 3.1.2 @@ -5783,22 +5910,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.6.0': {} - '@eslint/js@9.7.0': {} + '@eslint/js@9.8.0': {} + '@eslint/object-schema@2.1.4': {} - '@exer7um/eslint-config@1.1.4(magicast@0.3.4)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))(vue-eslint-parser@9.4.3(eslint@9.6.0))': + '@exer7um/eslint-config@1.3.1(magicast@0.3.4)(rollup@4.18.1)(tailwindcss@3.4.7)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))(vue-eslint-parser@9.4.3(eslint@9.8.0))': dependencies: - '@nuxt/eslint': 0.3.13(eslint@9.6.0)(magicast@0.3.4)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) - eslint: 9.6.0 + '@nuxt/eslint': 0.3.13(eslint@9.8.0)(magicast@0.3.4)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) + eslint: 9.8.0 eslint-config-flat-gitignore: 0.1.8 - eslint-config-prettier: 9.1.0(eslint@9.6.0) - eslint-plugin-jsdoc: 48.5.2(eslint@9.6.0) - eslint-plugin-jsonc: 2.16.0(eslint@9.6.0) - eslint-plugin-perfectionist: 2.11.0(eslint@9.6.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.6.0)) - eslint-plugin-yml: 1.14.0(eslint@9.6.0) + eslint-config-prettier: 9.1.0(eslint@9.8.0) + eslint-plugin-depend: 0.9.0 + eslint-plugin-jsdoc: 48.8.3(eslint@9.8.0) + eslint-plugin-jsonc: 2.16.0(eslint@9.8.0) + eslint-plugin-perfectionist: 3.0.0(eslint@9.8.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.8.0)) + eslint-plugin-sonarjs: 1.0.4(eslint@9.8.0) + eslint-plugin-tailwindcss: 3.17.4(tailwindcss@3.4.7) + eslint-plugin-unicorn: 54.0.0(eslint@9.8.0) + eslint-plugin-vuejs-accessibility: 2.4.1(eslint@9.8.0) + eslint-plugin-yml: 1.14.0(eslint@9.8.0) transitivePeerDependencies: - astro-eslint-parser - bufferutil @@ -5808,6 +5940,7 @@ snapshots: - supports-color - svelte - svelte-eslint-parser + - tailwindcss - typescript - uWebSockets.js - utf-8-validate @@ -6024,50 +6157,50 @@ snapshots: - supports-color - utf-8-validate - '@nuxt/eslint-config@0.3.13(eslint@9.6.0)(typescript@5.5.3)': + '@nuxt/eslint-config@0.3.13(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@eslint/js': 9.7.0 - '@nuxt/eslint-plugin': 0.3.13(eslint@9.6.0)(typescript@5.5.3) + '@nuxt/eslint-plugin': 0.3.13(eslint@9.8.0)(typescript@5.5.3) '@rushstack/eslint-patch': 1.10.3 - '@stylistic/eslint-plugin': 2.3.0(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/eslint-plugin': 7.16.1(@typescript-eslint/parser@7.16.1(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/parser': 7.16.1(eslint@9.6.0)(typescript@5.5.3) - eslint: 9.6.0 + '@stylistic/eslint-plugin': 2.3.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 7.16.1(@typescript-eslint/parser@7.16.1(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.16.1(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 eslint-config-flat-gitignore: 0.1.8 eslint-flat-config-utils: 0.2.5 - eslint-plugin-import-x: 0.5.3(eslint@9.6.0)(typescript@5.5.3) - eslint-plugin-jsdoc: 48.7.0(eslint@9.6.0) - eslint-plugin-regexp: 2.6.0(eslint@9.6.0) - eslint-plugin-unicorn: 53.0.0(eslint@9.6.0) - eslint-plugin-vue: 9.27.0(eslint@9.6.0) + eslint-plugin-import-x: 0.5.3(eslint@9.8.0)(typescript@5.5.3) + eslint-plugin-jsdoc: 48.7.0(eslint@9.8.0) + eslint-plugin-regexp: 2.6.0(eslint@9.8.0) + eslint-plugin-unicorn: 53.0.0(eslint@9.8.0) + eslint-plugin-vue: 9.27.0(eslint@9.8.0) globals: 15.8.0 pathe: 1.1.2 tslib: 2.6.3 - vue-eslint-parser: 9.4.3(eslint@9.6.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint-plugin@0.3.13(eslint@9.6.0)(typescript@5.5.3)': + '@nuxt/eslint-plugin@0.3.13(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) - eslint: 9.6.0 + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint@0.3.13(eslint@9.6.0)(magicast@0.3.4)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))': + '@nuxt/eslint@0.3.13(eslint@9.8.0)(magicast@0.3.4)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))': dependencies: - '@eslint/config-inspector': 0.4.12(eslint@9.6.0) + '@eslint/config-inspector': 0.4.12(eslint@9.8.0) '@nuxt/devtools-kit': 1.3.9(magicast@0.3.4)(rollup@4.18.1)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) - '@nuxt/eslint-config': 0.3.13(eslint@9.6.0)(typescript@5.5.3) - '@nuxt/eslint-plugin': 0.3.13(eslint@9.6.0)(typescript@5.5.3) + '@nuxt/eslint-config': 0.3.13(eslint@9.8.0)(typescript@5.5.3) + '@nuxt/eslint-plugin': 0.3.13(eslint@9.8.0)(typescript@5.5.3) '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.18.1) chokidar: 3.6.0 - eslint: 9.6.0 + eslint: 9.8.0 eslint-flat-config-utils: 0.2.5 - eslint-typegen: 0.2.4(eslint@9.6.0) + eslint-typegen: 0.2.4(eslint@9.8.0) find-up: 7.0.0 get-port-please: 3.1.2 mlly: 1.7.1 @@ -6230,7 +6363,7 @@ snapshots: - rollup - supports-color - '@nuxt/vite-builder@3.12.4(@types/node@20.14.11)(eslint@9.6.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vue@3.4.33(typescript@5.5.3))': + '@nuxt/vite-builder@3.12.4(@types/node@20.14.11)(eslint@9.8.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vue@3.4.33(typescript@5.5.3))': dependencies: '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.18.1) '@rollup/plugin-replace': 5.0.7(rollup@4.18.1) @@ -6263,7 +6396,7 @@ snapshots: unplugin: 1.11.0 vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) vite-node: 2.0.3(@types/node@20.14.11)(terser@5.31.3) - vite-plugin-checker: 0.7.2(eslint@9.6.0)(optionator@0.9.4)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) + vite-plugin-checker: 0.7.2(eslint@9.8.0)(optionator@0.9.4)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) vue: 3.4.33(typescript@5.5.3) vue-bundle-renderer: 2.1.0 transitivePeerDependencies: @@ -6539,49 +6672,49 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@stylistic/eslint-plugin-js@2.3.0(eslint@9.6.0)': + '@stylistic/eslint-plugin-js@2.3.0(eslint@9.8.0)': dependencies: '@types/eslint': 8.56.10 acorn: 8.12.1 - eslint: 9.6.0 + eslint: 9.8.0 eslint-visitor-keys: 4.0.0 espree: 10.1.0 - '@stylistic/eslint-plugin-jsx@2.3.0(eslint@9.6.0)': + '@stylistic/eslint-plugin-jsx@2.3.0(eslint@9.8.0)': dependencies: - '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.6.0) + '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.8.0) '@types/eslint': 8.56.10 - eslint: 9.6.0 + eslint: 9.8.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@2.3.0(eslint@9.6.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-plus@2.3.0(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) - eslint: 9.6.0 + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@2.3.0(eslint@9.6.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-ts@2.3.0(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.6.0) + '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.8.0) '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) - eslint: 9.6.0 + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@2.3.0(eslint@9.6.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin@2.3.0(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.6.0) - '@stylistic/eslint-plugin-jsx': 2.3.0(eslint@9.6.0) - '@stylistic/eslint-plugin-plus': 2.3.0(eslint@9.6.0)(typescript@5.5.3) - '@stylistic/eslint-plugin-ts': 2.3.0(eslint@9.6.0)(typescript@5.5.3) + '@stylistic/eslint-plugin-js': 2.3.0(eslint@9.8.0) + '@stylistic/eslint-plugin-jsx': 2.3.0(eslint@9.8.0) + '@stylistic/eslint-plugin-plus': 2.3.0(eslint@9.8.0)(typescript@5.5.3) + '@stylistic/eslint-plugin-ts': 2.3.0(eslint@9.8.0)(typescript@5.5.3) '@types/eslint': 8.56.10 - eslint: 9.6.0 + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript @@ -6632,15 +6765,15 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@7.16.1(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@7.16.1(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.16.1(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/type-utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/visitor-keys': 7.16.1 - eslint: 9.6.0 + eslint: 9.8.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -6650,14 +6783,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.16.1(eslint@9.6.0)(typescript@5.5.3)': + '@typescript-eslint/parser@7.16.1(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/scope-manager': 7.16.1 '@typescript-eslint/types': 7.16.1 '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) '@typescript-eslint/visitor-keys': 7.16.1 debug: 4.3.5 - eslint: 9.6.0 + eslint: 9.8.0 optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: @@ -6668,12 +6801,12 @@ snapshots: '@typescript-eslint/types': 7.16.1 '@typescript-eslint/visitor-keys': 7.16.1 - '@typescript-eslint/type-utils@7.16.1(eslint@9.6.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@7.16.1(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) debug: 4.3.5 - eslint: 9.6.0 + eslint: 9.8.0 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 @@ -6697,13 +6830,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.16.1(eslint@9.6.0)(typescript@5.5.3)': + '@typescript-eslint/utils@7.16.1(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@typescript-eslint/scope-manager': 7.16.1 '@typescript-eslint/types': 7.16.1 '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - eslint: 9.6.0 + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript @@ -7062,6 +7195,8 @@ snapshots: ansi-styles@6.2.1: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -7096,8 +7231,14 @@ snapshots: delegates: 1.0.0 readable-stream: 3.6.2 + arg@5.0.2: {} + argparse@2.0.1: {} + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + array-union@2.1.0: {} assertion-error@1.1.0: {} @@ -7208,6 +7349,8 @@ snapshots: callsites@3.1.0: {} + camelcase-css@2.0.1: {} + camelcase@6.3.0: {} caniuse-api@3.0.0: @@ -7323,6 +7466,8 @@ snapshots: commander@2.20.3: {} + commander@4.1.1: {} + commander@7.2.0: {} commander@8.3.0: {} @@ -7523,6 +7668,8 @@ snapshots: depd@2.0.0: {} + dequal@2.0.3: {} + destr@2.0.3: {} destroy@1.2.0: {} @@ -7537,6 +7684,8 @@ snapshots: devalue@5.0.0: {} + didyoumean@1.2.2: {} + diff-sequences@29.6.3: {} diff@5.2.0: {} @@ -7545,6 +7694,8 @@ snapshots: dependencies: path-type: 4.0.0 + dlv@1.1.3: {} + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -7735,9 +7886,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.6.0): + eslint-compat-utils@0.5.1(eslint@9.8.0): dependencies: - eslint: 9.6.0 + eslint: 9.8.0 semver: 7.6.3 eslint-config-flat-gitignore@0.1.8: @@ -7745,9 +7896,9 @@ snapshots: find-up-simple: 1.0.0 parse-gitignore: 2.0.0 - eslint-config-prettier@9.1.0(eslint@9.6.0): + eslint-config-prettier@9.1.0(eslint@9.8.0): dependencies: - eslint: 9.6.0 + eslint: 9.8.0 eslint-flat-config-utils@0.2.5: dependencies: @@ -7762,12 +7913,18 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@0.5.3(eslint@9.6.0)(typescript@5.5.3): + eslint-plugin-depend@0.9.0: + dependencies: + fd-package-json: 1.2.0 + module-replacements: 2.2.0 + semver: 7.6.3 + + eslint-plugin-import-x@0.5.3(eslint@9.8.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) debug: 4.3.5 doctrine: 3.0.0 - eslint: 9.6.0 + eslint: 9.8.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.6 is-glob: 4.0.3 @@ -7779,14 +7936,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@48.5.2(eslint@9.6.0): + eslint-plugin-jsdoc@48.7.0(eslint@9.8.0): dependencies: - '@es-joy/jsdoccomment': 0.43.1 + '@es-joy/jsdoccomment': 0.46.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.5 escape-string-regexp: 4.0.0 - eslint: 9.6.0 + eslint: 9.8.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -7795,14 +7952,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@48.7.0(eslint@9.6.0): + eslint-plugin-jsdoc@48.8.3(eslint@9.8.0): dependencies: '@es-joy/jsdoccomment': 0.46.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.5 escape-string-regexp: 4.0.0 - eslint: 9.6.0 + eslint: 9.8.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -7811,49 +7968,60 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.6.0): + eslint-plugin-jsonc@2.16.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) - eslint: 9.6.0 - eslint-compat-utils: 0.5.1(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-perfectionist@2.11.0(eslint@9.6.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.6.0)): + eslint-plugin-perfectionist@3.0.0(eslint@9.8.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.8.0)): dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@9.6.0)(typescript@5.5.3) - eslint: 9.6.0 - minimatch: 9.0.5 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/utils': 7.16.1(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 + minimatch: 10.0.1 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.6.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.6.0(eslint@9.6.0): + eslint-plugin-regexp@2.6.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 comment-parser: 1.4.1 - eslint: 9.6.0 + eslint: 9.8.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-unicorn@53.0.0(eslint@9.6.0): + eslint-plugin-sonarjs@1.0.4(eslint@9.8.0): + dependencies: + eslint: 9.8.0 + + eslint-plugin-tailwindcss@3.17.4(tailwindcss@3.4.7): + dependencies: + fast-glob: 3.3.2 + postcss: 8.4.39 + tailwindcss: 3.4.7 + + eslint-plugin-unicorn@53.0.0(eslint@9.8.0): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint/eslintrc': 3.1.0 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.37.1 - eslint: 9.6.0 + eslint: 9.8.0 esquery: 1.6.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -7867,25 +8035,56 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.27.0(eslint@9.6.0): + eslint-plugin-unicorn@54.0.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) - eslint: 9.6.0 + '@babel/helper-validator-identifier': 7.24.7 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint/eslintrc': 3.1.0 + ci-info: 4.0.0 + clean-regexp: 1.0.0 + core-js-compat: 3.37.1 + eslint: 9.8.0 + esquery: 1.6.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.3 + strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-vue@9.27.0(eslint@9.8.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + eslint: 9.8.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.1 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.6.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.6.0): + eslint-plugin-vuejs-accessibility@2.4.1(eslint@9.8.0): + dependencies: + aria-query: 5.3.0 + emoji-regex: 10.3.0 + eslint: 9.8.0 + vue-eslint-parser: 9.4.3(eslint@9.8.0) + transitivePeerDependencies: + - supports-color + + eslint-plugin-yml@1.14.0(eslint@9.8.0): dependencies: debug: 4.3.5 - eslint: 9.6.0 - eslint-compat-utils: 0.5.1(eslint@9.6.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 @@ -7902,10 +8101,10 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-typegen@0.2.4(eslint@9.6.0): + eslint-typegen@0.2.4(eslint@9.8.0): dependencies: '@types/eslint': 8.56.10 - eslint: 9.6.0 + eslint: 9.8.0 json-schema-to-typescript-lite: 14.0.1 ohash: 1.1.3 @@ -7913,13 +8112,13 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.6.0: + eslint@9.8.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 - '@eslint/config-array': 0.17.0 + '@eslint/config-array': 0.17.1 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.6.0 + '@eslint/js': 9.8.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -8057,6 +8256,10 @@ snapshots: dependencies: reusify: 1.0.4 + fd-package-json@1.2.0: + dependencies: + walk-up-path: 3.0.1 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -8609,6 +8812,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: {} @@ -8772,6 +8977,10 @@ snapshots: min-indent@1.0.1: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -8832,6 +9041,8 @@ snapshots: pkg-types: 1.1.3 ufo: 1.5.4 + module-replacements@2.2.0: {} + mri@1.2.0: {} mrmime@2.0.0: {} @@ -8842,6 +9053,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 + nanoid@3.3.7: {} nanoid@5.0.7: {} @@ -8997,14 +9214,14 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - nuxt@3.12.4(@parcel/watcher@2.4.1)(@types/node@20.14.11)(encoding@0.1.13)(eslint@9.6.0)(ioredis@5.4.1)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)): + nuxt@3.12.4(@parcel/watcher@2.4.1)(@types/node@20.14.11)(encoding@0.1.13)(eslint@9.8.0)(ioredis@5.4.1)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)): dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/devtools': 1.3.9(rollup@4.18.1)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) '@nuxt/kit': 3.12.4(magicast@0.3.4)(rollup@4.18.1) '@nuxt/schema': 3.12.4(rollup@4.18.1) '@nuxt/telemetry': 2.5.4(magicast@0.3.4)(rollup@4.18.1) - '@nuxt/vite-builder': 3.12.4(@types/node@20.14.11)(eslint@9.6.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vue@3.4.33(typescript@5.5.3)) + '@nuxt/vite-builder': 3.12.4(@types/node@20.14.11)(eslint@9.8.0)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.1)(terser@5.31.3)(typescript@5.5.3)(vue@3.4.33(typescript@5.5.3)) '@unhead/dom': 1.9.16 '@unhead/ssr': 1.9.16 '@unhead/vue': 1.9.16(vue@3.4.33(typescript@5.5.3)) @@ -9116,6 +9333,8 @@ snapshots: object-assign@4.1.1: {} + object-hash@3.0.0: {} + ofetch@1.3.4: dependencies: destr: 2.0.3 @@ -9275,6 +9494,10 @@ snapshots: pidtree@0.6.0: {} + pify@2.3.0: {} + + pirates@4.0.6: {} + pkg-types@1.1.3: dependencies: confbox: 0.1.7 @@ -9320,10 +9543,29 @@ snapshots: dependencies: postcss: 8.4.39 + postcss-import@15.1.0(postcss@8.4.39): + dependencies: + postcss: 8.4.39 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.39): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.39 + postcss-less@6.0.0(postcss@8.4.39): dependencies: postcss: 8.4.39 + postcss-load-config@4.0.2(postcss@8.4.39): + dependencies: + lilconfig: 3.1.2 + yaml: 2.4.5 + optionalDependencies: + postcss: 8.4.39 + postcss-merge-longhand@7.0.2(postcss@8.4.39): dependencies: postcss: 8.4.39 @@ -9532,6 +9774,10 @@ snapshots: react-is@18.3.1: {} + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -9919,6 +10165,16 @@ snapshots: postcss: 8.4.39 postcss-selector-parser: 6.1.1 + 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 @@ -9962,6 +10218,33 @@ snapshots: tabbable@6.2.0: {} + tailwindcss@3.4.7: + 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.7 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.2(postcss@8.4.39) + postcss-nested: 6.0.1(postcss@8.4.39) + postcss-selector-parser: 6.1.1 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@2.2.1: {} tar-stream@3.1.7: @@ -9992,6 +10275,14 @@ 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: {} tinybench@2.8.0: {} @@ -10029,6 +10320,8 @@ snapshots: dependencies: typescript: 5.5.3 + ts-interface-checker@0.1.13: {} + tsconfck@3.1.1(typescript@5.5.3): optionalDependencies: typescript: 5.5.3 @@ -10282,7 +10575,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.7.2(eslint@9.6.0)(optionator@0.9.4)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)): + vite-plugin-checker@0.7.2(eslint@9.8.0)(optionator@0.9.4)(typescript@5.5.3)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)): dependencies: '@babel/code-frame': 7.24.7 ansi-escapes: 4.3.2 @@ -10300,7 +10593,7 @@ snapshots: vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 optionalDependencies: - eslint: 9.6.0 + eslint: 9.8.0 optionator: 0.9.4 typescript: 5.5.3 @@ -10487,10 +10780,10 @@ snapshots: vue-devtools-stub@0.1.0: {} - vue-eslint-parser@9.4.3(eslint@9.6.0): + vue-eslint-parser@9.4.3(eslint@9.8.0): dependencies: debug: 4.3.5 - eslint: 9.6.0 + eslint: 9.8.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -10519,6 +10812,8 @@ snapshots: dependencies: xml-name-validator: 5.0.0 + walk-up-path@3.0.1: {} + webidl-conversions@3.0.1: {} webidl-conversions@7.0.0: {} diff --git a/src/runtime/components/UtilsMapWidget.vue b/src/runtime/components/UtilsMapWidget.vue index e7f5696..2721a14 100644 --- a/src/runtime/components/UtilsMapWidget.vue +++ b/src/runtime/components/UtilsMapWidget.vue @@ -37,6 +37,7 @@ mapURL.searchParams.append("z", "16") class="map-widget" height="100%" :src="mapURL.href" + title="map" width="100%" > diff --git a/src/runtime/composables/useFetchAuth.ts b/src/runtime/composables/useFetchAuth.ts index b9a27b2..c68c779 100644 --- a/src/runtime/composables/useFetchAuth.ts +++ b/src/runtime/composables/useFetchAuth.ts @@ -42,10 +42,10 @@ export default async function ( headers: { // Токен авторизации из .env Authorization: useRuntimeConfig().public.authToken as string, - // Выставляем `csrftoken` из `cookie` в заголовок - "X-CSRFToken": useCookie("csrftoken").value ?? "", // Проксим `cookie` клиента на сервер cookie: useRequestHeaders(["cookie"]).cookie ?? "", + // Выставляем `csrftoken` из `cookie` в заголовок + "X-CSRFToken": useCookie("csrftoken").value ?? "", }, } diff --git a/src/runtime/composables/useHighlightedText.ts b/src/runtime/composables/useHighlightedText.ts index f8b9671..4372ff5 100644 --- a/src/runtime/composables/useHighlightedText.ts +++ b/src/runtime/composables/useHighlightedText.ts @@ -18,9 +18,7 @@ export default function (text: string, query: string) { const regex = new RegExp(`(${query})`, "gi") /** Строка с добавленными тегами `` */ - const result = text.replace(regex, (match) => + return text.replace(regex, (match) => match ? "" + match + "" : match ) - - return result } diff --git a/src/runtime/composables/usePhoneFormatter.ts b/src/runtime/composables/usePhoneFormatter.ts index 140aa58..cae3d3a 100644 --- a/src/runtime/composables/usePhoneFormatter.ts +++ b/src/runtime/composables/usePhoneFormatter.ts @@ -12,9 +12,9 @@ * usePhoneFormatter('+79998887766') * ``` */ -export default function (phone: string): null | string { +export default function (phone: string) { /** Номер, очищенный от символов, не являющихся цифрами */ - const cleaned = ("" + phone).replace(/\D/g, "") + const cleaned = ("" + phone).replaceAll(/\D/g, "") /** * Номер, разбитый на части @@ -28,6 +28,4 @@ export default function (phone: string): null | string { const countryCode = match[1] ? "+7" : "" return `${countryCode}\u00A0${match[2]}\u00A0${match[3]}-${match[4]}-${match[5]}` } - - return null } diff --git a/src/runtime/composables/usePriceFormatter.ts b/src/runtime/composables/usePriceFormatter.ts index e0c5fae..5a14449 100644 --- a/src/runtime/composables/usePriceFormatter.ts +++ b/src/runtime/composables/usePriceFormatter.ts @@ -12,11 +12,9 @@ */ export default function (price: number): string { /** Форматированная цена */ - const formattedPrice = price.toLocaleString("ru-RU", { + return price.toLocaleString("ru-RU", { currency: "RUB", minimumFractionDigits: 0, style: "currency", }) - - return formattedPrice } diff --git a/tests/components/UtilsDate.spec.ts b/tests/components/UtilsDate.spec.ts index e92b9ed..6e3bcba 100644 --- a/tests/components/UtilsDate.spec.ts +++ b/tests/components/UtilsDate.spec.ts @@ -1,8 +1,9 @@ -import UtilsDate from "@/runtime/components/UtilsDate.vue" import { mount } from "@vue/test-utils" import VueDatePicker from "@vuepic/vue-datepicker" import { describe, expect, test } from "vitest" +import UtilsDate from "~/src/runtime/components/UtilsDate.vue" + describe("Компонент UtilsDate", () => { test("Рендер", () => { /** Компонент */ @@ -187,6 +188,7 @@ describe("Компонент UtilsDate", () => { const form = event.target as HTMLFormElement /** Объект со всеми данными формы */ + // @ts-expect-error - неправильная автоматическая типизация this.formData = new FormData(form) }, }, @@ -213,6 +215,7 @@ describe("Компонент UtilsDate", () => { await form.trigger("submit") /** Данные формы */ + // @ts-expect-error - неправильная автоматическая типизация const formData = Object.fromEntries(parentComponent.vm.formData.entries()) // Проверяем, что правильно выставлены все данные diff --git a/tests/components/UtilsInput.spec.ts b/tests/components/UtilsInput.spec.ts index 81caecb..cbdf2b3 100644 --- a/tests/components/UtilsInput.spec.ts +++ b/tests/components/UtilsInput.spec.ts @@ -1,7 +1,8 @@ -import UtilsInput from "@/runtime/components/UtilsInput.vue" import { mount } from "@vue/test-utils" import { describe, expect, test } from "vitest" +import UtilsInput from "~/src/runtime/components/UtilsInput.vue" + describe("Компонент UtilsInput", () => { const defaultProps = { id: "test-field", @@ -253,6 +254,7 @@ describe("Компонент UtilsInput", () => { const form = event.target as HTMLFormElement /** Объект со всеми данными формы */ + // @ts-expect-error - неправильная автоматическая типизация this.formData = new FormData(form) }, }, @@ -276,6 +278,7 @@ describe("Компонент UtilsInput", () => { await form.trigger("submit") /** Данные формы */ + // @ts-expect-error - неправильная автоматическая типизация const formData = Object.fromEntries(parentComponent.vm.formData.entries()) // Проверяем, что правильно выставлены все данные diff --git a/tests/components/UtilsInputMasked.spec.ts b/tests/components/UtilsInputMasked.spec.ts index 49dc23a..eb3d515 100644 --- a/tests/components/UtilsInputMasked.spec.ts +++ b/tests/components/UtilsInputMasked.spec.ts @@ -1,7 +1,8 @@ -import UtilsInputMasked from "@/runtime/components/UtilsInputMasked.vue" import { mount } from "@vue/test-utils" import { describe, expect, test } from "vitest" +import UtilsInputMasked from "~/src/runtime/components/UtilsInputMasked.vue" + describe("Компонент UtilsInputMasked", () => { const defaultProps = { id: "test-field", @@ -130,7 +131,7 @@ describe("Компонент UtilsInputMasked", () => { /** Компонент */ const wrapper = mount(UtilsInputMasked, { props: { - pattern: "\\+\\d \\d{3} \\d{3}-\\d{2}-\\d{2}", + pattern: String.raw`\+\d \d{3} \d{3}-\d{2}-\d{2}`, ...defaultProps, }, }) @@ -140,7 +141,7 @@ describe("Компонент UtilsInputMasked", () => { // Проверка атрибута `pattern` expect(input.attributes("pattern")).toBe( - "\\+\\d \\d{3} \\d{3}-\\d{2}-\\d{2}" + String.raw`\+\d \d{3} \d{3}-\d{2}-\d{2}` ) }) @@ -211,7 +212,7 @@ describe("Компонент UtilsInputMasked", () => { /** Компонент */ const wrapper = mount(UtilsInputMasked, { props: { - type: "password", + type: "number", ...defaultProps, }, }) @@ -220,7 +221,7 @@ describe("Компонент UtilsInputMasked", () => { const input = wrapper.find("input") // Проверка значения атрибута `type`. - expect(input.attributes("type")).toBe("password") + expect(input.attributes("type")).toBe("number") }) test("Работа `v-maska`", async () => { @@ -288,6 +289,7 @@ describe("Компонент UtilsInputMasked", () => { const form = event.target as HTMLFormElement /** Объект со всеми данными формы */ + // @ts-expect-error - неправильная автоматическая типизация this.formData = new FormData(form) }, }, @@ -311,6 +313,7 @@ describe("Компонент UtilsInputMasked", () => { await form.trigger("submit") /** Данные формы */ + // @ts-expect-error - неправильная автоматическая типизация const formData = Object.fromEntries(parentComponent.vm.formData.entries()) // Проверяем, что правильно выставлены все данные diff --git a/tests/components/UtilsMapWidget.spec.ts b/tests/components/UtilsMapWidget.spec.ts index cdf7df3..faa2fa7 100644 --- a/tests/components/UtilsMapWidget.spec.ts +++ b/tests/components/UtilsMapWidget.spec.ts @@ -1,7 +1,8 @@ -import UtilsMapWidget from "@/runtime/components/UtilsMapWidget.vue" import { mount } from "@vue/test-utils" import { describe, expect, test } from "vitest" +import UtilsMapWidget from "~/src/runtime/components/UtilsMapWidget.vue" + describe.sequential("Компонент UtilsMapWidget", () => { /** `ID` виджета */ const widgetId = "widget-id" diff --git a/tests/components/UtilsPassword.spec.ts b/tests/components/UtilsPassword.spec.ts index a7c4db3..ce6cb0a 100644 --- a/tests/components/UtilsPassword.spec.ts +++ b/tests/components/UtilsPassword.spec.ts @@ -1,7 +1,8 @@ -import UtilsPassword from "@/runtime/components/UtilsPassword.vue" import { mount } from "@vue/test-utils" import { describe, expect, test } from "vitest" +import UtilsPassword from "~/src/runtime/components/UtilsPassword.vue" + describe.sequential("Компонент UtilsPassword", () => { const defaultProps = { id: "test-field", @@ -329,6 +330,7 @@ describe.sequential("Компонент UtilsPassword", () => { const form = event.target as HTMLFormElement /** Объект со всеми данными формы */ + // @ts-expect-error - неправильная автоматическая типизация this.formData = new FormData(form) }, }, @@ -352,6 +354,7 @@ describe.sequential("Компонент UtilsPassword", () => { await form.trigger("submit") /** Данные формы */ + // @ts-expect-error - неправильная автоматическая типизация const formData = Object.fromEntries(parentComponent.vm.formData.entries()) // Проверяем, что правильно выставлены все данные diff --git a/tests/components/UtilsPhone.spec.ts b/tests/components/UtilsPhone.spec.ts index bdfe8b1..589296a 100644 --- a/tests/components/UtilsPhone.spec.ts +++ b/tests/components/UtilsPhone.spec.ts @@ -1,7 +1,8 @@ -import UtilsPhone from "@/runtime/components/UtilsPhone.vue" import { mount } from "@vue/test-utils" import { describe, expect, test } from "vitest" +import UtilsPhone from "~/src/runtime/components/UtilsPhone.vue" + describe("Компонент UtilsPhone", () => { test("Рендер", () => { /** Компонент */ @@ -54,7 +55,7 @@ describe("Компонент UtilsPhone", () => { expect(input.attributes("maxlength")).toBe("16") // Проверка атрибута `pattern` expect(input.attributes("pattern")).toBe( - "\\+\\d \\d{3} \\d{3}-\\d{2}-\\d{2}" + String.raw`\+\d \d{3} \d{3}-\d{2}-\d{2}` ) // Проверка атрибута `placeholder` expect(input.attributes("placeholder")).toBe("+7 999 888-77-66") @@ -201,6 +202,7 @@ describe("Компонент UtilsPhone", () => { const form = event.target as HTMLFormElement /** Объект со всеми данными формы */ + // @ts-expect-error - неправильная автоматическая типизация this.formData = new FormData(form) }, }, @@ -224,6 +226,7 @@ describe("Компонент UtilsPhone", () => { await form.trigger("submit") /** Данные формы */ + // @ts-expect-error - неправильная автоматическая типизация const formData = Object.fromEntries(parentComponent.vm.formData.entries()) // Проверяем, что правильно выставлены все данные diff --git a/tests/components/UtilsTextArea.spec.ts b/tests/components/UtilsTextArea.spec.ts index b133aa9..c124b3f 100644 --- a/tests/components/UtilsTextArea.spec.ts +++ b/tests/components/UtilsTextArea.spec.ts @@ -1,7 +1,8 @@ -import UtilsTextArea from "@/runtime/components/UtilsTextArea.vue" import { mount } from "@vue/test-utils" import { describe, expect, test } from "vitest" +import UtilsTextArea from "~/src/runtime/components/UtilsTextArea.vue" + describe("Компонент UtilsTextArea", () => { const defaultProps = { id: "test-field", @@ -233,6 +234,7 @@ describe("Компонент UtilsTextArea", () => { const form = event.target as HTMLFormElement /** Объект со всеми данными формы */ + // @ts-expect-error - неправильная автоматическая типизация this.formData = new FormData(form) }, }, @@ -256,6 +258,7 @@ describe("Компонент UtilsTextArea", () => { await form.trigger("submit") /** Данные формы */ + // @ts-expect-error - неправильная автоматическая типизация const formData = Object.fromEntries(parentComponent.vm.formData.entries()) // Проверяем, что правильно выставлены все данные diff --git a/tests/composables/useHighlightedText.spec.ts b/tests/composables/useHighlightedText.spec.ts index 2ca6198..4e4809c 100644 --- a/tests/composables/useHighlightedText.spec.ts +++ b/tests/composables/useHighlightedText.spec.ts @@ -1,6 +1,7 @@ -import useHighlightedText from "@/runtime/composables/useHighlightedText" import { describe, expect, test } from "vitest" +import useHighlightedText from "~/src/runtime/composables/useHighlightedText" + describe("Функция useHighlightedText", () => { test("Возвращает текст с выделением", () => { /** Текст */ diff --git a/tests/composables/usePhoneFormatter.spec.ts b/tests/composables/usePhoneFormatter.spec.ts index ea6ebdc..2dd4eef 100644 --- a/tests/composables/usePhoneFormatter.spec.ts +++ b/tests/composables/usePhoneFormatter.spec.ts @@ -1,6 +1,7 @@ -import usePhoneFormatter from "@/runtime/composables/usePhoneFormatter" import { describe, expect, test } from "vitest" +import usePhoneFormatter from "~/src/runtime/composables/usePhoneFormatter" + describe("Функция usePhoneFormatter", () => { test("Возвращает правильный формат номера", () => { /** Отформатированный номер */ @@ -16,10 +17,10 @@ describe("Функция usePhoneFormatter", () => { expect(formattedNumber).toBe("+7 999 888-77-66") }) - test("При вводе некорректного номера возвращает `null`", () => { + test("При вводе некорректного номера возвращает `undefined`", () => { /** Отформатированный номер */ const formattedNumber = usePhoneFormatter("1234") - expect(formattedNumber).toBeNull() + expect(formattedNumber).toBeUndefined() }) }) diff --git a/tests/composables/usePriceFormatter.spec.ts b/tests/composables/usePriceFormatter.spec.ts index 8932fd6..093bb31 100644 --- a/tests/composables/usePriceFormatter.spec.ts +++ b/tests/composables/usePriceFormatter.spec.ts @@ -1,17 +1,18 @@ -import usePriceFormatter from "@/runtime/composables/usePriceFormatter" import { describe, expect, test } from "vitest" +import usePriceFormatter from "~/src/runtime/composables/usePriceFormatter" + describe("Функция usePriceFormatter", () => { test("Возвращает правильный формат цены", () => { /** Отформатированная цена */ - const formattedPrice = usePriceFormatter(1234567) + const formattedPrice = usePriceFormatter(1_234_567) expect(formattedPrice).toBe("1 234 567 ₽") }) test("Возвращает правильный формат цены с дробной частью", () => { /** Отформатированная цена */ - const formattedPrice = usePriceFormatter(1234567.89) + const formattedPrice = usePriceFormatter(1_234_567.89) expect(formattedPrice).toBe("1 234 567,89 ₽") }) diff --git a/tests/fixtures/basic/app.vue b/tests/fixtures/basic/app.vue index 2489932..8371b27 100644 --- a/tests/fixtures/basic/app.vue +++ b/tests/fixtures/basic/app.vue @@ -1,5 +1,3 @@ - - diff --git a/tests/fixtures/basic/server/routes/sitemap.ts b/tests/fixtures/basic/server/routes/sitemap.ts index 9aa13ab..75959cc 100644 --- a/tests/fixtures/basic/server/routes/sitemap.ts +++ b/tests/fixtures/basic/server/routes/sitemap.ts @@ -1,4 +1,4 @@ -import type { Sitemap } from "@/src/runtime/api/sitemap-routes" +import type { Sitemap } from "~/src/runtime/api/sitemap-routes" export default defineEventHandler(() => { /** Тестовая карта сайта */ diff --git a/vitest.config.ts b/vitest.config.ts index 348d22f..1953c1d 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,12 +1,12 @@ import Vue from "@vitejs/plugin-vue" -import path from "path" +import { fileURLToPath } from "node:url" import { defineConfig } from "vitest/config" export default defineConfig({ plugins: [Vue()], resolve: { alias: { - "@": path.resolve(__dirname, "./src"), + "~": fileURLToPath(new URL("./", import.meta.url)), }, }, test: {