diff --git a/client/types.ts b/client/types.ts index dce19fc..a02e102 100644 --- a/client/types.ts +++ b/client/types.ts @@ -11,11 +11,11 @@ let client = new Client({ client.log.add({ type: 'A' }, { extra: 1 }) -type UserRenameAction = Action & { +type UserRenameAction = { name: string type: 'user/rename' userId: string -} +} & Action let userRename = defineAction('user/rename') diff --git a/eslint.config.js b/eslint.config.js index 31bc16f..0bbb91a 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -14,6 +14,12 @@ export default [ rules: { '@typescript-eslint/no-explicit-any': 'off', 'camelcase': 'off', + 'n/no-unsupported-features/node-builtins': [ + 'error', + { + ignores: ['WebSocket', 'navigator', 'crypto', 'CryptoKey'] + } + ], 'no-console': 'off', 'symbol-description': 'off' } diff --git a/package.json b/package.json index 0479b93..98d62e2 100644 --- a/package.json +++ b/package.json @@ -76,45 +76,45 @@ "fast-json-stable-stringify": "^2.1.0", "nanodelay": "^2.0.2", "nanoevents": "^9.0.0", - "nanoid": "^5.0.6" + "nanoid": "^5.0.7" }, "devDependencies": { "@logux/core": "github:logux/core#next", - "@logux/eslint-config": "^53.0.0", + "@logux/eslint-config": "^53.2.0", "@nanostores/preact": "^0.5.1", "@nanostores/react": "^0.7.2", "@nanostores/vue": "^0.10.0", "@peculiar/webcrypto": "^1.4.6", - "@size-limit/preset-small-lib": "^11.1.2", + "@size-limit/preset-small-lib": "^11.1.4", "@testing-library/preact": "^3.2.3", - "@testing-library/react": "^14.2.2", + "@testing-library/react": "^15.0.7", "@testing-library/vue": "^8.0.3", - "@types/node": "^20.12.2", - "@types/react": "^18.2.73", - "@types/react-dom": "^18.2.23", + "@types/node": "^20.12.12", + "@types/react": "^18.3.2", + "@types/react-dom": "^18.3.0", "@types/ws": "^8.5.10", - "@vitest/coverage-v8": "^1.4.0", - "@vue/compiler-sfc": "^3.4.21", + "@vitest/coverage-v8": "^1.6.0", + "@vue/compiler-sfc": "^3.4.27", "check-dts": "^0.7.2", - "clean-publish": "^4.3.0", - "eslint": "^8.57.0", + "clean-publish": "^4.4.0", + "eslint": "^9.2.0", "fake-indexeddb": "^5.0.2", - "globals": "^15.0.0", - "happy-dom": "^14.3.10", + "globals": "^15.2.0", + "happy-dom": "^14.11.0", "nanospy": "^1.0.0", - "nanostores": "^0.10.2", - "picocolors": "^1.0.0", + "nanostores": "^0.10.3", + "picocolors": "^1.0.1", "postcss": "^8.4.38", - "preact": "10.20.1", + "preact": "10.22.0", "print-snapshots": "^0.4.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "size-limit": "^11.1.2", - "svgo": "^3.2.0", - "typescript": "^5.4.3", - "vite": "^5.2.7", - "vitest": "^1.4.0", - "vue": "^3.4.21" + "react": "^18.3.1", + "react-dom": "^18.3.1", + "size-limit": "^11.1.4", + "svgo": "^3.3.2", + "typescript": "^5.4.5", + "vite": "^5.2.11", + "vitest": "^1.6.0", + "vue": "^3.4.27" }, "prettier": { "arrowParens": "avoid", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e28fd2..0b9ed08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,18 +21,18 @@ importers: specifier: ^9.0.0 version: 9.0.0 nanoid: - specifier: ^5.0.6 + specifier: ^5.0.7 version: 5.0.7 devDependencies: '@logux/core': specifier: github:logux/core#next version: https://codeload.github.com/logux/core/tar.gz/132b6fa945271eb024a0d54d5176e2099c1bb58a '@logux/eslint-config': - specifier: ^53.0.0 - version: 53.1.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + specifier: ^53.2.0 + version: 53.2.0(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) '@nanostores/preact': specifier: ^0.5.1 - version: 0.5.1(nanostores@0.10.3)(preact@10.20.1) + version: 0.5.1(nanostores@0.10.3)(preact@10.22.0) '@nanostores/react': specifier: ^0.7.2 version: 0.7.2(nanostores@0.10.3)(react@18.3.1) @@ -43,94 +43,94 @@ importers: specifier: ^1.4.6 version: 1.4.6 '@size-limit/preset-small-lib': - specifier: ^11.1.2 + specifier: ^11.1.4 version: 11.1.4(size-limit@11.1.4) '@testing-library/preact': specifier: ^3.2.3 - version: 3.2.3(preact@10.20.1) + version: 3.2.3(preact@10.22.0) '@testing-library/react': - specifier: ^14.2.2 - version: 14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^15.0.7 + version: 15.0.7(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/vue': specifier: ^8.0.3 version: 8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)) '@types/node': - specifier: ^20.12.2 + specifier: ^20.12.12 version: 20.12.12 '@types/react': - specifier: ^18.2.73 + specifier: ^18.3.2 version: 18.3.2 '@types/react-dom': - specifier: ^18.2.23 + specifier: ^18.3.0 version: 18.3.0 '@types/ws': specifier: ^8.5.10 version: 8.5.10 '@vitest/coverage-v8': - specifier: ^1.4.0 + specifier: ^1.6.0 version: 1.6.0(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)) '@vue/compiler-sfc': - specifier: ^3.4.21 + specifier: ^3.4.27 version: 3.4.27 check-dts: specifier: ^0.7.2 version: 0.7.2(typescript@5.4.5) clean-publish: - specifier: ^4.3.0 + specifier: ^4.4.0 version: 4.4.0 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.2.0 + version: 9.2.0 fake-indexeddb: specifier: ^5.0.2 version: 5.0.2 globals: - specifier: ^15.0.0 + specifier: ^15.2.0 version: 15.2.0 happy-dom: - specifier: ^14.3.10 + specifier: ^14.11.0 version: 14.11.0 nanospy: specifier: ^1.0.0 version: 1.0.0 nanostores: - specifier: ^0.10.2 + specifier: ^0.10.3 version: 0.10.3 picocolors: - specifier: ^1.0.0 + specifier: ^1.0.1 version: 1.0.1 postcss: specifier: ^8.4.38 version: 8.4.38 preact: - specifier: 10.20.1 - version: 10.20.1 + specifier: 10.22.0 + version: 10.22.0 print-snapshots: specifier: ^0.4.2 version: 0.4.2 react: - specifier: ^18.2.0 + specifier: ^18.3.1 version: 18.3.1 react-dom: - specifier: ^18.2.0 + specifier: ^18.3.1 version: 18.3.1(react@18.3.1) size-limit: - specifier: ^11.1.2 + specifier: ^11.1.4 version: 11.1.4 svgo: - specifier: ^3.2.0 + specifier: ^3.3.2 version: 3.3.2 typescript: - specifier: ^5.4.3 + specifier: ^5.4.5 version: 5.4.5 vite: - specifier: ^5.2.7 + specifier: ^5.2.11 version: 5.2.11(@types/node@20.12.12) vitest: - specifier: ^1.4.0 + specifier: ^1.6.0 version: 1.6.0(@types/node@20.12.12)(happy-dom@14.11.0) vue: - specifier: ^3.4.21 + specifier: ^3.4.27 version: 3.4.27(typescript@5.4.5) packages: @@ -461,20 +461,16 @@ packages: resolution: {integrity: sha512-jIstH3YKraEe4HRQ77ux12ZLRxPzehmcdjRSRrSePiwf6s4G9DzdYl3L5CKSXWt4JyzXxy2p7MXFU7630Gz8PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/eslintrc@3.0.2': resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/js@9.2.0': + resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} '@humanwhocodes/module-importer@1.0.1': @@ -484,6 +480,10 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + '@humanwhocodes/retry@0.2.4': + resolution: {integrity: sha512-Ttl/jHpxfS3st5sxwICYfk4pOH0WrLI1SpW283GgQL7sCWU7EHIOhX4b4fkIxr3tkfzwg8+FNojtzsIEE7Ecgg==} + engines: {node: '>=18.18'} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -526,8 +526,8 @@ packages: version: 0.8.5 engines: {node: ^18.0.0 || >=20.0.0} - '@logux/eslint-config@53.1.0': - resolution: {integrity: sha512-3DIiSQPeUjDChsGNOQrmHJkTVf2pebHm4blHqZfP1MPrT4MT8gr5ZsRAku0quEnW5oKg7KFARYcoF2JiWnYrqQ==} + '@logux/eslint-config@53.2.0': + resolution: {integrity: sha512-/aq8iRykbkxKVZNdS4K4qLQ2QQp8DlpyrIxHWXELuzxlNkAMC0CQ3Bky+hUYAqSXn24m2XYO8hJOqli3oymYlQ==} engines: {node: '>=18.0.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -701,6 +701,10 @@ packages: peerDependencies: size-limit: 11.1.4 + '@testing-library/dom@10.1.0': + resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} + engines: {node: '>=18'} + '@testing-library/dom@8.20.1': resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} engines: {node: '>=12'} @@ -715,12 +719,16 @@ packages: peerDependencies: preact: '>=10 || ^10.0.0-alpha.0 || ^10.0.0-beta.0' - '@testing-library/react@14.3.1': - resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} - engines: {node: '>=14'} + '@testing-library/react@15.0.7': + resolution: {integrity: sha512-cg0RvEdD1TIhhkm1IeYMQxrzy0MtUNfa3minv4MjbgcYzJAZ7yD0i0lwoPOTPr+INtiXFezt2o8xMSnyHhEn2Q==} + engines: {node: '>=18'} peerDependencies: + '@types/react': ^18.0.0 react: ^18.0.0 react-dom: ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true '@testing-library/vue@8.0.3': resolution: {integrity: sha512-wSsbNlZ69ZFQgVlHMtc/ZC/g9BHO7MhyDrd4nHyfEubtMr3kToN/w4/BsSBknGIF8w9UmPbsgbIuq/CbdBHzCA==} @@ -821,9 +829,6 @@ packages: resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitest/coverage-v8@1.6.0': resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} peerDependencies: @@ -931,6 +936,9 @@ packages: aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -1141,6 +1149,10 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1153,10 +1165,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -1332,9 +1340,9 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.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.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -1344,19 +1352,15 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint@9.2.0: + resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true espree@10.0.1: resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} 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} - esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} @@ -1403,9 +1407,9 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -1415,9 +1419,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -1481,10 +1485,6 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2010,8 +2010,8 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - preact@10.20.1: - resolution: {integrity: sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==} + preact@10.22.0: + resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -2092,10 +2092,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - rollup@4.17.2: resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2287,10 +2283,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -2651,29 +2643,15 @@ snapshots: '@esbuild/win32-x64@0.21.3': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': dependencies: - eslint: 8.57.0 + eslint: 9.2.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} '@eslint/compat@1.0.1': {} - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - '@eslint/eslintrc@3.0.2': dependencies: ajv: 6.12.6 @@ -2688,9 +2666,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.2.0': {} - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 @@ -2702,6 +2680,8 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.2.4': {} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -2742,18 +2722,18 @@ snapshots: dependencies: nanoevents: 9.0.0 - '@logux/eslint-config@53.1.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@logux/eslint-config@53.2.0(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@eslint/compat': 1.0.1 '@eslint/eslintrc': 3.0.2 - eslint: 8.57.0 - eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint-plugin-n@17.7.0(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) - eslint-plugin-n: 17.7.0(eslint@8.57.0) - eslint-plugin-perfectionist: 2.10.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 9.2.0 + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0))(eslint-plugin-n@17.7.0(eslint@9.2.0))(eslint-plugin-promise@6.1.1(eslint@9.2.0))(eslint@9.2.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0) + eslint-plugin-n: 17.7.0(eslint@9.2.0) + eslint-plugin-perfectionist: 2.10.0(eslint@9.2.0)(typescript@5.4.5) eslint-plugin-prefer-let: 3.0.1 - eslint-plugin-promise: 6.1.1(eslint@8.57.0) - typescript-eslint: 7.9.0(eslint@8.57.0)(typescript@5.4.5) + eslint-plugin-promise: 6.1.1(eslint@9.2.0) + typescript-eslint: 7.9.0(eslint@9.2.0)(typescript@5.4.5) transitivePeerDependencies: - '@typescript-eslint/parser' - astro-eslint-parser @@ -2764,10 +2744,10 @@ snapshots: - typescript - vue-eslint-parser - '@nanostores/preact@0.5.1(nanostores@0.10.3)(preact@10.20.1)': + '@nanostores/preact@0.5.1(nanostores@0.10.3)(preact@10.22.0)': dependencies: nanostores: 0.10.3 - preact: 10.20.1 + preact: 10.22.0 '@nanostores/react@0.7.2(nanostores@0.10.3)(react@18.3.1)': dependencies: @@ -2882,6 +2862,17 @@ snapshots: '@size-limit/file': 11.1.4(size-limit@11.1.4) size-limit: 11.1.4 + '@testing-library/dom@10.1.0': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/runtime': 7.24.5 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + '@testing-library/dom@8.20.1': dependencies: '@babel/code-frame': 7.24.2 @@ -2904,18 +2895,20 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/preact@3.2.3(preact@10.20.1)': + '@testing-library/preact@3.2.3(preact@10.22.0)': dependencies: '@testing-library/dom': 8.20.1 - preact: 10.20.1 + preact: 10.22.0 - '@testing-library/react@14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@15.0.7(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.5 - '@testing-library/dom': 9.3.4 + '@testing-library/dom': 10.1.0 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.2 '@testing-library/vue@8.0.3(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5))': dependencies: @@ -2955,15 +2948,15 @@ snapshots: dependencies: '@types/node': 20.12.12 - '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.9.0 - '@typescript-eslint/type-utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.9.0 - eslint: 8.57.0 + eslint: 9.2.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -2973,14 +2966,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 7.9.0 '@typescript-eslint/types': 7.9.0 '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.9.0 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.2.0 optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: @@ -2991,12 +2984,12 @@ snapshots: '@typescript-eslint/types': 7.9.0 '@typescript-eslint/visitor-keys': 7.9.0 - '@typescript-eslint/type-utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@7.9.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5) debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.2.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -3020,13 +3013,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@7.9.0(eslint@9.2.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@typescript-eslint/scope-manager': 7.9.0 '@typescript-eslint/types': 7.9.0 '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5) - eslint: 8.57.0 + eslint: 9.2.0 transitivePeerDependencies: - supports-color - typescript @@ -3036,8 +3029,6 @@ snapshots: '@typescript-eslint/types': 7.9.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0))': dependencies: '@ampproject/remapping': 2.3.0 @@ -3188,6 +3179,10 @@ snapshots: dependencies: deep-equal: 2.2.3 + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -3457,6 +3452,8 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + dequal@2.0.3: {} + diff-sequences@29.6.3: {} dir-glob@3.0.1: @@ -3467,10 +3464,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-serializer@2.0.0: @@ -3654,17 +3647,17 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.0(eslint@8.57.0): + eslint-compat-utils@0.5.0(eslint@9.2.0): dependencies: - eslint: 8.57.0 + eslint: 9.2.0 semver: 7.6.2 - eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0))(eslint-plugin-n@17.7.0(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0): + eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0))(eslint-plugin-n@17.7.0(eslint@9.2.0))(eslint-plugin-promise@6.1.1(eslint@9.2.0))(eslint@9.2.0): dependencies: - eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) - eslint-plugin-n: 17.7.0(eslint@8.57.0) - eslint-plugin-promise: 6.1.1(eslint@8.57.0) + eslint: 9.2.0 + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0) + eslint-plugin-n: 17.7.0(eslint@9.2.0) + eslint-plugin-promise: 6.1.1(eslint@9.2.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -3674,24 +3667,24 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.2.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.6.0(eslint@8.57.0): + eslint-plugin-es-x@7.6.0(eslint@9.2.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint-community/regexpp': 4.10.0 - eslint: 8.57.0 - eslint-compat-utils: 0.5.0(eslint@8.57.0) + eslint: 9.2.0 + eslint-compat-utils: 0.5.0(eslint@9.2.0) - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -3699,9 +3692,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 9.2.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.2.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -3712,28 +3705,28 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-n@17.7.0(eslint@8.57.0): + eslint-plugin-n@17.7.0(eslint@9.2.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) enhanced-resolve: 5.16.1 - eslint: 8.57.0 - eslint-plugin-es-x: 7.6.0(eslint@8.57.0) + eslint: 9.2.0 + eslint-plugin-es-x: 7.6.0(eslint@9.2.0) get-tsconfig: 4.7.5 globals: 15.2.0 ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.2 - eslint-plugin-perfectionist@2.10.0(eslint@8.57.0)(typescript@5.4.5): + eslint-plugin-perfectionist@2.10.0(eslint@9.2.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 minimatch: 9.0.4 natural-compare-lite: 1.4.0 transitivePeerDependencies: @@ -3744,11 +3737,11 @@ snapshots: dependencies: requireindex: 1.2.0 - eslint-plugin-promise@6.1.1(eslint@8.57.0): + eslint-plugin-promise@6.1.1(eslint@9.2.0): dependencies: - eslint: 8.57.0 + eslint: 9.2.0 - eslint-scope@7.2.2: + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -3757,38 +3750,34 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@8.57.0: + eslint@9.2.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/eslintrc': 3.0.2 + '@eslint/js': 9.2.0 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.2.4 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -3806,12 +3795,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 4.0.0 - espree@9.6.1: - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - esquery@1.5.0: dependencies: estraverse: 5.3.0 @@ -3862,9 +3845,9 @@ snapshots: dependencies: reusify: 1.0.4 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.0.1: dependencies: @@ -3875,11 +3858,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.1: {} @@ -3955,10 +3937,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - globals@14.0.0: {} globals@15.2.0: {} @@ -4441,7 +4419,7 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - preact@10.20.1: {} + preact@10.22.0: {} prelude-ls@1.2.1: {} @@ -4517,10 +4495,6 @@ snapshots: reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rollup@4.17.2: dependencies: '@types/estree': 1.0.5 @@ -4735,8 +4709,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.20.2: {} - typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 @@ -4769,12 +4741,12 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript-eslint@7.9.0(eslint@8.57.0)(typescript@5.4.5): + typescript-eslint@7.9.0(eslint@9.2.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.9.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.9.0(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: diff --git a/preact/index.test.ts b/preact/index.test.ts index 342de91..b535d30 100644 --- a/preact/index.test.ts +++ b/preact/index.test.ts @@ -77,7 +77,7 @@ function throwFromBroken(e: Error | string): void { } } -type BrokenMap = MapStore<{ isLoading: boolean }> & { loading: Promise } +type BrokenMap = { loading: Promise } & MapStore<{ isLoading: boolean }> let Broken = (): BrokenMap => { let store = map({ isLoading: true }) as BrokenMap diff --git a/prepare-for-test/index.d.ts b/prepare-for-test/index.d.ts index cc276b2..df0f8ed 100644 --- a/prepare-for-test/index.d.ts +++ b/prepare-for-test/index.d.ts @@ -12,12 +12,12 @@ interface PrepareForTest { ( client: Client, Template: SyncMapTemplateLike, - value: Omit & { id?: string } + value: { id?: string } & Omit ): MapStore ( client: Client, Template: SyncMapTemplate, - value: Omit & { id?: string } + value: { id?: string } & Omit ): SyncMapStore } diff --git a/react/index.d.ts b/react/index.d.ts index 0a3e7d9..8ea2317 100644 --- a/react/index.d.ts +++ b/react/index.d.ts @@ -93,7 +93,7 @@ export const ErrorsContext: ReactContext * ``` */ export class ChannelErrors extends Component< - ReactErrorHandlers & { children?: ReactNode } + { children?: ReactNode } & ReactErrorHandlers > {} /** diff --git a/react/index.test.ts b/react/index.test.ts index 450ff6c..05c8ed1 100644 --- a/react/index.test.ts +++ b/react/index.test.ts @@ -77,7 +77,7 @@ function throwFromBroken(e: Error | string): void { } } -type BrokenMap = MapStore<{ isLoading: boolean }> & { loading: Promise } +type BrokenMap = { loading: Promise } & MapStore<{ isLoading: boolean }> let Broken = (): BrokenMap => { let store = map({ isLoading: true }) as BrokenMap diff --git a/sync-map-template/index.d.ts b/sync-map-template/index.d.ts index 66d3909..80a07f8 100644 --- a/sync-map-template/index.d.ts +++ b/sync-map-template/index.d.ts @@ -42,10 +42,10 @@ interface SyncMapStoreExt { remote: boolean } -export type LoadedSyncMapValue = Value & { +export type LoadedSyncMapValue = { id: string isLoading: false -} +} & Value export type SyncMapValue = | { id: string; isLoading: true } @@ -64,9 +64,9 @@ export interface SyncMapTemplate< id: string, client: Client, ...args: [] | [Action, Meta, boolean | undefined] - ): SyncMapStore & StoreExt + ): StoreExt & SyncMapStore cache: { - [id: string]: SyncMapStore & StoreExt + [id: string]: StoreExt & SyncMapStore } offline: boolean readonly plural: string @@ -135,7 +135,7 @@ export function syncMapTemplate( export function createSyncMap( client: Client, Template: SyncMapTemplate, - value: Value & { id: string } + value: { id: string } & Value ): Promise /** @@ -158,7 +158,7 @@ export function createSyncMap( export function buildNewSyncMap( client: Client, Template: SyncMapTemplate, - value: Value & { id: string } + value: { id: string } & Value ): Promise> /** @@ -285,13 +285,13 @@ export function ensureLoaded( value: FilterValue ): LoadedFilterValue -export type LoadedValue = Type & { +export type LoadedValue = { isLoading: false -} +} & Type -type LoadableStore = ReadableStore<{ isLoading: boolean }> & { +type LoadableStore = { readonly loading: Promise -} +} & ReadableStore<{ isLoading: boolean }> /** * Return store’s value if store is loaded or wait until store will be loaded diff --git a/vue/index.test.ts b/vue/index.test.ts index 58d6675..0b41c6d 100644 --- a/vue/index.test.ts +++ b/vue/index.test.ts @@ -185,7 +185,7 @@ function throwFromBroken(e: Error | string): void { } } -type BrokenMap = MapStore<{ isLoading: boolean }> & { loading: Promise } +type BrokenMap = { loading: Promise } & MapStore<{ isLoading: boolean }> let BrokenStore = (): BrokenMap => { let store = map({ isLoading: true }) as BrokenMap