Compare commits

..

1 Commits

Author SHA1 Message Date
minori 9d400a4a76 deps: update eslint to 10.1.0
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m25s
CI / Lint & Check (pull_request) Failing after 6m30s
CI / Build Windows (pull_request) Has been skipped
2026-04-10 07:06:59 -07:00
5 changed files with 171 additions and 246 deletions
+1 -1
View File
@@ -24,7 +24,7 @@
"@types/react": "19.1.2", "@types/react": "19.1.2",
"@types/react-dom": "19.1.2", "@types/react-dom": "19.1.2",
"autoprefixer": "10.4.21", "autoprefixer": "10.4.21",
"eslint": "9.25.1", "eslint": "10.1.0",
"postcss": "8.5.3", "postcss": "8.5.3",
"tailwindcss": "3.4.17", "tailwindcss": "3.4.17",
"typescript": "5.8.3", "typescript": "5.8.3",
+126 -185
View File
@@ -26,7 +26,7 @@ importers:
devDependencies: devDependencies:
'@nhcarrigan/eslint-config': '@nhcarrigan/eslint-config':
specifier: 5.2.0 specifier: 5.2.0
version: 5.2.0(@typescript-eslint/utils@8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7))(playwright@1.59.1)(react@19.1.0)(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3))) version: 5.2.0(@typescript-eslint/utils@8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(playwright@1.59.1)(react@19.1.0)(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)))
'@nhcarrigan/typescript-config': '@nhcarrigan/typescript-config':
specifier: 4.0.0 specifier: 4.0.0
version: 4.0.0(typescript@5.8.3) version: 4.0.0(typescript@5.8.3)
@@ -46,8 +46,8 @@ importers:
specifier: 10.4.21 specifier: 10.4.21
version: 10.4.21(postcss@8.5.3) version: 10.4.21(postcss@8.5.3)
eslint: eslint:
specifier: 9.25.1 specifier: 10.1.0
version: 9.25.1(jiti@1.21.7) version: 10.1.0(jiti@1.21.7)
postcss: postcss:
specifier: 8.5.3 specifier: 8.5.3
version: 8.5.3 version: 8.5.3
@@ -335,41 +335,33 @@ packages:
eslint: eslint:
optional: true optional: true
'@eslint/config-array@0.20.1': '@eslint/config-array@0.23.5':
resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/config-helpers@0.2.3': '@eslint/config-helpers@0.5.5':
resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/core@0.13.0': '@eslint/core@1.2.1':
resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/eslintrc@3.2.0': '@eslint/eslintrc@3.2.0':
resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.3.5':
resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.17.0': '@eslint/js@9.17.0':
resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.25.1': '@eslint/object-schema@3.0.5':
resolution: {integrity: sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==} resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/object-schema@2.1.7': '@eslint/plugin-kit@0.6.1':
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/plugin-kit@0.2.8':
resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanfs/core@0.19.1': '@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -673,6 +665,9 @@ packages:
'@types/deep-eql@4.0.2': '@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
'@types/esrecurse@4.3.1':
resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==}
'@types/estree@1.0.8': '@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
@@ -870,10 +865,6 @@ packages:
ajv@6.14.0: ajv@6.14.0:
resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
any-promise@1.3.0: any-promise@1.3.0:
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
@@ -1012,10 +1003,6 @@ packages:
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
engines: {node: '>=18'} engines: {node: '>=18'}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
chokidar@3.6.0: chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'} engines: {node: '>= 8.10.0'}
@@ -1028,13 +1015,6 @@ packages:
resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
engines: {node: '>=4'} engines: {node: '>=4'}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
commander@4.1.1: commander@4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
@@ -1251,9 +1231,9 @@ packages:
peerDependencies: peerDependencies:
eslint: '>=8.56.0' eslint: '>=8.56.0'
eslint-scope@8.4.0: eslint-scope@9.1.2:
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
eslint-visitor-keys@1.3.0: eslint-visitor-keys@1.3.0:
resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
@@ -1271,9 +1251,9 @@ packages:
resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
eslint@9.25.1: eslint@10.1.0:
resolution: {integrity: sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==} resolution: {integrity: sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^20.19.0 || ^22.13.0 || >=24}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
jiti: '*' jiti: '*'
@@ -1285,6 +1265,10 @@ packages:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
espree@11.2.0:
resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
espree@6.2.1: espree@6.2.1:
resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@@ -1446,10 +1430,6 @@ packages:
resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
has-property-descriptors@1.0.2: has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
@@ -1684,9 +1664,6 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'} engines: {node: '>=10'}
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
loose-envify@1.4.0: loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true hasBin: true
@@ -2164,10 +2141,6 @@ packages:
engines: {node: '>=16 || 14 >=14.17'} engines: {node: '>=16 || 14 >=14.17'}
hasBin: true hasBin: true
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
supports-preserve-symlinks-flag@1.0.0: supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -2607,34 +2580,36 @@ snapshots:
'@esbuild/win32-x64@0.25.12': '@esbuild/win32-x64@0.25.12':
optional: true optional: true
'@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.25.1(jiti@1.21.7))': '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@10.1.0(jiti@1.21.7))':
dependencies: dependencies:
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
ignore: 5.3.2 ignore: 5.3.2
'@eslint-community/eslint-utils@4.9.1(eslint@9.25.1(jiti@1.21.7))': '@eslint-community/eslint-utils@4.9.1(eslint@10.1.0(jiti@1.21.7))':
dependencies: dependencies:
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {} '@eslint-community/regexpp@4.12.2': {}
'@eslint/compat@1.2.4(eslint@9.25.1(jiti@1.21.7))': '@eslint/compat@1.2.4(eslint@10.1.0(jiti@1.21.7))':
optionalDependencies: optionalDependencies:
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
'@eslint/config-array@0.20.1': '@eslint/config-array@0.23.5':
dependencies: dependencies:
'@eslint/object-schema': 2.1.7 '@eslint/object-schema': 3.0.5
debug: 4.4.3 debug: 4.4.3
minimatch: 3.1.5 minimatch: 10.2.5
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@eslint/config-helpers@0.2.3': {} '@eslint/config-helpers@0.5.5':
dependencies:
'@eslint/core': 1.2.1
'@eslint/core@0.13.0': '@eslint/core@1.2.1':
dependencies: dependencies:
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
@@ -2652,29 +2627,13 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@eslint/eslintrc@3.3.5':
dependencies:
ajv: 6.14.0
debug: 4.4.3
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
js-yaml: 4.1.1
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
'@eslint/js@9.17.0': {} '@eslint/js@9.17.0': {}
'@eslint/js@9.25.1': {} '@eslint/object-schema@3.0.5': {}
'@eslint/object-schema@2.1.7': {} '@eslint/plugin-kit@0.6.1':
'@eslint/plugin-kit@0.2.8':
dependencies: dependencies:
'@eslint/core': 0.13.0 '@eslint/core': 1.2.1
levn: 0.4.1 levn: 0.4.1
'@humanfs/core@0.19.1': {} '@humanfs/core@0.19.1': {}
@@ -2707,24 +2666,24 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/sourcemap-codec': 1.5.5
'@nhcarrigan/eslint-config@5.2.0(@typescript-eslint/utils@8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7))(playwright@1.59.1)(react@19.1.0)(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)))': '@nhcarrigan/eslint-config@5.2.0(@typescript-eslint/utils@8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(playwright@1.59.1)(react@19.1.0)(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)))':
dependencies: dependencies:
'@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.25.1(jiti@1.21.7)) '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@10.1.0(jiti@1.21.7))
'@eslint/compat': 1.2.4(eslint@9.25.1(jiti@1.21.7)) '@eslint/compat': 1.2.4(eslint@10.1.0(jiti@1.21.7))
'@eslint/eslintrc': 3.2.0 '@eslint/eslintrc': 3.2.0
'@eslint/js': 9.17.0 '@eslint/js': 9.17.0
'@stylistic/eslint-plugin': 2.12.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@stylistic/eslint-plugin': 2.12.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
'@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
'@typescript-eslint/parser': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/parser': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
'@vitest/eslint-plugin': 1.1.24(@typescript-eslint/utils@8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3))) '@vitest/eslint-plugin': 1.1.24(@typescript-eslint/utils@8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)))
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
eslint-plugin-deprecation: 3.0.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) eslint-plugin-deprecation: 3.0.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))
eslint-plugin-jsdoc: 50.6.1(eslint@9.25.1(jiti@1.21.7)) eslint-plugin-jsdoc: 50.6.1(eslint@10.1.0(jiti@1.21.7))
eslint-plugin-playwright: 2.1.0(eslint@9.25.1(jiti@1.21.7)) eslint-plugin-playwright: 2.1.0(eslint@10.1.0(jiti@1.21.7))
eslint-plugin-react: 7.37.3(eslint@9.25.1(jiti@1.21.7)) eslint-plugin-react: 7.37.3(eslint@10.1.0(jiti@1.21.7))
eslint-plugin-sort-keys-fix: 1.1.2 eslint-plugin-sort-keys-fix: 1.1.2
eslint-plugin-unicorn: 56.0.1(eslint@9.25.1(jiti@1.21.7)) eslint-plugin-unicorn: 56.0.1(eslint@10.1.0(jiti@1.21.7))
globals: 15.14.0 globals: 15.14.0
playwright: 1.59.1 playwright: 1.59.1
react: 19.1.0 react: 19.1.0
@@ -2833,10 +2792,10 @@ snapshots:
'@standard-schema/spec@1.1.0': {} '@standard-schema/spec@1.1.0': {}
'@stylistic/eslint-plugin@2.12.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@stylistic/eslint-plugin@2.12.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@typescript-eslint/utils': 8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/utils': 8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 4.2.1
espree: 10.4.0 espree: 10.4.0
estraverse: 5.3.0 estraverse: 5.3.0
@@ -2932,6 +2891,8 @@ snapshots:
'@types/deep-eql@4.0.2': {} '@types/deep-eql@4.0.2': {}
'@types/esrecurse@4.3.1': {}
'@types/estree@1.0.8': {} '@types/estree@1.0.8': {}
'@types/json-schema@7.0.15': {} '@types/json-schema@7.0.15': {}
@@ -2948,15 +2909,15 @@ snapshots:
dependencies: dependencies:
csstype: 3.2.3 csstype: 3.2.3
'@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.12.2 '@eslint-community/regexpp': 4.12.2
'@typescript-eslint/parser': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/parser': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.19.0 '@typescript-eslint/scope-manager': 8.19.0
'@typescript-eslint/type-utils': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/type-utils': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
'@typescript-eslint/utils': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/utils': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.19.0 '@typescript-eslint/visitor-keys': 8.19.0
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.2 ignore: 5.3.2
natural-compare: 1.4.0 natural-compare: 1.4.0
@@ -2965,14 +2926,14 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 8.19.0 '@typescript-eslint/scope-manager': 8.19.0
'@typescript-eslint/types': 8.19.0 '@typescript-eslint/types': 8.19.0
'@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.19.0 '@typescript-eslint/visitor-keys': 8.19.0
debug: 4.4.3 debug: 4.4.3
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
typescript: 5.8.3 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -3005,12 +2966,12 @@ snapshots:
dependencies: dependencies:
typescript: 5.8.3 typescript: 5.8.3
'@typescript-eslint/type-utils@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@typescript-eslint/type-utils@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3)
'@typescript-eslint/utils': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/utils': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
debug: 4.4.3 debug: 4.4.3
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
ts-api-utils: 1.4.3(typescript@5.8.3) ts-api-utils: 1.4.3(typescript@5.8.3)
typescript: 5.8.3 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
@@ -3066,35 +3027,35 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@7.18.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@typescript-eslint/utils@7.18.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1(jiti@1.21.7)) '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7))
'@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0 '@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
'@typescript-eslint/utils@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@typescript-eslint/utils@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1(jiti@1.21.7)) '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7))
'@typescript-eslint/scope-manager': 8.19.0 '@typescript-eslint/scope-manager': 8.19.0
'@typescript-eslint/types': 8.19.0 '@typescript-eslint/types': 8.19.0
'@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
typescript: 5.8.3 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)': '@typescript-eslint/utils@8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1(jiti@1.21.7)) '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7))
'@typescript-eslint/scope-manager': 8.58.1 '@typescript-eslint/scope-manager': 8.58.1
'@typescript-eslint/types': 8.58.1 '@typescript-eslint/types': 8.58.1
'@typescript-eslint/typescript-estree': 8.58.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.58.1(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
typescript: 5.8.3 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -3125,10 +3086,10 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitest/eslint-plugin@1.1.24(@typescript-eslint/utils@8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)))': '@vitest/eslint-plugin@1.1.24(@typescript-eslint/utils@8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)(vitest@4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)))':
dependencies: dependencies:
'@typescript-eslint/utils': 8.58.1(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/utils': 8.58.1(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
optionalDependencies: optionalDependencies:
typescript: 5.8.3 typescript: 5.8.3
vitest: 4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3)) vitest: 4.1.4(vite@6.3.2(jiti@1.21.7)(yaml@2.8.3))
@@ -3193,10 +3154,6 @@ snapshots:
json-schema-traverse: 0.4.1 json-schema-traverse: 0.4.1
uri-js: 4.4.1 uri-js: 4.4.1
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
any-promise@1.3.0: {} any-promise@1.3.0: {}
anymatch@3.1.3: anymatch@3.1.3:
@@ -3357,11 +3314,6 @@ snapshots:
chai@6.2.2: {} chai@6.2.2: {}
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
chokidar@3.6.0: chokidar@3.6.0:
dependencies: dependencies:
anymatch: 3.1.3 anymatch: 3.1.3
@@ -3380,12 +3332,6 @@ snapshots:
dependencies: dependencies:
escape-string-regexp: 1.0.5 escape-string-regexp: 1.0.5
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
color-name@1.1.4: {}
commander@4.1.1: {} commander@4.1.1: {}
comment-parser@1.4.1: {} comment-parser@1.4.1: {}
@@ -3621,27 +3567,27 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint-import-resolver-node@0.3.10)(eslint@9.25.1(jiti@1.21.7)): eslint-module-utils@2.12.1(@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint-import-resolver-node@0.3.10)(eslint@10.1.0(jiti@1.21.7)):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/parser': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
eslint-import-resolver-node: 0.3.10 eslint-import-resolver-node: 0.3.10
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-deprecation@3.0.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3): eslint-plugin-deprecation@3.0.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3):
dependencies: dependencies:
'@typescript-eslint/utils': 7.18.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/utils': 7.18.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
ts-api-utils: 1.4.3(typescript@5.8.3) ts-api-utils: 1.4.3(typescript@5.8.3)
tslib: 2.8.1 tslib: 2.8.1
typescript: 5.8.3 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.25.1(jiti@1.21.7)): eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint@10.1.0(jiti@1.21.7)):
dependencies: dependencies:
'@rtsao/scc': 1.1.0 '@rtsao/scc': 1.1.0
array-includes: 3.1.9 array-includes: 3.1.9
@@ -3650,9 +3596,9 @@ snapshots:
array.prototype.flatmap: 1.3.3 array.prototype.flatmap: 1.3.3
debug: 3.2.7 debug: 3.2.7
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
eslint-import-resolver-node: 0.3.10 eslint-import-resolver-node: 0.3.10
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3))(eslint-import-resolver-node@0.3.10)(eslint@9.25.1(jiti@1.21.7)) eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3))(eslint-import-resolver-node@0.3.10)(eslint@10.1.0(jiti@1.21.7))
hasown: 2.0.2 hasown: 2.0.2
is-core-module: 2.16.1 is-core-module: 2.16.1
is-glob: 4.0.3 is-glob: 4.0.3
@@ -3664,20 +3610,20 @@ snapshots:
string.prototype.trimend: 1.0.9 string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0 tsconfig-paths: 3.15.0
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 8.19.0(eslint@9.25.1(jiti@1.21.7))(typescript@5.8.3) '@typescript-eslint/parser': 8.19.0(eslint@10.1.0(jiti@1.21.7))(typescript@5.8.3)
transitivePeerDependencies: transitivePeerDependencies:
- eslint-import-resolver-typescript - eslint-import-resolver-typescript
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-plugin-jsdoc@50.6.1(eslint@9.25.1(jiti@1.21.7)): eslint-plugin-jsdoc@50.6.1(eslint@10.1.0(jiti@1.21.7)):
dependencies: dependencies:
'@es-joy/jsdoccomment': 0.49.0 '@es-joy/jsdoccomment': 0.49.0
are-docs-informative: 0.0.2 are-docs-informative: 0.0.2
comment-parser: 1.4.1 comment-parser: 1.4.1
debug: 4.4.3 debug: 4.4.3
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
espree: 10.4.0 espree: 10.4.0
esquery: 1.7.0 esquery: 1.7.0
parse-imports: 2.2.1 parse-imports: 2.2.1
@@ -3687,12 +3633,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-playwright@2.1.0(eslint@9.25.1(jiti@1.21.7)): eslint-plugin-playwright@2.1.0(eslint@10.1.0(jiti@1.21.7)):
dependencies: dependencies:
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
globals: 13.24.0 globals: 13.24.0
eslint-plugin-react@7.37.3(eslint@9.25.1(jiti@1.21.7)): eslint-plugin-react@7.37.3(eslint@10.1.0(jiti@1.21.7)):
dependencies: dependencies:
array-includes: 3.1.9 array-includes: 3.1.9
array.prototype.findlast: 1.2.5 array.prototype.findlast: 1.2.5
@@ -3700,7 +3646,7 @@ snapshots:
array.prototype.tosorted: 1.1.4 array.prototype.tosorted: 1.1.4
doctrine: 2.1.0 doctrine: 2.1.0
es-iterator-helpers: 1.3.1 es-iterator-helpers: 1.3.1
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
estraverse: 5.3.0 estraverse: 5.3.0
hasown: 2.0.2 hasown: 2.0.2
jsx-ast-utils: 3.3.5 jsx-ast-utils: 3.3.5
@@ -3721,14 +3667,14 @@ snapshots:
natural-compare: 1.4.0 natural-compare: 1.4.0
requireindex: 1.2.0 requireindex: 1.2.0
eslint-plugin-unicorn@56.0.1(eslint@9.25.1(jiti@1.21.7)): eslint-plugin-unicorn@56.0.1(eslint@10.1.0(jiti@1.21.7)):
dependencies: dependencies:
'@babel/helper-validator-identifier': 7.28.5 '@babel/helper-validator-identifier': 7.28.5
'@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1(jiti@1.21.7)) '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7))
ci-info: 4.4.0 ci-info: 4.4.0
clean-regexp: 1.0.0 clean-regexp: 1.0.0
core-js-compat: 3.49.0 core-js-compat: 3.49.0
eslint: 9.25.1(jiti@1.21.7) eslint: 10.1.0(jiti@1.21.7)
esquery: 1.7.0 esquery: 1.7.0
globals: 15.14.0 globals: 15.14.0
indent-string: 4.0.0 indent-string: 4.0.0
@@ -3741,8 +3687,10 @@ snapshots:
semver: 7.7.4 semver: 7.7.4
strip-indent: 3.0.0 strip-indent: 3.0.0
eslint-scope@8.4.0: eslint-scope@9.1.2:
dependencies: dependencies:
'@types/esrecurse': 4.3.1
'@types/estree': 1.0.8
esrecurse: 4.3.0 esrecurse: 4.3.0
estraverse: 5.3.0 estraverse: 5.3.0
@@ -3754,29 +3702,25 @@ snapshots:
eslint-visitor-keys@5.0.1: {} eslint-visitor-keys@5.0.1: {}
eslint@9.25.1(jiti@1.21.7): eslint@10.1.0(jiti@1.21.7):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1(jiti@1.21.7)) '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@1.21.7))
'@eslint-community/regexpp': 4.12.2 '@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.20.1 '@eslint/config-array': 0.23.5
'@eslint/config-helpers': 0.2.3 '@eslint/config-helpers': 0.5.5
'@eslint/core': 0.13.0 '@eslint/core': 1.2.1
'@eslint/eslintrc': 3.3.5 '@eslint/plugin-kit': 0.6.1
'@eslint/js': 9.25.1
'@eslint/plugin-kit': 0.2.8
'@humanfs/node': 0.16.7 '@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3 '@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8 '@types/estree': 1.0.8
'@types/json-schema': 7.0.15
ajv: 6.14.0 ajv: 6.14.0
chalk: 4.1.2
cross-spawn: 7.0.6 cross-spawn: 7.0.6
debug: 4.4.3 debug: 4.4.3
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 8.4.0 eslint-scope: 9.1.2
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 5.0.1
espree: 10.4.0 espree: 11.2.0
esquery: 1.7.0 esquery: 1.7.0
esutils: 2.0.3 esutils: 2.0.3
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
@@ -3787,8 +3731,7 @@ snapshots:
imurmurhash: 0.1.4 imurmurhash: 0.1.4
is-glob: 4.0.3 is-glob: 4.0.3
json-stable-stringify-without-jsonify: 1.0.1 json-stable-stringify-without-jsonify: 1.0.1
lodash.merge: 4.6.2 minimatch: 10.2.5
minimatch: 3.1.5
natural-compare: 1.4.0 natural-compare: 1.4.0
optionator: 0.9.4 optionator: 0.9.4
optionalDependencies: optionalDependencies:
@@ -3802,6 +3745,12 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.16.0) acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 4.2.1
espree@11.2.0:
dependencies:
acorn: 8.16.0
acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 5.0.1
espree@6.2.1: espree@6.2.1:
dependencies: dependencies:
acorn: 7.4.1 acorn: 7.4.1
@@ -3962,8 +3911,6 @@ snapshots:
has-bigints@1.1.0: {} has-bigints@1.1.0: {}
has-flag@4.0.0: {}
has-property-descriptors@1.0.2: has-property-descriptors@1.0.2:
dependencies: dependencies:
es-define-property: 1.0.1 es-define-property: 1.0.1
@@ -4188,8 +4135,6 @@ snapshots:
dependencies: dependencies:
p-locate: 5.0.0 p-locate: 5.0.0
lodash.merge@4.6.2: {}
loose-envify@1.4.0: loose-envify@1.4.0:
dependencies: dependencies:
js-tokens: 4.0.0 js-tokens: 4.0.0
@@ -4730,10 +4675,6 @@ snapshots:
tinyglobby: 0.2.16 tinyglobby: 0.2.16
ts-interface-checker: 0.1.13 ts-interface-checker: 0.1.13
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
supports-preserve-symlinks-flag@1.0.0: {} supports-preserve-symlinks-flag@1.0.0: {}
synckit@0.9.3: synckit@0.9.3:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 KiB

After

Width:  |  Height:  |  Size: 155 KiB

+8 -12
View File
@@ -83,26 +83,22 @@ fn build_user_gemini_parts(
user_image_base64: &Option<String>, user_image_base64: &Option<String>,
user_image_mime: &Option<String>, user_image_mime: &Option<String>,
) -> Vec<Value> { ) -> Vec<Value> {
if let Some(image_data) = user_image_base64.as_deref() { if mode == "replace" && user_image_base64.is_some() {
let mime = user_image_mime.as_deref().unwrap_or("image/png"); let mime = user_image_mime.as_deref().unwrap_or("image/png");
let data = user_image_base64.as_deref().unwrap_or("");
let base_text = user_text.as_deref().unwrap_or(""); let base_text = user_text.as_deref().unwrap_or("");
let final_text = if mode == "replace" { let final_text = if base_text.is_empty() {
if base_text.is_empty() {
REPLACE_MODE_APPEND.to_string() REPLACE_MODE_APPEND.to_string()
} else { } else {
format!("{}\n{}", base_text, REPLACE_MODE_APPEND) format!("{}\n{}", base_text, REPLACE_MODE_APPEND)
}
} else {
base_text.to_string()
}; };
let mut parts = vec![json!({"inlineData": {"mimeType": mime, "data": image_data}})]; vec![
if !final_text.is_empty() { json!({"inlineData": {"mimeType": mime, "data": data}}),
parts.push(json!({"text": final_text})); json!({"text": final_text}),
} ]
parts
} else { } else {
// No image: text-only message // Art/avatar mode, or replace mode follow-up correction (text only)
let text = user_text.as_deref().unwrap_or(""); let text = user_text.as_deref().unwrap_or("");
vec![json!({"text": text})] vec![json!({"text": text})]
} }
+7 -19
View File
@@ -256,8 +256,7 @@ const inputArea = ({
if (isInitialReplace && imageBase64 === undefined) { if (isInitialReplace && imageBase64 === undefined) {
return; return;
} }
const hasContent = text.trim().length > 0 || imageBase64 !== undefined; if (!isInitialReplace && text.trim().length === 0) {
if (!isInitialReplace && !hasContent) {
return; return;
} }
@@ -333,9 +332,6 @@ const inputArea = ({
: dropZoneInactiveClass, : dropZoneInactiveClass,
].join(" "); ].join(" ");
const hasNoContent = text.trim().length === 0 && imageBase64 === undefined;
const isSendDisabled = isLoading || hasNoContent;
return ( return (
<div className="border-t border-purple-900/30 p-4 bg-[#0f0a1a]"> <div className="border-t border-purple-900/30 p-4 bg-[#0f0a1a]">
<div className="flex items-center gap-2 mb-2"> <div className="flex items-center gap-2 mb-2">
@@ -401,15 +397,6 @@ const inputArea = ({
type="file" type="file"
/> />
<textarea
className={textareaClass}
disabled={isLoading}
onChange={handleTextChange}
placeholder="Add notes to include with the image (optional)..."
rows={2}
value={text}
/>
<button <button
className={replaceButtonClass} className={replaceButtonClass}
disabled={isLoading || imageBase64 === undefined} disabled={isLoading || imageBase64 === undefined}
@@ -427,16 +414,15 @@ const inputArea = ({
</div> </div>
: <div className="flex flex-col gap-3"> : <div className="flex flex-col gap-3">
<div className="flex flex-col gap-2"> {mode === "replace"
? <div className="flex flex-col gap-2">
{imagePreview === undefined {imagePreview === undefined
? <button ? <button
className={pasteButtonClass} className={pasteButtonClass}
onClick={handlePasteButtonClick} onClick={handlePasteButtonClick}
type="button" type="button"
> >
{mode === "replace" {"๐Ÿ“‹ Paste replacement image (optional)"}
? "๐Ÿ“‹ Paste replacement image (optional)"
: "๐Ÿ“‹ Paste image (optional)"}
</button> </button>
: <div className="relative inline-block"> : <div className="relative inline-block">
@@ -462,6 +448,8 @@ const inputArea = ({
/> />
</div> </div>
: null}
<div className="flex gap-3 items-end"> <div className="flex gap-3 items-end">
<textarea <textarea
className={textareaClass} className={textareaClass}
@@ -476,7 +464,7 @@ const inputArea = ({
/> />
<button <button
className={sendButtonClass} className={sendButtonClass}
disabled={isSendDisabled} disabled={isLoading || text.trim().length === 0}
onClick={handleSend} onClick={handleSend}
type="button" type="button"
> >