diff --git a/eslint.config.mjs b/eslint.config.mjs index 8697a11..0e9429b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1 +1,12 @@ -export { default } from 'eslint-config-vuetify/index.ts.mjs' +import vuetify from 'eslint-config-vuetify' + +export default vuetify({ + vue: true, + perfectionist: { + import: false, + }, +}, { + rules: { + 'unicorn/no-process-exit': 'off', + }, +}) diff --git a/package.json b/package.json index 831d4f9..e201fc9 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/validate-npm-package-name": "^4.0.2", "esbuild": "^0.25.1", "eslint": "^9.23.0", - "eslint-config-vuetify": "^3.0.3", + "eslint-config-vuetify": "4.0.0", "nypm": "^0.6.0", "release-it": "^18.1.2", "typescript": "^5.8.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 932022c..4b9abed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,7 +32,7 @@ importers: devDependencies: '@release-it/conventional-changelog': specifier: ^10.0.0 - version: 10.0.0(release-it@18.1.2) + version: 10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2)) '@types/minimist': specifier: ^1.2.5 version: 1.2.5 @@ -50,10 +50,10 @@ importers: version: 0.25.1 eslint: specifier: ^9.23.0 - version: 9.23.0 + version: 9.23.0(jiti@2.4.2) eslint-config-vuetify: - specifier: ^3.0.3 - version: 3.0.3(eslint@9.23.0)(typescript@5.8.2)(vue-eslint-parser@10.1.3) + specifier: 4.0.0 + version: 4.0.0(@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-plugin-no-only-tests@3.3.0)(eslint-plugin-vuejs-accessibility@2.4.1(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) nypm: specifier: ^0.6.0 version: 0.6.0 @@ -66,6 +66,10 @@ importers: packages: + '@apidevtools/json-schema-ref-parser@11.9.3': + resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} + engines: {node: '>= 16'} + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -87,6 +91,12 @@ packages: resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} engines: {node: '>=6.9.0'} + '@clack/core@0.4.2': + resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==} + + '@clack/prompts@0.10.1': + resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==} + '@conventional-changelog/git-client@1.0.1': resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==} engines: {node: '>=18'} @@ -99,6 +109,15 @@ packages: conventional-commits-parser: optional: true + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + '@esbuild/aix-ppc64@0.25.1': resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} engines: {node: '>=18'} @@ -259,6 +278,15 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.2.9': + resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/config-array@0.19.2': resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -443,6 +471,12 @@ packages: '@types/node': optional: true + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@napi-rs/wasm-runtime@0.2.9': + resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -513,6 +547,10 @@ packages: '@octokit/types@14.0.0': resolution: {integrity: sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==} + '@pkgr/core@0.2.4': + resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -551,6 +589,9 @@ packages: '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -625,16 +666,103 @@ packages: resolution: {integrity: sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vue/eslint-config-typescript@14.5.0': - resolution: {integrity: sha512-5oPOyuwkw++AP5gHDh5YFmST50dPfWOcm3/W7Nbh42IK5O3H74ytWAw0TrCRTaBoD/02khnWXuZf1Bz1xflavQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@unrs/resolver-binding-darwin-arm64@1.7.2': + resolution: {integrity: sha512-vxtBno4xvowwNmO/ASL0Y45TpHqmNkAaDtz4Jqb+clmcVSSl8XCG/PNFFkGsXXXS6AMjP+ja/TtNCFFa1QwLRg==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.7.2': + resolution: {integrity: sha512-qhVa8ozu92C23Hsmv0BF4+5Dyyd5STT1FolV4whNgbY6mj3kA0qsrGPe35zNR3wAN7eFict3s4Rc2dDTPBTuFQ==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.7.2': + resolution: {integrity: sha512-zKKdm2uMXqLFX6Ac7K5ElnnG5VIXbDlFWzg4WJ8CGUedJryM5A3cTgHuGMw1+P5ziV8CRhnSEgOnurTI4vpHpg==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': + resolution: {integrity: sha512-8N1z1TbPnHH+iDS/42GJ0bMPLiGK+cUqOhNbMKtWJ4oFGzqSJk/zoXFzcQkgtI63qMcUI7wW1tq2usZQSb2jxw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': + resolution: {integrity: sha512-tjYzI9LcAXR9MYd9rO45m1s0B/6bJNuZ6jeOxo1pq1K6OBuRMMmfyvJYval3s9FPPGmrldYA3mi4gWDlWuTFGA==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': + resolution: {integrity: sha512-jon9M7DKRLGZ9VYSkFMflvNqu9hDtOCEnO2QAryFWgT6o6AXU8du56V7YqnaLKr6rAbZBWYsYpikF226v423QA==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-musl@1.7.2': + resolution: {integrity: sha512-c8Cg4/h+kQ63pL43wBNaVMmOjXI/X62wQmru51qjfTvI7kmCy5uHTJvK/9LrF0G8Jdx8r34d019P1DVJmhXQpA==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': + resolution: {integrity: sha512-A+lcwRFyrjeJmv3JJvhz5NbcCkLQL6Mk16kHTNm6/aGNc4FwPHPE4DR9DwuCvCnVHvF5IAd9U4VIs/VvVir5lg==} + cpu: [ppc64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': + resolution: {integrity: sha512-hQQ4TJQrSQW8JlPm7tRpXN8OCNP9ez7PajJNjRD1ZTHQAy685OYqPrKjfaMw/8LiHCt8AZ74rfUVHP9vn0N69Q==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': + resolution: {integrity: sha512-NoAGbiqrxtY8kVooZ24i70CjLDlUFI7nDj3I9y54U94p+3kPxwd2L692YsdLa+cqQ0VoqMWoehDFp21PKRUoIQ==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': + resolution: {integrity: sha512-KaZByo8xuQZbUhhreBTW+yUnOIHUsv04P8lKjQ5otiGoSJ17ISGYArc+4vKdLEpGaLbemGzr4ZeUbYQQsLWFjA==} + cpu: [s390x] + os: [linux] + + '@unrs/resolver-binding-linux-x64-gnu@1.7.2': + resolution: {integrity: sha512-dEidzJDubxxhUCBJ/SHSMJD/9q7JkyfBMT77Px1npl4xpg9t0POLvnWywSk66BgZS/b2Hy9Y1yFaoMTFJUe9yg==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-linux-x64-musl@1.7.2': + resolution: {integrity: sha512-RvP+Ux3wDjmnZDT4XWFfNBRVG0fMsc+yVzNFUqOflnDfZ9OYujv6nkh+GOr+watwrW4wdp6ASfG/e7bkDradsw==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-wasm32-wasi@1.7.2': + resolution: {integrity: sha512-y797JBmO9IsvXVRCKDXOxjyAE4+CcZpla2GSoBQ33TVb3ILXuFnMrbR/QQZoauBYeOFuu4w3ifWLw52sdHGz6g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': + resolution: {integrity: sha512-gtYTh4/VREVSLA+gHrfbWxaMO/00y+34htY7XpioBTy56YN2eBjkPrY1ML1Zys89X3RJDKVaogzwxlM1qU7egg==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': + resolution: {integrity: sha512-Ywv20XHvHTDRQs12jd3MY8X5C8KLjDbg/jyaal/QLKx3fAShhJyD4blEANInsjxW3P7isHx1Blt56iUDDJO3jg==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.7.2': + resolution: {integrity: sha512-friS8NEQfHaDbkThxopGk+LuE5v3iY0StruifjQEt7SLbA46OnfgMO15sOTkbpJkol6RB+1l1TYPXh0sCddpvA==} + cpu: [x64] + os: [win32] + + '@vitest/eslint-plugin@1.1.44': + resolution: {integrity: sha512-m4XeohMT+Dj2RZfxnbiFR+Cv5dEC0H7C6TlxRQT7GK2556solm99kxgzJp/trKrZvanZcOFyw7aABykUTfWyrg==} peerDependencies: - eslint: ^9.10.0 - eslint-plugin-vue: ^9.28.0 || ^10.0.0 - typescript: '>=4.8.4' + '@typescript-eslint/utils': '>= 8.24.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' peerDependenciesMeta: typescript: optional: true + vitest: + optional: true acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -682,6 +810,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -722,9 +854,18 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + builtin-modules@5.0.0: + resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} + engines: {node: '>=18.20'} + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -737,6 +878,9 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} + caniuse-lite@1.0.30001716: + resolution: {integrity: sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -755,6 +899,10 @@ packages: citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -778,6 +926,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} @@ -788,6 +940,9 @@ packages: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.2: resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} @@ -869,6 +1024,9 @@ packages: engines: {node: '>=18'} hasBin: true + core-js-compat@3.42.0: + resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==} + cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -891,6 +1049,14 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -919,9 +1085,6 @@ packages: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - degenerator@5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} @@ -934,6 +1097,9 @@ packages: resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} engines: {node: '>=18'} + electron-to-chromium@1.5.148: + resolution: {integrity: sha512-8uc1QXwwqayD4mblcsQYZqoi+cOc97A2XmKSBOIRbEAvbp6vrqmSYs4dHD2qVygUgn7Mi0qdKgPaJ9WC8cv63A==} + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -952,10 +1118,18 @@ packages: engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} engines: {node: '>=12'} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -965,10 +1139,99 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-vuetify@3.0.3: - resolution: {integrity: sha512-YxNblNd0moJ7hA7KqwgXiKg3vpicGCpEAlyRNGaJpMubUYnbSZZw649fnjmyDKWmsKJRn0LPdTzF916UDCX0eA==} + eslint-compat-utils@0.6.5: + resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-flat-gitignore@2.1.0: + resolution: {integrity: sha512-cJzNJ7L+psWp5mXM7jBX+fjHtBvvh06RBlcweMhKD8jWqQw0G78hOW5tpVALGHGFPsBV+ot2H+pdDGJy6CV8pA==} + peerDependencies: + eslint: ^9.5.0 + + eslint-config-vuetify@4.0.0: + resolution: {integrity: sha512-+aDODKwo88r+I6mo7tkMpiWeWeO2cIP3+aBT5CDOwQmxQIc6iWnpIDxwbio7Y+FJ5tjImmk84OCjI1zGJnZ2+w==} + peerDependencies: + '@vitest/eslint-plugin': ^1.1.42 + eslint: ^9.5.0 + eslint-plugin-jest: ^28.0.0 + eslint-plugin-no-only-tests: ^3.3.0 + eslint-plugin-vuejs-accessibility: ^2.0.0 + + eslint-flat-config-utils@2.0.1: + resolution: {integrity: sha512-brf0eAgQ6JlKj3bKfOTuuI7VcCZvi8ZCD1MMTVoEvS/d38j8cByZViLFALH/36+eqB17ukmfmKq3bWzGvizejA==} + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-json-compat-utils@0.2.1: + resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} + engines: {node: '>=12'} + peerDependencies: + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + '@eslint/json': + optional: true + + eslint-plugin-antfu@3.1.1: + resolution: {integrity: sha512-7Q+NhwLfHJFvopI2HBZbSxWXngTwBLKxW1AGXLr2lEGxcEIK/AsDs8pn8fvIizl5aZjBbVbVK5ujmMpBe4Tvdg==} + peerDependencies: + eslint: '*' + + eslint-plugin-import-x@4.11.0: + resolution: {integrity: sha512-NAaYY49342gj09QGvwnFFl5KcD5aLzjAz97Lo+upnN8MzjEGSIlmL5sxCYGqtIeMjw8fSRDFZIp2xjRLT+yl4Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + eslint-plugin-jest@28.11.0: + resolution: {integrity: sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: - eslint: ^9.23.0 + '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + + eslint-plugin-jsonc@2.20.0: + resolution: {integrity: sha512-FRgCn9Hzk5eKboCbVMrr9QrhM0eO4G+WKH8IFXoaeqhM/2kuWzbStJn4kkr0VWL8J5H8RYZF+Aoam1vlBaZVkw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} + + eslint-plugin-perfectionist@4.12.3: + resolution: {integrity: sha512-V0dmpq6fBbn0BYofHsiRuuY9wgkKMDkdruM0mIRBIJ8XZ8vEaTAZqFsywm40RuWNVnduWBt5HO1ZZ+flE2yqjg==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + eslint: '>=8.45.0' + + eslint-plugin-pnpm@0.3.1: + resolution: {integrity: sha512-vi5iHoELIAlBbX4AW8ZGzU3tUnfxuXhC/NKo3qRcI5o9igbz6zJUqSlQ03bPeMqWIGTPatZnbWsNR1RnlNERNQ==} + peerDependencies: + eslint: ^9.0.0 + + eslint-plugin-regexp@2.7.0: + resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} + engines: {node: ^18 || >=20} + peerDependencies: + eslint: '>=8.44.0' + + eslint-plugin-unicorn@58.0.0: + resolution: {integrity: sha512-fc3iaxCm9chBWOHPVjn+Czb/wHS0D2Mko7wkOdobqo9R2bbFObc4LyZaLTNy0mhZOP84nKkLhTUQxlLOZ7EjKw==} + engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0} + peerDependencies: + eslint: '>=9.22.0' eslint-plugin-vue@10.0.0: resolution: {integrity: sha512-XKckedtajqwmaX6u1VnECmZ6xJt+YvlmMzBPZd+/sI3ub2lpYZyFnsyWo7c3nMOQKJQudeyk1lw/JxdgeKT64w==} @@ -977,10 +1240,25 @@ packages: eslint: ^8.57.0 || ^9.0.0 vue-eslint-parser: ^10.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-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.3.0: resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-typegen@2.1.0: + resolution: {integrity: sha512-tY9TTx07InS+mQ/+zYnCMHkdsS00GPaQy84PwHiQd2XWwXIptRExKcz1kI8eG1CGg1sBs9mONwSfbGMbvI4fNA==} + peerDependencies: + eslint: ^9.0.0 + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1003,6 +1281,10 @@ packages: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -1058,6 +1340,14 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fdir@6.4.4: + resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} @@ -1103,6 +1393,9 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + get-uri@6.0.4: resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} engines: {node: '>= 14'} @@ -1209,6 +1502,10 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + index-to-position@1.1.0: resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==} engines: {node: '>=18'} @@ -1244,6 +1541,10 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-builtin-module@5.0.0: + resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} + engines: {node: '>=18.20'} + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} @@ -1347,18 +1648,39 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-to-typescript-lite@14.1.0: + resolution: {integrity: sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -1384,6 +1706,10 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + local-pkg@1.1.1: + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + engines: {node: '>=14'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1458,6 +1784,10 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1468,6 +1798,9 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1475,9 +1808,18 @@ packages: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} + napi-postinstall@0.2.3: + resolution: {integrity: sha512-Mi7JISo/4Ij2tDZ2xBE2WH+/KvVlkhA6juEjpEeRAVPNCpN3nxJo/5FhDNKgBcdmcmhaH6JjgST4xY/23ZYK0w==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} + neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -1489,6 +1831,9 @@ packages: resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-package-data@6.0.2: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1509,6 +1854,9 @@ packages: engines: {node: ^14.16.0 || >=16.10.0} hasBin: true + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -1623,9 +1971,19 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + pnpm-workspace-yaml@0.3.1: + resolution: {integrity: sha512-3nW5RLmREmZ8Pm8MbPsO2RM+99RRjYd25ynj3NV0cFsN7CcEl4sDFzgoFmSyduFwxFQ2Qbu3y2UdCh6HlyUOeA==} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -1663,6 +2021,9 @@ packages: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} + quansync@0.2.10: + resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1686,6 +2047,18 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + registry-auth-token@5.1.0: resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} engines: {node: '>=14'} @@ -1694,6 +2067,10 @@ packages: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + release-it@18.1.2: resolution: {integrity: sha512-HOVRcicehCgoCsPFOu0iCBlEC8GDOoKS5s6ICkWmqomGEoZtRQ88D3RCsI5MciSU8vAQU+aWZW2z57NQNNb74w==} engines: {node: ^20.9.0 || >=22.0.0} @@ -1703,6 +2080,9 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.10: resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} engines: {node: '>= 0.4'} @@ -1740,6 +2120,10 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -1809,6 +2193,9 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + stable-hash@0.0.5: + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} + stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} @@ -1840,6 +2227,10 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} + strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -1859,12 +2250,20 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + synckit@0.10.3: + resolution: {integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==} + engines: {node: ^14.18.0 || >=16.0.0} + tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} tinyexec@1.0.1: resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tinyglobby@0.2.13: + resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + engines: {node: '>=12.0.0'} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -1913,6 +2312,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -1936,6 +2338,15 @@ packages: universal-user-agent@7.0.2: resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} + unrs-resolver@1.7.2: + resolution: {integrity: sha512-BBKpaylOW8KbHsu378Zky/dGh4ckT/4NW/0SHRABdqRLcQJ2dAOjDo9g97p04sWflm0kqPqpUatxReNV/dqI5A==} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + update-notifier@7.3.1: resolution: {integrity: sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==} engines: {node: '>=18'} @@ -1963,6 +2374,12 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + when-exit@2.1.4: resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==} @@ -2008,6 +2425,15 @@ packages: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} + yaml-eslint-parser@1.3.0: + resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@2.7.1: + resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} + engines: {node: '>= 14'} + hasBin: true + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -2026,6 +2452,12 @@ packages: snapshots: + '@apidevtools/json-schema-ref-parser@11.9.3': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -2045,12 +2477,40 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@clack/core@0.4.2': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.10.1': + dependencies: + '@clack/core': 0.4.2 + picocolors: 1.1.1 + sisteransi: 1.0.5 + '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)': dependencies: '@types/semver': 7.7.0 + semver: 7.7.1 + optionalDependencies: conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.1.0 - semver: 7.7.1 + + '@emnapi/core@1.4.3': + dependencies: + '@emnapi/wasi-threads': 1.0.2 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.2': + dependencies: + tslib: 2.8.1 + optional: true '@esbuild/aix-ppc64@0.25.1': optional: true @@ -2127,13 +2587,17 @@ snapshots: '@esbuild/win32-x64@0.25.1': optional: true - '@eslint-community/eslint-utils@4.6.1(eslint@9.23.0)': + '@eslint-community/eslint-utils@4.6.1(eslint@9.23.0(jiti@2.4.2))': dependencies: - eslint: 9.23.0 + eslint: 9.23.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} + '@eslint/compat@1.2.9(eslint@9.23.0(jiti@2.4.2))': + optionalDependencies: + eslint: 9.23.0(jiti@2.4.2) + '@eslint/config-array@0.19.2': dependencies: '@eslint/object-schema': 2.1.6 @@ -2199,41 +2663,46 @@ snapshots: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/figures': 1.0.11 '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/confirm@5.1.9(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) + optionalDependencies: '@types/node': 22.13.10 '@inquirer/core@10.1.10(@types/node@22.13.10)': dependencies: '@inquirer/figures': 1.0.11 '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/editor@4.2.10(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 external-editor: 3.1.0 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/expand@4.0.12(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/figures@1.0.11': {} @@ -2241,20 +2710,23 @@ snapshots: dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) + optionalDependencies: '@types/node': 22.13.10 '@inquirer/number@3.0.12(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) + optionalDependencies: '@types/node': 22.13.10 '@inquirer/password@4.0.12(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 ansi-escapes: 4.3.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/prompts@7.5.0(@types/node@22.13.10)': dependencies: @@ -2268,36 +2740,49 @@ snapshots: '@inquirer/rawlist': 4.1.0(@types/node@22.13.10) '@inquirer/search': 3.0.12(@types/node@22.13.10) '@inquirer/select': 4.2.0(@types/node@22.13.10) + optionalDependencies: '@types/node': 22.13.10 '@inquirer/rawlist@4.1.0(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/search@3.0.12(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/figures': 1.0.11 '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/select@4.2.0(@types/node@22.13.10)': dependencies: '@inquirer/core': 10.1.10(@types/node@22.13.10) '@inquirer/figures': 1.0.11 '@inquirer/type': 3.0.6(@types/node@22.13.10) - '@types/node': 22.13.10 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.10 '@inquirer/type@3.0.6(@types/node@22.13.10)': - dependencies: + optionalDependencies: '@types/node': 22.13.10 + '@jsdevtools/ono@7.1.3': {} + + '@napi-rs/wasm-runtime@0.2.9': + dependencies: + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 + '@tybys/wasm-util': 0.9.0 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2378,6 +2863,8 @@ snapshots: dependencies: '@octokit/openapi-types': 25.0.0 + '@pkgr/core@0.2.4': {} + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': @@ -2390,12 +2877,12 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@release-it/conventional-changelog@10.0.0(release-it@18.1.2)': + '@release-it/conventional-changelog@10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2))': dependencies: concat-stream: 2.0.0 - conventional-changelog: 6.0.0 + conventional-changelog: 6.0.0(conventional-commits-filter@5.0.0) conventional-recommended-bump: 10.0.0 - git-semver-tags: 8.0.0(conventional-commits-parser@6.1.0) + git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) release-it: 18.1.2(@types/node@22.13.10)(typescript@5.8.2) semver: 7.7.1 transitivePeerDependencies: @@ -2408,10 +2895,10 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@stylistic/eslint-plugin@4.2.0(eslint@9.23.0)(typescript@5.8.2)': + '@stylistic/eslint-plugin@4.2.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@typescript-eslint/utils': 8.31.0(eslint@9.23.0)(typescript@5.8.2) - eslint: 9.23.0 + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.23.0(jiti@2.4.2) eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -2422,6 +2909,11 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + optional: true + '@types/estree@1.0.7': {} '@types/json-schema@7.0.15': {} @@ -2445,15 +2937,15 @@ snapshots: '@types/validate-npm-package-name@4.0.2': {} - '@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0)(eslint@9.23.0)(typescript@5.8.2)': + '@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.31.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/parser': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) '@typescript-eslint/scope-manager': 8.31.0 - '@typescript-eslint/type-utils': 8.31.0(eslint@9.23.0)(typescript@5.8.2) - '@typescript-eslint/utils': 8.31.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/type-utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) '@typescript-eslint/visitor-keys': 8.31.0 - eslint: 9.23.0 + eslint: 9.23.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -2462,14 +2954,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.31.0(eslint@9.23.0)(typescript@5.8.2)': + '@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: '@typescript-eslint/scope-manager': 8.31.0 '@typescript-eslint/types': 8.31.0 '@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.2) '@typescript-eslint/visitor-keys': 8.31.0 debug: 4.4.0 - eslint: 9.23.0 + eslint: 9.23.0(jiti@2.4.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -2479,12 +2971,12 @@ snapshots: '@typescript-eslint/types': 8.31.0 '@typescript-eslint/visitor-keys': 8.31.0 - '@typescript-eslint/type-utils@8.31.0(eslint@9.23.0)(typescript@5.8.2)': + '@typescript-eslint/type-utils@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: '@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.2) - '@typescript-eslint/utils': 8.31.0(eslint@9.23.0)(typescript@5.8.2) + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) debug: 4.4.0 - eslint: 9.23.0 + eslint: 9.23.0(jiti@2.4.2) ts-api-utils: 2.1.0(typescript@5.8.2) typescript: 5.8.2 transitivePeerDependencies: @@ -2506,13 +2998,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.31.0(eslint@9.23.0)(typescript@5.8.2)': + '@typescript-eslint/utils@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0) + '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.31.0 '@typescript-eslint/types': 8.31.0 '@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.2) - eslint: 9.23.0 + eslint: 9.23.0(jiti@2.4.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -2522,17 +3014,65 @@ snapshots: '@typescript-eslint/types': 8.31.0 eslint-visitor-keys: 4.2.0 - '@vue/eslint-config-typescript@14.5.0(eslint-plugin-vue@10.0.0)(eslint@9.23.0)(typescript@5.8.2)': + '@unrs/resolver-binding-darwin-arm64@1.7.2': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.7.2': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.7.2': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.7.2': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.7.2': dependencies: - '@typescript-eslint/utils': 8.31.0(eslint@9.23.0)(typescript@5.8.2) - eslint: 9.23.0 - eslint-plugin-vue: 10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.3) - fast-glob: 3.3.3 + '@napi-rs/wasm-runtime': 0.2.9 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.7.2': + optional: true + + '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + dependencies: + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.23.0(jiti@2.4.2) + optionalDependencies: typescript: 5.8.2 - typescript-eslint: 8.31.0(eslint@9.23.0)(typescript@5.8.2) - vue-eslint-parser: 10.1.3(eslint@9.23.0) - transitivePeerDependencies: - - supports-color acorn-jsx@5.3.2(acorn@8.14.1): dependencies: @@ -2571,6 +3111,8 @@ snapshots: argparse@2.0.1: {} + aria-query@5.3.2: {} + array-ify@1.0.0: {} ast-types@0.13.4: @@ -2618,8 +3160,17 @@ snapshots: dependencies: fill-range: 7.1.1 + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001716 + electron-to-chromium: 1.5.148 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + buffer-from@1.1.2: {} + builtin-modules@5.0.0: {} + bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -2628,6 +3179,8 @@ snapshots: camelcase@8.0.0: {} + caniuse-lite@1.0.30001716: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -2643,6 +3196,10 @@ snapshots: dependencies: consola: 3.4.2 + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + cli-boxes@3.0.0: {} cli-cursor@5.0.0: @@ -2659,6 +3216,8 @@ snapshots: color-name@1.1.4: {} + comment-parser@1.4.1: {} + compare-func@2.0.0: dependencies: array-ify: 1.0.0 @@ -2673,6 +3232,8 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 + confbox@0.1.8: {} + confbox@0.2.2: {} config-chain@1.1.13: @@ -2701,14 +3262,14 @@ snapshots: dependencies: compare-func: 2.0.0 - conventional-changelog-core@8.0.0: + conventional-changelog-core@8.0.0(conventional-commits-filter@5.0.0): dependencies: '@hutson/parse-repository-url': 5.0.0 add-stream: 1.0.0 conventional-changelog-writer: 8.0.1 conventional-commits-parser: 6.1.0 - git-raw-commits: 5.0.0(conventional-commits-parser@6.1.0) - git-semver-tags: 8.0.0(conventional-commits-parser@6.1.0) + git-raw-commits: 5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) + git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) hosted-git-info: 7.0.2 normalize-package-data: 6.0.2 read-package-up: 11.0.0 @@ -2737,13 +3298,13 @@ snapshots: meow: 13.2.0 semver: 7.7.1 - conventional-changelog@6.0.0: + conventional-changelog@6.0.0(conventional-commits-filter@5.0.0): dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-atom: 5.0.0 conventional-changelog-codemirror: 5.0.0 conventional-changelog-conventionalcommits: 8.0.0 - conventional-changelog-core: 8.0.0 + conventional-changelog-core: 8.0.0(conventional-commits-filter@5.0.0) conventional-changelog-ember: 5.0.0 conventional-changelog-eslint: 6.0.0 conventional-changelog-express: 5.0.0 @@ -2767,12 +3328,17 @@ snapshots: conventional-commits-parser: 6.1.0 meow: 13.2.0 + core-js-compat@3.42.0: + dependencies: + browserslist: 4.24.4 + cosmiconfig@9.0.0(typescript@5.8.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 + optionalDependencies: typescript: 5.8.2 cross-spawn@7.0.6: @@ -2785,6 +3351,10 @@ snapshots: data-uri-to-buffer@6.0.2: {} + debug@3.2.7: + dependencies: + ms: 2.1.3 + debug@4.4.0: dependencies: ms: 2.1.3 @@ -2802,8 +3372,6 @@ snapshots: define-lazy-prop@3.0.0: {} - defu@6.1.4: {} - degenerator@5.0.1: dependencies: ast-types: 0.13.4 @@ -2818,6 +3386,8 @@ snapshots: dependencies: type-fest: 4.40.0 + electron-to-chromium@1.5.148: {} + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -2856,8 +3426,12 @@ snapshots: '@esbuild/win32-ia32': 0.25.1 '@esbuild/win32-x64': 0.25.1 + escalade@3.2.0: {} + escape-goat@4.0.0: {} + escape-string-regexp@1.0.5: {} + escape-string-regexp@4.0.0: {} escodegen@2.1.0: @@ -2868,45 +3442,215 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-vuetify@3.0.3(eslint@9.23.0)(typescript@5.8.2)(vue-eslint-parser@10.1.3): + eslint-compat-utils@0.6.5(eslint@9.23.0(jiti@2.4.2)): + dependencies: + eslint: 9.23.0(jiti@2.4.2) + semver: 7.7.1 + + eslint-config-flat-gitignore@2.1.0(eslint@9.23.0(jiti@2.4.2)): + dependencies: + '@eslint/compat': 1.2.9(eslint@9.23.0(jiti@2.4.2)) + eslint: 9.23.0(jiti@2.4.2) + + eslint-config-vuetify@4.0.0(@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-plugin-no-only-tests@3.3.0)(eslint-plugin-vuejs-accessibility@2.4.1(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): dependencies: + '@clack/prompts': 0.10.1 + '@eslint/eslintrc': 3.3.1 '@eslint/js': 9.25.1 - '@stylistic/eslint-plugin': 4.2.0(eslint@9.23.0)(typescript@5.8.2) - '@vue/eslint-config-typescript': 14.5.0(eslint-plugin-vue@10.0.0)(eslint@9.23.0)(typescript@5.8.2) - defu: 6.1.4 - eslint: 9.23.0 - eslint-plugin-vue: 10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.3) + '@stylistic/eslint-plugin': 4.2.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/parser': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@vitest/eslint-plugin': 1.1.44(@typescript-eslint/utils@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.23.0(jiti@2.4.2) + eslint-config-flat-gitignore: 2.1.0(eslint@9.23.0(jiti@2.4.2)) + eslint-flat-config-utils: 2.0.1 + eslint-plugin-antfu: 3.1.1(eslint@9.23.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.11.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint-plugin-jest: 28.11.0(@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint-plugin-jsonc: 2.20.0(eslint@9.23.0(jiti@2.4.2)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 4.12.3(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint-plugin-pnpm: 0.3.1(eslint@9.23.0(jiti@2.4.2)) + eslint-plugin-regexp: 2.7.0(eslint@9.23.0(jiti@2.4.2)) + eslint-plugin-unicorn: 58.0.0(eslint@9.23.0(jiti@2.4.2)) + eslint-plugin-vue: 10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.23.0(jiti@2.4.2))) + eslint-plugin-vuejs-accessibility: 2.4.1(eslint@9.23.0(jiti@2.4.2)) + eslint-typegen: 2.1.0(eslint@9.23.0(jiti@2.4.2)) exsolve: 1.0.5 globals: 16.0.0 - jiti: 2.4.2 + jsonc-eslint-parser: 2.4.0 + kolorist: 1.8.0 + local-pkg: 1.1.1 + nypm: 0.6.0 + package-manager-detector: 1.2.0 + typescript-eslint: 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + vue-eslint-parser: 10.1.3(eslint@9.23.0(jiti@2.4.2)) + yaml-eslint-parser: 1.3.0 transitivePeerDependencies: + - '@eslint/json' - supports-color - typescript - - vue-eslint-parser - eslint-plugin-vue@10.0.0(eslint@9.23.0)(vue-eslint-parser@10.1.3): + eslint-flat-config-utils@2.0.1: + dependencies: + pathe: 2.0.3 + + eslint-import-resolver-node@0.3.9: dependencies: - '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0) - eslint: 9.23.0 + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + eslint-json-compat-utils@0.2.1(eslint@9.23.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): + dependencies: + eslint: 9.23.0(jiti@2.4.2) + esquery: 1.6.0 + jsonc-eslint-parser: 2.4.0 + + eslint-plugin-antfu@3.1.1(eslint@9.23.0(jiti@2.4.2)): + dependencies: + eslint: 9.23.0(jiti@2.4.2) + + eslint-plugin-import-x@4.11.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + dependencies: + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + comment-parser: 1.4.1 + debug: 4.4.0 + eslint: 9.23.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.10.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + stable-hash: 0.0.5 + tslib: 2.8.1 + unrs-resolver: 1.7.2 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + dependencies: + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.23.0(jiti@2.4.2) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-jsonc@2.20.0(eslint@9.23.0(jiti@2.4.2)): + dependencies: + '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0(jiti@2.4.2)) + eslint: 9.23.0(jiti@2.4.2) + eslint-compat-utils: 0.6.5(eslint@9.23.0(jiti@2.4.2)) + eslint-json-compat-utils: 0.2.1(eslint@9.23.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) + espree: 10.3.0 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.10.3 + transitivePeerDependencies: + - '@eslint/json' + + eslint-plugin-no-only-tests@3.3.0: {} + + eslint-plugin-perfectionist@4.12.3(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + dependencies: + '@typescript-eslint/types': 8.31.0 + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.23.0(jiti@2.4.2) + natural-orderby: 5.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-pnpm@0.3.1(eslint@9.23.0(jiti@2.4.2)): + dependencies: + eslint: 9.23.0(jiti@2.4.2) + find-up-simple: 1.0.1 + jsonc-eslint-parser: 2.4.0 + pathe: 2.0.3 + pnpm-workspace-yaml: 0.3.1 + tinyglobby: 0.2.13 + yaml-eslint-parser: 1.3.0 + + eslint-plugin-regexp@2.7.0(eslint@9.23.0(jiti@2.4.2)): + dependencies: + '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + comment-parser: 1.4.1 + eslint: 9.23.0(jiti@2.4.2) + jsdoc-type-pratt-parser: 4.1.0 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scslre: 0.3.0 + + eslint-plugin-unicorn@58.0.0(eslint@9.23.0(jiti@2.4.2)): + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint/plugin-kit': 0.2.8 + ci-info: 4.2.0 + clean-regexp: 1.0.0 + core-js-compat: 3.42.0 + eslint: 9.23.0(jiti@2.4.2) + esquery: 1.6.0 + globals: 16.0.0 + indent-string: 5.0.0 + is-builtin-module: 5.0.0 + jsesc: 3.1.0 + pluralize: 8.0.0 + read-package-up: 11.0.0 + regexp-tree: 0.1.27 + regjsparser: 0.12.0 + semver: 7.7.1 + strip-indent: 4.0.0 + + eslint-plugin-vue@10.0.0(eslint@9.23.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.23.0(jiti@2.4.2))): + dependencies: + '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0(jiti@2.4.2)) + eslint: 9.23.0(jiti@2.4.2) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.7.1 - vue-eslint-parser: 10.1.3(eslint@9.23.0) + vue-eslint-parser: 10.1.3(eslint@9.23.0(jiti@2.4.2)) xml-name-validator: 4.0.0 + eslint-plugin-vuejs-accessibility@2.4.1(eslint@9.23.0(jiti@2.4.2)): + dependencies: + aria-query: 5.3.2 + emoji-regex: 10.4.0 + eslint: 9.23.0(jiti@2.4.2) + vue-eslint-parser: 9.4.3(eslint@9.23.0(jiti@2.4.2)) + transitivePeerDependencies: + - supports-color + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-typegen@2.1.0(eslint@9.23.0(jiti@2.4.2)): + dependencies: + eslint: 9.23.0(jiti@2.4.2) + json-schema-to-typescript-lite: 14.1.0 + ohash: 2.0.11 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} - eslint@9.23.0: + eslint@9.23.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0) + '@eslint-community/eslint-utils': 4.6.1(eslint@9.23.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.2 '@eslint/config-helpers': 0.2.1 @@ -2941,6 +3685,8 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color @@ -2950,6 +3696,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.2.0 + espree@9.6.1: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 3.4.3 + esprima@4.0.1: {} esquery@1.6.0: @@ -3019,6 +3771,10 @@ snapshots: dependencies: reusify: 1.1.0 + fdir@6.4.4(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 @@ -3058,6 +3814,10 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 + get-tsconfig@4.10.0: + dependencies: + resolve-pkg-maps: 1.0.0 + get-uri@6.0.4: dependencies: basic-ftp: 5.0.5 @@ -3066,7 +3826,7 @@ snapshots: transitivePeerDependencies: - supports-color - git-raw-commits@5.0.0(conventional-commits-parser@6.1.0): + git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0): dependencies: '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) meow: 13.2.0 @@ -3074,7 +3834,7 @@ snapshots: - conventional-commits-filter - conventional-commits-parser - git-semver-tags@8.0.0(conventional-commits-parser@6.1.0): + git-semver-tags@8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0): dependencies: '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) meow: 13.2.0 @@ -3181,6 +3941,8 @@ snapshots: imurmurhash@0.1.4: {} + indent-string@5.0.0: {} + index-to-position@1.1.0: {} inflight@1.0.6: @@ -3214,6 +3976,10 @@ snapshots: is-arrayish@0.2.1: {} + is-builtin-module@5.0.0: + dependencies: + builtin-modules: 5.0.0 + is-core-module@2.16.1: dependencies: hasown: 2.0.2 @@ -3277,7 +4043,8 @@ snapshots: lodash.isstring: 4.0.1 lodash.uniqby: 4.7.0 - jiti@2.4.2: {} + jiti@2.4.2: + optional: true js-tokens@4.0.0: {} @@ -3287,14 +4054,32 @@ snapshots: jsbn@1.1.0: {} + jsdoc-type-pratt-parser@4.1.0: {} + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} + json-schema-to-typescript-lite@14.1.0: + dependencies: + '@apidevtools/json-schema-ref-parser': 11.9.3 + '@types/json-schema': 7.0.15 + json-schema-traverse@0.4.1: {} json-stable-stringify-without-jsonify@1.0.1: {} + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.14.1 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.1 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -3316,6 +4101,12 @@ snapshots: lines-and-columns@1.2.4: {} + local-pkg@1.1.1: + dependencies: + mlly: 1.7.4 + pkg-types: 2.1.0 + quansync: 0.2.10 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -3372,6 +4163,8 @@ snapshots: mimic-function@5.0.1: {} + min-indent@1.0.1: {} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -3382,12 +4175,23 @@ snapshots: minimist@1.2.8: {} + mlly@1.7.4: + dependencies: + acorn: 8.14.1 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + ms@2.1.3: {} mute-stream@2.0.0: {} + napi-postinstall@0.2.3: {} + natural-compare@1.4.0: {} + natural-orderby@5.0.0: {} + neo-async@2.6.2: {} netmask@2.0.2: {} @@ -3396,6 +4200,8 @@ snapshots: dependencies: type-fest: 2.19.0 + node-releases@2.0.19: {} + normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 @@ -3423,6 +4229,8 @@ snapshots: pkg-types: 2.1.0 tinyexec: 0.3.2 + ohash@2.0.11: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -3553,12 +4361,24 @@ snapshots: picomatch@4.0.2: {} + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + pkg-types@2.1.0: dependencies: confbox: 0.2.2 exsolve: 1.0.5 pathe: 2.0.3 + pluralize@8.0.0: {} + + pnpm-workspace-yaml@0.3.1: + dependencies: + yaml: 2.7.1 + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 @@ -3600,6 +4420,8 @@ snapshots: dependencies: escape-goat: 4.0.0 + quansync@0.2.10: {} + queue-microtask@1.2.3: {} rc@1.2.8: @@ -3633,6 +4455,17 @@ snapshots: dependencies: resolve: 1.22.10 + refa@0.12.1: + dependencies: + '@eslint-community/regexpp': 4.12.1 + + regexp-ast-analysis@0.7.1: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + + regexp-tree@0.1.27: {} + registry-auth-token@5.1.0: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -3641,6 +4474,10 @@ snapshots: dependencies: rc: 1.2.8 + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2): dependencies: '@iarna/toml': 2.2.5 @@ -3675,6 +4512,8 @@ snapshots: resolve-from@4.0.0: {} + resolve-pkg-maps@1.0.0: {} + resolve@1.22.10: dependencies: is-core-module: 2.16.1 @@ -3706,6 +4545,12 @@ snapshots: safer-buffer@2.1.2: {} + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + semver@7.6.3: {} semver@7.7.1: {} @@ -3763,6 +4608,8 @@ snapshots: sprintf-js@1.1.3: {} + stable-hash@0.0.5: {} + stdin-discarder@0.2.2: {} string-width@4.2.3: @@ -3793,6 +4640,10 @@ snapshots: strip-final-newline@4.0.0: {} + strip-indent@4.0.0: + dependencies: + min-indent: 1.0.1 + strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -3805,10 +4656,20 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + synckit@0.10.3: + dependencies: + '@pkgr/core': 0.2.4 + tslib: 2.8.1 + tinyexec@0.3.2: {} tinyexec@1.0.1: {} + tinyglobby@0.2.13: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -3835,18 +4696,20 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.31.0(eslint@9.23.0)(typescript@5.8.2): + typescript-eslint@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0)(eslint@9.23.0)(typescript@5.8.2) - '@typescript-eslint/parser': 8.31.0(eslint@9.23.0)(typescript@5.8.2) - '@typescript-eslint/utils': 8.31.0(eslint@9.23.0)(typescript@5.8.2) - eslint: 9.23.0 + '@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/parser': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.31.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.23.0(jiti@2.4.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color typescript@5.8.2: {} + ufo@1.6.1: {} + uglify-js@3.19.3: optional: true @@ -3860,6 +4723,34 @@ snapshots: universal-user-agent@7.0.2: {} + unrs-resolver@1.7.2: + dependencies: + napi-postinstall: 0.2.3 + optionalDependencies: + '@unrs/resolver-binding-darwin-arm64': 1.7.2 + '@unrs/resolver-binding-darwin-x64': 1.7.2 + '@unrs/resolver-binding-freebsd-x64': 1.7.2 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.2 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.2 + '@unrs/resolver-binding-linux-arm64-gnu': 1.7.2 + '@unrs/resolver-binding-linux-arm64-musl': 1.7.2 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.2 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.2 + '@unrs/resolver-binding-linux-riscv64-musl': 1.7.2 + '@unrs/resolver-binding-linux-s390x-gnu': 1.7.2 + '@unrs/resolver-binding-linux-x64-gnu': 1.7.2 + '@unrs/resolver-binding-linux-x64-musl': 1.7.2 + '@unrs/resolver-binding-wasm32-wasi': 1.7.2 + '@unrs/resolver-binding-win32-arm64-msvc': 1.7.2 + '@unrs/resolver-binding-win32-ia32-msvc': 1.7.2 + '@unrs/resolver-binding-win32-x64-msvc': 1.7.2 + + update-browserslist-db@1.1.3(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + update-notifier@7.3.1: dependencies: boxen: 8.0.1 @@ -3888,10 +4779,10 @@ snapshots: validate-npm-package-name@6.0.0: {} - vue-eslint-parser@10.1.3(eslint@9.23.0): + vue-eslint-parser@10.1.3(eslint@9.23.0(jiti@2.4.2)): dependencies: debug: 4.4.0 - eslint: 9.23.0 + eslint: 9.23.0(jiti@2.4.2) eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -3901,6 +4792,19 @@ snapshots: transitivePeerDependencies: - supports-color + vue-eslint-parser@9.4.3(eslint@9.23.0(jiti@2.4.2)): + dependencies: + debug: 4.4.0 + eslint: 9.23.0(jiti@2.4.2) + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + lodash: 4.17.21 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + when-exit@2.1.4: {} which@2.0.2: @@ -3939,6 +4843,13 @@ snapshots: xml-name-validator@4.0.0: {} + yaml-eslint-parser@1.3.0: + dependencies: + eslint-visitor-keys: 3.4.3 + yaml: 2.7.1 + + yaml@2.7.1: {} + yargs-parser@21.1.1: {} yocto-queue@0.1.0: {} diff --git a/scripts/build.js b/scripts/build.js index b7de2d2..d1af7b8 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -17,7 +17,7 @@ async function bundle () { } bundle() - .catch(err => { - console.error(err) + .catch(error => { + console.error(error) process.exit(1) }) diff --git a/src/index.ts b/src/index.ts index 0b839a2..def305e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ // Node -import { dirname, join, resolve } from 'path' -import { fileURLToPath } from 'url' -import { mkdirSync, rmSync, writeFileSync } from 'fs' +import { dirname, join, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' +import { mkdirSync, rmSync, writeFileSync } from 'node:fs' // Types import type { ContextState } from './utils/prompts' @@ -19,7 +19,7 @@ const validPresets = ['base', 'custom', 'default', 'essentials'] async function run () { const argv = minimist(process.argv.slice(2), { alias: { - 'typescript': ['ts'], + typescript: ['ts'], }, }) @@ -50,8 +50,6 @@ async function run () { usePackageManager, installDependencies: installDeps, usePreset, - useStore, - useEslint, useNuxtV4Compat, useNuxtModule, useNuxtSSR, @@ -83,8 +81,7 @@ async function run () { useNuxtSSR, useNuxtSSRClientHints, }) - } - else { + } else { // Create project directory mkdirSync(projectRoot) @@ -122,7 +119,7 @@ run() console.log('Support Vuetify: https://github.com/sponsors/johnleider') process.exit(0) }) - .catch(err => { - console.error(`\n${red('✖')} ${err}\n`) + .catch(error => { + console.error(`\n${red('✖')} ${error}\n`) process.exit(1) }) diff --git a/src/utils/deepMerge.ts b/src/utils/deepMerge.ts index c53df44..ecaa2e4 100644 --- a/src/utils/deepMerge.ts +++ b/src/utils/deepMerge.ts @@ -5,15 +5,15 @@ interface DeepMerge { const isObject: { (key: any): boolean } = (v: unknown): boolean => { return ( - v === Object(v) && - v !== null && - !Array.isArray(v) + v === Object(v) + && v !== null + && !Array.isArray(v) ) } const deepMerge: DeepMerge = (...sources: T): GenericObject => sources.reduce((acc, curr) => { - Object.keys(curr).forEach(key => { + for (const key of Object.keys(curr)) { if (Array.isArray(acc[key]) && Array.isArray(curr[key])) { acc[key] = Array.from(new Set((acc[key]).concat(curr[key]))) } else if (isObject(acc[key]) && isObject(curr[key])) { @@ -21,7 +21,7 @@ const deepMerge: DeepMerge = (...sources: T): Generic } else { acc[key] = curr[key] } - }) + } return acc }, {}) diff --git a/src/utils/index.ts b/src/utils/index.ts index 4f18378..776d9cc 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,7 +1,3 @@ -import { installDependencies } from './installDependencies' -import { renderTemplate } from './renderTemplate' +export { installDependencies } from './installDependencies' -export { - installDependencies, - renderTemplate, -} +export { renderTemplate } from './renderTemplate' diff --git a/src/utils/installDependencies.ts b/src/utils/installDependencies.ts index ad01e33..5acece5 100644 --- a/src/utils/installDependencies.ts +++ b/src/utils/installDependencies.ts @@ -19,7 +19,7 @@ export async function installDependencies (root: string = process.cwd(), manager }) .catch(() => { console.error( - `Failed to install dependencies using ${manager}.` + `Failed to install dependencies using ${manager}.`, ) }) if (manager === 'pnpm') { diff --git a/src/utils/nuxt/renderNuxtTemplate.ts b/src/utils/nuxt/renderNuxtTemplate.ts index aeea28d..f05480c 100644 --- a/src/utils/nuxt/renderNuxtTemplate.ts +++ b/src/utils/nuxt/renderNuxtTemplate.ts @@ -1,7 +1,7 @@ // Node -import fs from 'fs' -import path from 'path' -import { spawnSync } from 'child_process' +import fs from 'node:fs' +import path from 'node:path' +import { spawnSync } from 'node:child_process' // Types import type { NuxtContext, PackageJsonEntry } from './types' @@ -35,14 +35,17 @@ export async function renderNuxtTemplate (ctx: NuxtContext) { .replace('@latest', () => (isYarn1 ? '' : '@latest')) .replace(/^npm exec/, () => { // Prefer `pnpm dlx`, `yarn dlx`, or `bun x` - if (pkgManager === 'pnpm') + if (pkgManager === 'pnpm') { return 'pnpm dlx' + } - if (pkgManager === 'yarn' && !isYarn1) + if (pkgManager === 'yarn' && !isYarn1) { return 'yarn dlx' + } - if (pkgManager === 'bun') + if (pkgManager === 'bun') { return 'bun x' + } // Use `npm exec` in all other cases, // including Yarn 1.x and other custom npm clients. @@ -87,7 +90,7 @@ function configurePackageJson ({ nuxtPreset, }: NuxtContext) { const packageJson = path.join(projectRoot, 'package.json') - const pkg = JSON.parse(fs.readFileSync(path.join(projectRoot, 'package.json'), 'utf-8')) + const pkg = JSON.parse(fs.readFileSync(path.join(projectRoot, 'package.json'), 'utf8')) pkg.name = projectName // prepare scripts @@ -104,7 +107,7 @@ function configurePackageJson ({ const dependencies: PackageJsonEntry[] = [ ['vuetify', versions.vuetify], ] - if (dependencies.length) { + if (dependencies.length > 0) { addPackageObject('dependencies', dependencies, pkg) } @@ -118,13 +121,12 @@ function configurePackageJson ({ ] if (useNuxtModule) { devDependencies.push(['vuetify-nuxt-module', versions['vuetify-nuxt-module']]) - } - else { + } else { devDependencies.push(['upath', versions['upath']]) devDependencies.push(['@vuetify/loader-shared', versions['@vuetify/loader-shared']]) devDependencies.push(['vite-plugin-vuetify', versions['vite-plugin-vuetify']]) } - if (devDependencies.length) { + if (devDependencies.length > 0) { addPackageObject('devDependencies', devDependencies, pkg) } @@ -132,7 +134,7 @@ function configurePackageJson ({ addPackageObject('scripts', scripts, pkg, false) // save package.json - fs.writeFileSync(packageJson, JSON.stringify(pkg, null, 2), 'utf-8') + fs.writeFileSync(packageJson, JSON.stringify(pkg, null, 2), 'utf8') } function configureVuetify (ctx: NuxtContext, nuxtConfig: ReturnType) { @@ -283,9 +285,11 @@ function prepareNuxtModule ( useBrowserThemeOnly: false, }, }, - styles: ctx.nuxtPreset === 'nuxt-default' ? true : { - configFile: 'assets/settings.scss', - }, + styles: ctx.nuxtPreset === 'nuxt-default' + ? true + : { + configFile: 'assets/settings.scss', + }, } configureVuetify(ctx, nuxtConfig) addNuxtModule( @@ -304,9 +308,11 @@ function prepareVuetifyModule ( const config = configureVuetify(ctx, nuxtConfig) // enable auto import and include styles - const styles = ctx.nuxtPreset !== 'nuxt-essentials' ? true : { - configFile: 'assets/settings.scss', - } + const styles = ctx.nuxtPreset === 'nuxt-essentials' + ? { + configFile: 'assets/settings.scss', + } + : true config.vuetify = { autoImport: true, styles } } @@ -323,13 +329,12 @@ function prepareProject (ctx: NuxtContext) { // v4 compat: rootPath is `${rootPath}/app` // https://nuxt.com/docs/getting-started/upgrade#migrating-to-nuxt-4 const nuxtConfigFile = path.join(rootPath, useNuxtV4Compat ? '../nuxt.config.ts' : 'nuxt.config.ts') - const nuxtConfig = parseModule(fs.readFileSync(nuxtConfigFile, 'utf-8')) + const nuxtConfig = parseModule(fs.readFileSync(nuxtConfigFile, 'utf8')) // prepare nuxt config if (useNuxtModule) { prepareNuxtModule(ctx, nuxtConfig) - } - else { + } else { prepareVuetifyModule(ctx, nuxtConfig) } @@ -368,7 +373,7 @@ function prepareProject (ctx: NuxtContext) { fs.writeFileSync( nuxtConfigFile, code, - 'utf-8', + 'utf8', ) // prepare resources diff --git a/src/utils/nuxt/utils.ts b/src/utils/nuxt/utils.ts index 294350f..aff0aac 100644 --- a/src/utils/nuxt/utils.ts +++ b/src/utils/nuxt/utils.ts @@ -1,8 +1,8 @@ // Node -import process from 'process' -import path from 'path' -import { spawnSync } from 'child_process' -import fs from 'fs' +import process from 'node:process' +import path from 'node:path' +import { spawnSync } from 'node:child_process' +import fs from 'node:fs' // Types import type { PackageJsonEntry } from './types' @@ -13,8 +13,9 @@ import { resolveCommand } from 'package-manager-detector/commands' export function detectPkgInfo () { const userAgent = process.env.npm_config_user_agent - if (!userAgent) + if (!userAgent) { return undefined + } const pkgSpec = userAgent.split(' ')[0] const pkgSpecArr = pkgSpec.split('/') return { @@ -31,20 +32,21 @@ export function addPackageObject ( ) { pkg[key] ??= {} if (!sort) { - for (const [name, value] of entry) + for (const [name, value] of entry) { pkg[key][name] = value + } return } const entries = Object.entries(pkg[key]) pkg[key] = {} - entry.forEach(([name, value]) => { + for (const [name, value] of entry) { entries.push([name, value]) - }) - entries.sort(([a], [b]) => a.localeCompare(b)).forEach(([k, v]) => { + } + for (const [k, v] of entries.sort(([a], [b]) => a.localeCompare(b))) { pkg[key][k] = v - }) + } } export function runCommand ( @@ -77,8 +79,8 @@ export function runCommand ( } export function editFile (file: string, callback: (content: string) => string, destination?: string) { - const content = fs.readFileSync(file, 'utf-8') - fs.writeFileSync(destination ?? file, callback(content), 'utf-8') + const content = fs.readFileSync(file, 'utf8') + fs.writeFileSync(destination ?? file, callback(content), 'utf8') } export function getPaths ( diff --git a/src/utils/prompts.ts b/src/utils/prompts.ts index aca070c..82395d4 100644 --- a/src/utils/prompts.ts +++ b/src/utils/prompts.ts @@ -1,6 +1,6 @@ // Node -import { join, resolve } from 'path' -import { existsSync, readdirSync } from 'fs' +import { join, resolve } from 'node:path' +import { existsSync, readdirSync } from 'node:fs' // Types import type { Options as PromptOptions } from 'prompts' @@ -13,15 +13,15 @@ import { packageManager as defaultPackageManager } from './installDependencies' import validate from 'validate-npm-package-name' type ContextState = { - cwd: string, - projectName?: string, - canOverwrite?: boolean, - useTypeScript?: boolean, - usePackageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun', - installDependencies?: boolean, + cwd: string + projectName?: string + canOverwrite?: boolean + useTypeScript?: boolean + usePackageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun' + installDependencies?: boolean usePreset?: 'base' | 'default' | 'essentials' | 'nuxt-base' | 'nuxt-default' | 'nuxt-essentials' - useEslint?: boolean, - useRouter?: boolean, + useEslint?: boolean + useRouter?: boolean useStore?: boolean useNuxtV4Compat?: boolean useNuxtModule?: boolean @@ -38,8 +38,7 @@ const promptOptions: PromptOptions = { type DefinedContextState = { [P in keyof ContextState]-?: ContextState[P] } const initPrompts = async (context: ContextState) => { - - let answers: prompts.Answers< + type Answers = prompts.Answers< 'projectName' | 'canOverwrite' | 'usePreset' | 'useTypeScript' | 'usePackageManager' | 'installDependencies' | 'useNuxtV4Compat' | 'useNuxtModule' | 'useNuxtSSR' | 'useNuxtSSRClientHints' > @@ -50,7 +49,7 @@ const initPrompts = async (context: ContextState) => { } } - answers = await prompts([ + const answers: Answers = await prompts([ { name: 'projectName', type: 'text', @@ -60,7 +59,7 @@ const initPrompts = async (context: ContextState) => { validate: (v: string) => { const { errors, warnings, validForNewPackages: isValid } = validate(String(v).trim()) - const error = isValid ? null : errors ? errors[0] : warnings![0] + const error = isValid ? null : (errors ? errors[0] : warnings![0]) if (!isValid) { return `Package ${error}` @@ -77,9 +76,11 @@ const initPrompts = async (context: ContextState) => { const projectPath = join(context.cwd, projectName) return ( - !existsSync(projectPath) || - readdirSync(projectPath).length === 0 - ) ? null : 'toggle' + !existsSync(projectPath) + || readdirSync(projectPath).length === 0 + ) + ? null + : 'toggle' }, onState (a) { if (!a.value) { diff --git a/src/utils/renderTemplate.ts b/src/utils/renderTemplate.ts index dd25a66..f2bf634 100644 --- a/src/utils/renderTemplate.ts +++ b/src/utils/renderTemplate.ts @@ -1,5 +1,5 @@ -import { copyFileSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from 'fs' -import { basename, dirname, resolve } from 'path' +import { copyFileSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from 'node:fs' +import { basename, dirname, resolve } from 'node:path' import { deepMerge } from './deepMerge' @@ -9,9 +9,9 @@ function mergePkg (source: string, destination: string) { const mergedPkg = deepMerge(target, src) const keysToSort = ['devDependencies', 'dependencies'] - keysToSort.forEach(k => { + for (const k of keysToSort) { mergedPkg[k] = Object.keys(mergedPkg[k]).sort().reduce((a: { [key: string]: string }, c) => (a[c] = mergedPkg[k][c], a), {}) - }) + } writeFileSync(destination, JSON.stringify(mergedPkg, null, 2) + '\n') } @@ -19,16 +19,22 @@ function mergePkg (source: string, destination: string) { function renderDirectory (source: string, destination: string) { mkdirSync(destination, { recursive: true }) - readdirSync(source) - .forEach(path => renderTemplate(resolve(source, path), resolve(destination, path))) + for (const path of readdirSync(source)) { + renderTemplate(resolve(source, path), resolve(destination, path)) + } } function renderFile (source: string, destination: string) { const filename = basename(source) - if (filename.startsWith('_')) destination = resolve(dirname(destination), filename.replace('_', '.')) - if (filename === 'package.json') mergePkg(source, destination) - else copyFileSync(source, destination) + if (filename.startsWith('_')) { + destination = resolve(dirname(destination), filename.replace('_', '.')) + } + if (filename === 'package.json') { + mergePkg(source, destination) + } else { + copyFileSync(source, destination) + } } function renderTemplate (source: string, destination: string) { diff --git a/template/javascript/base/src/router/index.js b/template/javascript/base/src/router/index.js index aeab4c3..8d28043 100644 --- a/template/javascript/base/src/router/index.js +++ b/template/javascript/base/src/router/index.js @@ -16,12 +16,12 @@ const router = createRouter({ // Workaround for https://github.com/vitejs/vite/issues/11804 router.onError((err, to) => { if (err?.message?.includes?.('Failed to fetch dynamically imported module')) { - if (!localStorage.getItem('vuetify:dynamic-reload')) { + if (localStorage.getItem('vuetify:dynamic-reload')) { + console.error('Dynamic import error, reloading page did not fix it', err) + } else { console.log('Reloading page to fix dynamic import error') localStorage.setItem('vuetify:dynamic-reload', 'true') location.assign(to.fullPath) - } else { - console.error('Dynamic import error, reloading page did not fix it', err) } } else { console.error(err) diff --git a/template/javascript/base/vite.config.mjs b/template/javascript/base/vite.config.mjs index 4d39462..9211613 100644 --- a/template/javascript/base/vite.config.mjs +++ b/template/javascript/base/vite.config.mjs @@ -28,9 +28,9 @@ export default defineConfig({ fontsource: { families: [ { - name: "Roboto", + name: 'Roboto', weights: [100, 300, 400, 500, 700, 900], - styles: ["normal", "italic"], + styles: ['normal', 'italic'], }, ], }, @@ -48,7 +48,7 @@ export default defineConfig({ define: { 'process.env': {} }, resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + '@': fileURLToPath(new URL('src', import.meta.url)), }, extensions: [ '.js', diff --git a/template/javascript/default/package.json b/template/javascript/default/package.json index ce70801..c1207ab 100644 --- a/template/javascript/default/package.json +++ b/template/javascript/default/package.json @@ -22,4 +22,4 @@ "vite-plugin-vuetify": "^2.1.1", "vite": "^6.2.2" } -} \ No newline at end of file +} diff --git a/template/javascript/default/vite.config.mjs b/template/javascript/default/vite.config.mjs index 580ee8d..f0e33f0 100644 --- a/template/javascript/default/vite.config.mjs +++ b/template/javascript/default/vite.config.mjs @@ -35,7 +35,7 @@ export default defineConfig({ define: { 'process.env': {} }, resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + '@': fileURLToPath(new URL('src', import.meta.url)), }, extensions: [ '.js', @@ -56,7 +56,7 @@ export default defineConfig({ api: 'modern-compiler', }, scss: { - api:'modern-compiler', + api: 'modern-compiler', }, }, }, diff --git a/template/javascript/essentials/src/router/index.js b/template/javascript/essentials/src/router/index.js index 5d4b8bc..4e2e86c 100644 --- a/template/javascript/essentials/src/router/index.js +++ b/template/javascript/essentials/src/router/index.js @@ -17,12 +17,12 @@ const router = createRouter({ // Workaround for https://github.com/vitejs/vite/issues/11804 router.onError((err, to) => { if (err?.message?.includes?.('Failed to fetch dynamically imported module')) { - if (!localStorage.getItem('vuetify:dynamic-reload')) { + if (localStorage.getItem('vuetify:dynamic-reload')) { + console.error('Dynamic import error, reloading page did not fix it', err) + } else { console.log('Reloading page to fix dynamic import error') localStorage.setItem('vuetify:dynamic-reload', 'true') location.assign(to.fullPath) - } else { - console.error('Dynamic import error, reloading page did not fix it', err) } } else { console.error(err) diff --git a/template/javascript/essentials/vite.config.mjs b/template/javascript/essentials/vite.config.mjs index d34beca..0d08c1e 100644 --- a/template/javascript/essentials/vite.config.mjs +++ b/template/javascript/essentials/vite.config.mjs @@ -41,7 +41,7 @@ export default defineConfig({ 'vue', VueRouterAutoImports, { - 'pinia': ['defineStore', 'storeToRefs'], + pinia: ['defineStore', 'storeToRefs'], }, ], eslintrc: { @@ -62,7 +62,7 @@ export default defineConfig({ define: { 'process.env': {} }, resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + '@': fileURLToPath(new URL('src', import.meta.url)), }, extensions: [ '.js', diff --git a/template/typescript/base/src/router/index.ts b/template/typescript/base/src/router/index.ts index aeab4c3..8d28043 100644 --- a/template/typescript/base/src/router/index.ts +++ b/template/typescript/base/src/router/index.ts @@ -16,12 +16,12 @@ const router = createRouter({ // Workaround for https://github.com/vitejs/vite/issues/11804 router.onError((err, to) => { if (err?.message?.includes?.('Failed to fetch dynamically imported module')) { - if (!localStorage.getItem('vuetify:dynamic-reload')) { + if (localStorage.getItem('vuetify:dynamic-reload')) { + console.error('Dynamic import error, reloading page did not fix it', err) + } else { console.log('Reloading page to fix dynamic import error') localStorage.setItem('vuetify:dynamic-reload', 'true') location.assign(to.fullPath) - } else { - console.error('Dynamic import error, reloading page did not fix it', err) } } else { console.error(err) diff --git a/template/typescript/base/vite.config.mts b/template/typescript/base/vite.config.mts index 743d8c2..51c729e 100644 --- a/template/typescript/base/vite.config.mts +++ b/template/typescript/base/vite.config.mts @@ -32,9 +32,9 @@ export default defineConfig({ fontsource: { families: [ { - name: "Roboto", + name: 'Roboto', weights: [100, 300, 400, 500, 700, 900], - styles: ["normal", "italic"], + styles: ['normal', 'italic'], }, ], }, @@ -52,7 +52,7 @@ export default defineConfig({ define: { 'process.env': {} }, resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + '@': fileURLToPath(new URL('src', import.meta.url)), }, extensions: [ '.js', diff --git a/template/typescript/default/vite.config.mts b/template/typescript/default/vite.config.mts index a1d262a..f0e33f0 100644 --- a/template/typescript/default/vite.config.mts +++ b/template/typescript/default/vite.config.mts @@ -35,7 +35,7 @@ export default defineConfig({ define: { 'process.env': {} }, resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + '@': fileURLToPath(new URL('src', import.meta.url)), }, extensions: [ '.js', diff --git a/template/typescript/essentials/src/router/index.ts b/template/typescript/essentials/src/router/index.ts index 5d4b8bc..4e2e86c 100644 --- a/template/typescript/essentials/src/router/index.ts +++ b/template/typescript/essentials/src/router/index.ts @@ -17,12 +17,12 @@ const router = createRouter({ // Workaround for https://github.com/vitejs/vite/issues/11804 router.onError((err, to) => { if (err?.message?.includes?.('Failed to fetch dynamically imported module')) { - if (!localStorage.getItem('vuetify:dynamic-reload')) { + if (localStorage.getItem('vuetify:dynamic-reload')) { + console.error('Dynamic import error, reloading page did not fix it', err) + } else { console.log('Reloading page to fix dynamic import error') localStorage.setItem('vuetify:dynamic-reload', 'true') location.assign(to.fullPath) - } else { - console.error('Dynamic import error, reloading page did not fix it', err) } } else { console.error(err) diff --git a/template/typescript/essentials/vite.config.mts b/template/typescript/essentials/vite.config.mts index 10e4b20..f57a805 100644 --- a/template/typescript/essentials/vite.config.mts +++ b/template/typescript/essentials/vite.config.mts @@ -24,7 +24,7 @@ export default defineConfig({ 'vue', VueRouterAutoImports, { - 'pinia': ['defineStore', 'storeToRefs'], + pinia: ['defineStore', 'storeToRefs'], }, ], dts: 'src/auto-imports.d.ts', @@ -70,7 +70,7 @@ export default defineConfig({ define: { 'process.env': {} }, resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + '@': fileURLToPath(new URL('src', import.meta.url)), }, extensions: [ '.js', diff --git a/template/typescript/nuxt/modules/vuetify.ts b/template/typescript/nuxt/modules/vuetify.ts index 3397c9e..382b31d 100644 --- a/template/typescript/nuxt/modules/vuetify.ts +++ b/template/typescript/nuxt/modules/vuetify.ts @@ -7,8 +7,6 @@ import { pathToFileURL } from 'node:url' import fs from 'node:fs' import fsp from 'node:fs/promises' -export type { ModuleOptions } - // WARNING: Remove the file from modules directory if you install vuetify-nuxt-module export default defineNuxtModule({ meta: { @@ -51,31 +49,26 @@ export default defineNuxtModule({ async configResolved (config) { if (isObject(options.styles)) { sassVariables = true - if (path.isAbsolute(options.styles.configFile)) { - configFile = path.resolve(options.styles.configFile) - } else { - configFile = path.resolve(path.join(config.root || process.cwd(), options.styles.configFile)) - } + configFile = path.isAbsolute(options.styles.configFile) ? path.resolve(options.styles.configFile) : path.resolve(path.join(config.root || process.cwd(), options.styles.configFile)) configFile = pathToFileURL(configFile).href - } - else { + } else { isNone = options.styles === 'none' } }, async resolveId (source, importer, { custom, ssr }) { if (source.startsWith(PREFIX) || source.startsWith(SSR_PREFIX)) { - if (source.match(/\.s[ca]ss$/)) { + if (/\.s[ca]ss$/.test(source)) { return source } const idx = source.indexOf('?') - return idx > -1 ? source.slice(0, idx) : source + return idx === -1 ? source : source.slice(0, idx) } if ( source === 'vuetify/styles' || ( - importer && - source.endsWith('.css') && - isSubdir(vuetifyBase, path.isAbsolute(source) ? source : importer) + importer + && source.endsWith('.css') + && isSubdir(vuetifyBase, path.isAbsolute(source) ? source : importer) ) ) { if (options.styles === 'sass') { @@ -84,8 +77,9 @@ export default defineNuxtModule({ const resolution = await this.resolve(source, importer, { skipSelf: true, custom }) - if (!resolution) + if (!resolution) { return undefined + } const target = await resolveCss(resolution.id) if (isNone) { @@ -93,21 +87,21 @@ export default defineNuxtModule({ return target } - return `${ssr ? SSR_PREFIX: PREFIX}${path.relative(vuetifyBase, target)}` + return `${ssr ? SSR_PREFIX : PREFIX}${path.relative(vuetifyBase, target)}` } return undefined }, - load (id){ + load (id) { if (sassVariables) { const target = id.startsWith(PREFIX) ? path.resolve(vuetifyBase, id.slice(PREFIX.length)) - : id.startsWith(SSR_PREFIX) - ? path.resolve(vuetifyBase, id.slice(SSR_PREFIX.length)) - : undefined + : (id.startsWith(SSR_PREFIX) + ? path.resolve(vuetifyBase, id.slice(SSR_PREFIX.length)) + : undefined) if (target) { - const suffix = target.match(/\.scss/) ? ';\n' : '\n' + const suffix = /\.scss/.test(target) ? ';\n' : '\n' return { code: `@use "${configFile}"${suffix}@use "${pathToFileURL(target).href}"${suffix}`, map: { @@ -132,10 +126,10 @@ function resolveCssFactory () { try { mapping = source.replace(/\.css$/, '.sass') await fsp.access(mapping, fs.constants.R_OK) - } - catch (err) { - if (!(err instanceof Error && 'code' in err && err.code === 'ENOENT')) - throw err + } catch (error) { + if (!(error instanceof Error && 'code' in error && error.code === 'ENOENT')) { + throw error + } mapping = source.replace(/\.css$/, '.scss') } mappings.set(source, mapping) @@ -148,3 +142,5 @@ function isSubdir (root: string, test: string) { const relative = path.relative(root, test) return relative && !relative.startsWith('..') && !path.isAbsolute(relative) } + +export { type Options as ModuleOptions } from '@vuetify/loader-shared' diff --git a/template/typescript/nuxt/plugins/vuetify.ts b/template/typescript/nuxt/plugins/vuetify.ts index 012dcaf..eb449b2 100644 --- a/template/typescript/nuxt/plugins/vuetify.ts +++ b/template/typescript/nuxt/plugins/vuetify.ts @@ -10,5 +10,5 @@ export default defineNuxtPlugin(nuxtApp => { }, }) - nuxtApp.vueApp.use(vuetify); + nuxtApp.vueApp.use(vuetify) })