diff --git a/package.json b/package.json index d906e0cd..55fc4e89 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "eslint-merge-processors": "0.1.0", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-format": "0.1.2", - "eslint-plugin-functional": "7.0.2", + "eslint-plugin-functional": "7.1.0", "eslint-plugin-i18next": "6.1.0", "eslint-plugin-import-x": "4.3.1", "eslint-plugin-jsdoc": "50.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9af4c4b..3ac62682 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,8 +124,8 @@ importers: specifier: 0.1.2 version: 0.1.2(eslint@9.12.0(jiti@2.3.3)) eslint-plugin-functional: - specifier: 7.0.2 - version: 7.0.2(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) + specifier: 7.1.0 + version: 7.1.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint-plugin-i18next: specifier: 6.1.0 version: 6.1.0 @@ -1830,6 +1830,10 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.10.0': + resolution: {integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.8.1': resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1861,6 +1865,10 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.10.0': + resolution: {integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.8.1': resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1883,6 +1891,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.10.0': + resolution: {integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@8.8.1': resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1904,6 +1921,12 @@ packages: peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.10.0': + resolution: {integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/utils@8.8.1': resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1918,6 +1941,10 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.10.0': + resolution: {integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.8.1': resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2522,8 +2549,8 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge-ts@7.1.0: - resolution: {integrity: sha512-q6bNsfNBtgr8ZOQqmZbl94MmYWm+QcDNIkqCxVWiw1vKvf+y/N2dZQKdnDXn4c5Ygt/y63tDof6OCN+2YwWVEg==} + deepmerge-ts@7.1.3: + resolution: {integrity: sha512-qCSH6I0INPxd9Y1VtAiLpnYvz5O//6rCfJXKk0z66Up9/VOSr+1yS8XSKA5IWRxjocFGlzPyaZYe+jxq7OOLtQ==} engines: {node: '>=16.0.0'} defaults@1.0.4: @@ -2774,8 +2801,8 @@ packages: peerDependencies: eslint: ^8.40.0 || ^9.0.0 - eslint-plugin-functional@7.0.2: - resolution: {integrity: sha512-IBriPyU3Uc1EieU5YVyiqrwHzw2yl4bRW58Xf5RP8x3pf80MoqObgfNu9DERwSIgvFOm93jdalUITc96Ysnx7g==} + eslint-plugin-functional@7.1.0: + resolution: {integrity: sha512-eu7lVAF9dDTw2xzlsLDvJRXx9t4g/S/pmCSdGx2oFmibmkz2LMoPDu7B+UA9CV/RzvNr4wWd4apc71nMAazdKQ==} engines: {node: '>=v18.18.0'} peerDependencies: eslint: ^9.0.0 @@ -6685,8 +6712,8 @@ snapshots: dependencies: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 - '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.2) + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.2) '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) birecord: 0.1.1 string-ts: 2.2.0 @@ -6704,9 +6731,9 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) birecord: 0.1.1 short-unique-id: 5.2.0 @@ -6721,9 +6748,9 @@ snapshots: '@eslint-react/shared': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.12.0(jiti@2.3.3) eslint-plugin-react-debug: 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) @@ -6743,8 +6770,8 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) ts-pattern: 5.4.0 transitivePeerDependencies: @@ -6767,7 +6794,7 @@ snapshots: '@eslint-react/types@1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2)': dependencies: '@eslint-react/tools': 1.14.3 - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) transitivePeerDependencies: - eslint @@ -6779,8 +6806,8 @@ snapshots: '@eslint-react/ast': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) ts-pattern: 5.4.0 transitivePeerDependencies: @@ -7280,6 +7307,11 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager@8.10.0': + dependencies: + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/visitor-keys': 8.10.0 + '@typescript-eslint/scope-manager@8.8.1': dependencies: '@typescript-eslint/types': 8.8.1 @@ -7313,6 +7345,8 @@ snapshots: '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.10.0': {} + '@typescript-eslint/types@8.8.1': {} '@typescript-eslint/typescript-estree@7.16.1(typescript@5.6.2)': @@ -7345,6 +7379,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.10.0(typescript@5.6.2)': + dependencies: + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/visitor-keys': 8.10.0 + debug: 4.3.7 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.2) + optionalDependencies: + typescript: 5.6.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.2)': dependencies: '@typescript-eslint/types': 8.8.1 @@ -7382,6 +7431,17 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.10.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.2) + eslint: 9.12.0(jiti@2.3.3) + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) @@ -7403,6 +7463,11 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.10.0': + dependencies: + '@typescript-eslint/types': 8.10.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.8.1': dependencies: '@typescript-eslint/types': 8.8.1 @@ -8137,7 +8202,7 @@ snapshots: deep-is@0.1.4: {} - deepmerge-ts@7.1.0: {} + deepmerge-ts@7.1.3: {} defaults@1.0.4: dependencies: @@ -8462,10 +8527,10 @@ snapshots: prettier: 3.3.3 synckit: 0.9.1 - eslint-plugin-functional@7.0.2(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2): + eslint-plugin-functional@7.1.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - deepmerge-ts: 7.1.0 + '@typescript-eslint/utils': 8.10.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) + deepmerge-ts: 7.1.3 escape-string-regexp: 5.0.0 eslint: 9.12.0(jiti@2.3.3) is-immutable-type: 5.0.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) @@ -8623,9 +8688,9 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.12.0(jiti@2.3.3) string-ts: 2.2.0 @@ -8644,8 +8709,8 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.12.0(jiti@2.3.3) ts-pattern: 5.4.0 @@ -8663,9 +8728,9 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.12.0(jiti@2.3.3) ts-pattern: 5.4.0 @@ -8686,9 +8751,9 @@ snapshots: '@eslint-react/shared': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.12.0(jiti@2.3.3) ts-pattern: 5.4.0 @@ -8710,8 +8775,8 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) birecord: 0.1.1 eslint: 9.12.0(jiti@2.3.3) @@ -8730,9 +8795,9 @@ snapshots: '@eslint-react/tools': 1.14.3 '@eslint-react/types': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) '@eslint-react/var': 1.14.3(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/scope-manager': 8.10.0 '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) - '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/types': 8.10.0 '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) eslint: 9.12.0(jiti@2.3.3) is-immutable-type: 5.0.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.2) diff --git a/src/configs/functional.ts b/src/configs/functional.ts index b11a3823..65af91c0 100644 --- a/src/configs/functional.ts +++ b/src/configs/functional.ts @@ -34,7 +34,7 @@ export async function functional( "functional/no-throw-statements": "error", "functional/no-try-statements": "error", "functional/no-let": "error", - "functional/no-classes": "error", + "functional/no-class-inheritance": "error", "functional/no-this-expressions": "error", "functional/no-loop-statements": "error", "functional/immutable-data": "error",