diff --git a/.changeset/honest-lamps-add.md b/.changeset/honest-lamps-add.md new file mode 100644 index 000000000000..2f38b87c77be --- /dev/null +++ b/.changeset/honest-lamps-add.md @@ -0,0 +1,5 @@ +--- +'@data-client/react': patch +--- + +fix: ExternalDataProvider correctly tracks unmounting diff --git a/.circleci/config.yml b/.circleci/config.yml index 4fdc02f7f71c..9afedc120a4d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ jobs: setup: docker: &docker # specify the version you desire here - - image: cimg/node:22.4 + - image: cimg/node:22.7 resource_class: large steps: - checkout: @@ -18,9 +18,9 @@ jobs: npm pkg set 'workspaces[]'='examples/*' - restore_cache: keys: - - v11-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }} + - v12-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }} # fallback to using the latest cache if no exact match is found - - v11-dependencies- + - v12-dependencies- - run: name: yarn install command: | @@ -32,7 +32,7 @@ jobs: paths: - .yarn/cache - .yarn/install-state.gz - key: v11-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }} + key: v12-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }} - run: yarn run ci:build:types - run: yarn run ci:build - persist_to_workspace: @@ -48,6 +48,7 @@ jobs: - project/jest.config.js - project/tsconfig-base.json - project/tsconfig.json + - project/eslint.config.mjs - project/yarn.lock - project/tsconfig.test.json - project/package.json @@ -61,7 +62,7 @@ jobs: at: ~/ - run: command: | - yarn lint packages/*/src + yarn lint --quiet packages/*/src typecheck: docker: *docker diff --git a/.github/renovate.json b/.github/renovate.json index 1419cba1014a..a5073805fd29 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -11,7 +11,6 @@ "downlevel-dts", "immutable", "@types/lodash", - "cimg/node", "nock" ], "timezone": "America/Chicago", diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000000..4d8be72a60f9 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,44 @@ +import anansiPlugin from '@anansi/eslint-plugin'; +import globals from 'globals'; + +export default [ + ...anansiPlugin.configs.typescript, + { + ignores: [ + '**/lib*/*', + '**/dist*/*', + 'packages/*/native/*', + '**/node_modules*/*', + 'node_modules/*', + '**/src-*-types/*', + ], + }, + { + files: ['**/*.?(m|c)ts?(x)'], + rules: { + '@typescript-eslint/no-empty-function': 'warn', + }, + }, + { + files: ['**/__tests__/**/*.?(m|c)ts?(x)', '**/*.test?(.*).?(m|c)ts?(x)'], + rules: { + '@typescript-eslint/no-unused-expressions': 'off', + }, + }, + { + files: ['**/*.?(m|c)js?(x)'], + settings: { + 'import/resolver': { + node: {}, + }, + }, + }, + { + languageOptions: { + globals: { + ...globals.browser, + process: 'writable', + }, + }, + }, +]; diff --git a/package.json b/package.json index 71df413e8611..daab812b654c 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "scripts": { "changeset:version": "run changeset version && YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install", "changeset:publish": "run build && run changeset publish", - "lint": "eslint --ext .ts,.tsx,.js", + "lint": "eslint", "format": "eslint --fix \"packages/*/src/**/*.{js,ts,tsx,cts}\"", "clean:types": "rimraf packages/*/*.tsbuildinfo", "build": "yarn build:types && yarn workspaces foreach -Wptiv --no-private run build", @@ -66,8 +66,6 @@ "@types/jest": "29.5.12", "@types/node": "22.5.1", "@types/react": "18.3.4", - "@typescript-eslint/eslint-plugin": "7.18.0", - "@typescript-eslint/parser": "7.18.0", "babel-plugin-module-resolver": "5.0.2", "benchmark": "^2.1.4", "conventional-changelog-anansi": "^0.2.0", @@ -77,12 +75,8 @@ "cpy-cli": "5.0.0", "cross-fetch": "^4.0.0", "downlevel-dts": "^0.10.0", - "eslint": "8.57.0", - "eslint-plugin-babel": "^5.3.1", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-prettier": "5.2.1", - "eslint-plugin-react": "7.35.0", - "eslint-plugin-react-hooks": "4.6.2", + "eslint": "9.9.1", + "globals": "^15.9.0", "ignore-styles": "^5.0.1", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", @@ -123,29 +117,5 @@ "singleQuote": true, "arrowParens": "avoid", "experimentalTernaries": true - }, - "eslintConfig": { - "extends": [ - "plugin:@anansi/typescript" - ], - "rules": { - "@typescript-eslint/no-empty-function": "warn" - }, - "settings": { - "import/resolver": { - "node": {} - } - }, - "globals": { - "process": "writable" - }, - "ignorePatterns": [ - "**/lib*/*", - "**/dist*/*", - "packages/*/native/*", - "**/node_modules*/*", - "node_modules/*", - "**/src-*-types/*" - ] } } diff --git a/packages/endpoint/src/endpoint.d.ts b/packages/endpoint/src/endpoint.d.ts index 77116e611ebf..099cf09c3f72 100644 --- a/packages/endpoint/src/endpoint.d.ts +++ b/packages/endpoint/src/endpoint.d.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-types */ import type { EndpointConstructor, ExtendableEndpointConstructor, diff --git a/packages/endpoint/src/endpointTypes.ts b/packages/endpoint/src/endpointTypes.ts index 38e70701a869..ee90dcd47b1f 100644 --- a/packages/endpoint/src/endpointTypes.ts +++ b/packages/endpoint/src/endpointTypes.ts @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/ban-types */ +/* eslint-disable @typescript-eslint/no-unsafe-function-type */ import type { EndpointInterface, Schema } from './interface.js'; import type { EndpointExtraOptions, diff --git a/packages/endpoint/src/schemas/EntitySchema.ts b/packages/endpoint/src/schemas/EntitySchema.ts index 8220ef44ed44..52e86a745b62 100644 --- a/packages/endpoint/src/schemas/EntitySchema.ts +++ b/packages/endpoint/src/schemas/EntitySchema.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { Constructor, EntityOptions } from './EntityTypes.js'; import type { Schema, @@ -378,8 +377,6 @@ export default function EntitySchema( enumerable: true, }); } else if (!('key' in Base)) { - // this allows assignment in strict-mode - // eslint-disable-next-line no-inner-declarations function set(this: any, value: string) { Object.defineProperty(this, 'key', { value, diff --git a/packages/endpoint/src/schemas/ImmutableUtils.ts b/packages/endpoint/src/schemas/ImmutableUtils.ts index c3f93e721e7e..fa4e7fd40886 100644 --- a/packages/endpoint/src/schemas/ImmutableUtils.ts +++ b/packages/endpoint/src/schemas/ImmutableUtils.ts @@ -10,7 +10,6 @@ * @param {any} object * @return {bool} */ -// eslint-disable-next-line @typescript-eslint/ban-types export function isImmutable(object: {}): object is { get(k: string): any; [k: string]: any; diff --git a/packages/normalizr/src/schemas/ImmutableUtils.ts b/packages/normalizr/src/schemas/ImmutableUtils.ts index 653bdf715d83..85658c0b9057 100644 --- a/packages/normalizr/src/schemas/ImmutableUtils.ts +++ b/packages/normalizr/src/schemas/ImmutableUtils.ts @@ -12,7 +12,6 @@ import { INVALID } from '../denormalize/symbol.js'; * @param {any} object * @return {bool} */ -// eslint-disable-next-line @typescript-eslint/ban-types export function isImmutable(object: {}): object is { get(k: string): any; [k: string]: any; diff --git a/packages/normalizr/src/schemas/Object.ts b/packages/normalizr/src/schemas/Object.ts index 4daca1dbb889..c631b52e395a 100644 --- a/packages/normalizr/src/schemas/Object.ts +++ b/packages/normalizr/src/schemas/Object.ts @@ -28,7 +28,6 @@ export const normalize = ( export const denormalize = ( schema: any, - // eslint-disable-next-line @typescript-eslint/ban-types input: {}, args: readonly any[], unvisit: any, diff --git a/packages/react/src/server/redux/ExternalDataProvider.tsx b/packages/react/src/server/redux/ExternalDataProvider.tsx index 50b642aa4a58..1b06a1c42608 100644 --- a/packages/react/src/server/redux/ExternalDataProvider.tsx +++ b/packages/react/src/server/redux/ExternalDataProvider.tsx @@ -59,7 +59,7 @@ export default function ExternalDataProvider({ const isMounted = useRef(true); useEffect(() => { isMounted.current = true; - () => { + return () => { isMounted.current = false; }; }, []); diff --git a/packages/rest/src/RestEndpoint.d.ts b/packages/rest/src/RestEndpoint.d.ts index b8a5a0dd4376..00267cd81224 100644 --- a/packages/rest/src/RestEndpoint.d.ts +++ b/packages/rest/src/RestEndpoint.d.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-types */ import type { RestEndpointConstructor } from './RestEndpointTypes.js'; export * from './RestEndpointTypes.js'; diff --git a/packages/rest/src/RestEndpointTypes.ts b/packages/rest/src/RestEndpointTypes.ts index 6b74fc77f420..33fca9144f37 100644 --- a/packages/rest/src/RestEndpointTypes.ts +++ b/packages/rest/src/RestEndpointTypes.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-types */ import type { EndpointExtraOptions, EndpointInstanceInterface, @@ -529,7 +528,6 @@ export type RestType< searchParams?: any; paginationField?: string; } = { path: string; paginationField: string }, - // eslint-disable-next-line @typescript-eslint/ban-types > = IfTypeScriptLooseNull< RestInstance, S, M, O>, Body extends {} ? RestTypeWithBody @@ -564,7 +562,6 @@ export type RestTypeNoBody< /** Simple parameters, and body fetch functions */ export type RestFetch< UrlParams, - // eslint-disable-next-line @typescript-eslint/ban-types Body = {}, Resolve = any, > = IfTypeScriptLooseNull< @@ -615,10 +612,7 @@ export type FromFallBack = K extends keyof O ? O[K] : E[K]; export type FetchMutate< - A extends readonly any[] = // eslint-disable-next-line @typescript-eslint/ban-types - | [any, {}] - // eslint-disable-next-line @typescript-eslint/ban-types - | [{}], + A extends readonly any[] = [any, {}] | [{}], R = any, > = (this: RestInstance, ...args: A) => Promise; diff --git a/yarn.lock b/yarn.lock index 7e336e90d729..b69e31d4f230 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3964,34 +3964,52 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.10.0": version: 4.10.0 resolution: "@eslint-community/regexpp@npm:4.10.0" checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint-community/regexpp@npm:^4.11.0": + version: 4.11.0 + resolution: "@eslint-community/regexpp@npm:4.11.0" + checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/0234aeb3e6b052ad2402a647d0b4f8a6aa71524bafe1adad0b8db1dfe94d7f5f26d67c80f79bb37ac61361a1d4b14bb8fb475efe501de37263cf55eabb79868f + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167 languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 +"@eslint/js@npm:9.9.1": + version: 9.9.1 + resolution: "@eslint/js@npm:9.9.1" + checksum: 10c0/a3a91de2ce78469f7c4eee78c1eba77360706e1d0fa0ace2e19102079bcf237b851217c85ea501dc92c4c3719d60d9df966977abc8554d4c38e3638c1f53dcb2 languageName: node linkType: hard @@ -4002,6 +4020,13 @@ __metadata: languageName: node linkType: hard +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda + languageName: node + linkType: hard + "@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -4025,17 +4050,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -4043,10 +4057,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.0 + resolution: "@humanwhocodes/retry@npm:0.3.0" + checksum: 10c0/7111ec4e098b1a428459b4e3be5a5d2a13b02905f805a2468f4fa628d072f0de2da26a27d04f65ea2846f73ba51f4204661709f05bfccff645e3cedef8781bb6 languageName: node linkType: hard @@ -7572,29 +7586,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/type-utils": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 - languageName: node - linkType: hard - "@typescript-eslint/eslint-plugin@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.4.0" @@ -7618,24 +7609,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 - languageName: node - linkType: hard - "@typescript-eslint/parser@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/parser@npm:8.4.0" @@ -7654,16 +7627,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/scope-manager@npm:7.18.0" - dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/scope-manager@npm:8.4.0" @@ -7674,23 +7637,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/type-utils@npm:7.18.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd - languageName: node - linkType: hard - "@typescript-eslint/type-utils@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/type-utils@npm:8.4.0" @@ -7706,13 +7652,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/types@npm:7.18.0" - checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 - languageName: node - linkType: hard - "@typescript-eslint/types@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/types@npm:8.4.0" @@ -7720,25 +7659,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" - dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/typescript-estree@npm:8.4.0" @@ -7758,20 +7678,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/utils@npm:7.18.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e - languageName: node - linkType: hard - "@typescript-eslint/utils@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/utils@npm:8.4.0" @@ -7786,16 +7692,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" - dependencies: - "@typescript-eslint/types": "npm:7.18.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/visitor-keys@npm:8.4.0" @@ -7806,7 +7702,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d @@ -8280,7 +8176,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.2": version: 8.10.0 resolution: "acorn@npm:8.10.0" bin: @@ -8289,6 +8185,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.12.0": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + languageName: node + linkType: hard + "address@npm:^1.0.1, address@npm:^1.1.2": version: 1.2.2 resolution: "address@npm:1.2.2" @@ -8770,7 +8675,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7, array-includes@npm:^3.1.8": +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -8828,7 +8733,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.3, array.prototype.findlastindex@npm:^1.2.5": +"array.prototype.findlastindex@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlastindex@npm:1.2.5" dependencies: @@ -12854,15 +12759,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - "dom-accessibility-api@npm:^0.5.9": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" @@ -13610,7 +13506,7 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.8.0, eslint-module-utils@npm:^2.8.1, eslint-module-utils@npm:^2.9.0": +"eslint-module-utils@npm:^2.8.1, eslint-module-utils@npm:^2.9.0": version: 2.11.0 resolution: "eslint-module-utils@npm:2.11.0" dependencies: @@ -13622,44 +13518,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-babel@npm:^5.3.1": - version: 5.3.1 - resolution: "eslint-plugin-babel@npm:5.3.1" - dependencies: - eslint-rule-composer: "npm:^0.3.0" - peerDependencies: - eslint: ">=4.0.0" - checksum: 10c0/c73e054c3cf3c5392e8ea7e56f41db3859b9d7c0dd347c28a5f08ae87889cc4879fcddfe227ee1ec075a9ab62e34e245d7e6e723180dfa36d07397c2cbb2c1a1 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:2.29.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" - dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlastindex: "npm:^1.2.3" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.8.0" - hasown: "npm:^2.0.0" - is-core-module: "npm:^2.13.1" - is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.7" - object.groupby: "npm:^1.0.1" - object.values: "npm:^1.1.7" - semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.15.0" - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 10c0/5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 - languageName: node - linkType: hard - "eslint-plugin-import@npm:^2.30.0": version: 2.30.0 resolution: "eslint-plugin-import@npm:2.30.0" @@ -13714,7 +13572,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:5.2.1, eslint-plugin-prettier@npm:^5.2.1": +"eslint-plugin-prettier@npm:^5.2.1": version: 5.2.1 resolution: "eslint-plugin-prettier@npm:5.2.1" dependencies: @@ -13734,15 +13592,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:4.6.2": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc - languageName: node - linkType: hard - "eslint-plugin-react-hooks@npm:5.1.0-rc-a03254bc-20240905": version: 5.1.0-rc-a03254bc-20240905 resolution: "eslint-plugin-react-hooks@npm:5.1.0-rc-a03254bc-20240905" @@ -13752,34 +13601,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:7.35.0": - version: 7.35.0 - resolution: "eslint-plugin-react@npm:7.35.0" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.tosorted: "npm:^1.1.4" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" - estraverse: "npm:^5.3.0" - hasown: "npm:^2.0.2" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" - object.fromentries: "npm:^2.0.8" - object.values: "npm:^1.2.0" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" - string.prototype.repeat: "npm:^1.0.0" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/eedcc33de4b2cda91d56ae517a4f771a0c76da9c1e26c95543969012871381e11d4d6cffdf6fa8423036585c289eb3500f3f93fb1d314fb2624e0aa1e463305e - languageName: node - linkType: hard - "eslint-plugin-react@npm:^7.35.2": version: 7.35.2 resolution: "eslint-plugin-react@npm:7.35.2" @@ -13825,13 +13646,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.0.2": + version: 8.0.2 + resolution: "eslint-scope@npm:8.0.2" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/477f820647c8755229da913025b4567347fd1f0bf7cbdf3a256efff26a7e2e130433df052bd9e3d014025423dc00489bea47eb341002b15553673379c1a7dc36 languageName: node linkType: hard @@ -13842,47 +13663,50 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard -"eslint@npm:8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" +"eslint-visitor-keys@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-visitor-keys@npm:4.0.0" + checksum: 10c0/76619f42cf162705a1515a6868e6fc7567e185c7063a05621a8ac4c3b850d022661262c21d9f1fc1d144ecf0d5d64d70a3f43c15c3fc969a61ace0fb25698cf5 + languageName: node + linkType: hard + +"eslint@npm:9.9.1": + version: 9.9.1 + resolution: "eslint@npm:9.9.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint-community/regexpp": "npm:^4.11.0" + "@eslint/config-array": "npm:^0.18.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.9.1" "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.0.2" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.1.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" @@ -13891,20 +13715,25 @@ __metadata: optionator: "npm:^0.9.3" strip-ansi: "npm:^6.0.1" text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + checksum: 10c0/5e71efda7c0a14ee95436d5cdfed04ee61dfb1d89d7a32b50a424de2e680af82849628ea6581950c2e0726491f786a3cfd0032ce013c1c5093786e475cfdfb33 languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.1.0": + version: 10.1.0 + resolution: "espree@npm:10.1.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.12.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + eslint-visitor-keys: "npm:^4.0.0" + checksum: 10c0/52e6feaa77a31a6038f0c0e3fce93010a4625701925b0715cd54a2ae190b3275053a0717db698697b32653788ac04845e489d6773b508d6c2e8752f3c57470a0 languageName: node linkType: hard @@ -13918,12 +13747,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.4.2 - resolution: "esquery@npm:1.4.2" +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10c0/b4109b3d8301e79bf0be10bbafe4ac9c5469274e61b07a16e7174e99efe815081bc18ac2e6d951d06df95004ac5772751db5d5b14483e51aefa96b018726117d + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 languageName: node linkType: hard @@ -14511,12 +14340,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -14737,20 +14566,20 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.0.4 - resolution: "flat-cache@npm:3.0.4" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: - flatted: "npm:^3.1.0" - rimraf: "npm:^3.0.2" - checksum: 10c0/f274dcbadb09ad8d7b6edf2ee9b034bc40bf0c12638f6c4084e9f1d39208cb104a5ebbb24b398880ef048200eaa116852f73d2d8b72e8c9627aba8c3e27ca057 + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard -"flatted@npm:^3.1.0": - version: 3.1.1 - resolution: "flatted@npm:3.1.1" - checksum: 10c0/179b26156c37e529addfb530dd1ea3b9e49888fa7e2ec34bc644e603965db6889d70e1bbc14e2ccae680a0f71bbf7446c396660905a92b436a78f14d011fb349 +"flatted@npm:^3.2.9": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf languageName: node linkType: hard @@ -15469,12 +15298,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.19.0 - resolution: "globals@npm:13.19.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d2bb3164ed9f5ec82b91e96d6a5ffc1cca3cb10f6c41df9687cd7712ba82f5534ed028b11c5717d71c938403bf8ffc97bb06f5f2eab8c1b91e6273b08b33b5e6 +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d languageName: node linkType: hard @@ -18718,6 +18545,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + "khroma@npm:^2.0.0": version: 2.0.0 resolution: "khroma@npm:2.0.0" @@ -22198,7 +22034,7 @@ __metadata: languageName: node linkType: hard -"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8": +"object.fromentries@npm:^2.0.8": version: 2.0.8 resolution: "object.fromentries@npm:2.0.8" dependencies: @@ -22220,7 +22056,7 @@ __metadata: languageName: node linkType: hard -"object.groupby@npm:^1.0.1, object.groupby@npm:^1.0.3": +"object.groupby@npm:^1.0.3": version: 1.0.3 resolution: "object.groupby@npm:1.0.3" dependencies: @@ -22240,7 +22076,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0": +"object.values@npm:^1.1.6, object.values@npm:^1.2.0": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -26623,8 +26459,6 @@ __metadata: "@types/jest": "npm:29.5.12" "@types/node": "npm:22.5.1" "@types/react": "npm:18.3.4" - "@typescript-eslint/eslint-plugin": "npm:7.18.0" - "@typescript-eslint/parser": "npm:7.18.0" babel-plugin-module-resolver: "npm:5.0.2" benchmark: "npm:^2.1.4" conventional-changelog-anansi: "npm:^0.2.0" @@ -26634,12 +26468,8 @@ __metadata: cpy-cli: "npm:5.0.0" cross-fetch: "npm:^4.0.0" downlevel-dts: "npm:^0.10.0" - eslint: "npm:8.57.0" - eslint-plugin-babel: "npm:^5.3.1" - eslint-plugin-import: "npm:2.29.1" - eslint-plugin-prettier: "npm:5.2.1" - eslint-plugin-react: "npm:7.35.0" - eslint-plugin-react-hooks: "npm:4.6.2" + eslint: "npm:9.9.1" + globals: "npm:^15.9.0" ignore-styles: "npm:^5.0.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0"