diff --git a/eslint.config.js b/eslint.config.js index e9c7e6d8c..7266d6312 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,9 +1,11 @@ import browser from 'eslint-config-availity/browser'; +import { withVitest } from 'eslint-config-availity/test-runners'; import storybook from 'eslint-plugin-storybook'; export default [ ...browser, ...storybook.configs['flat/recommended'], + ...withVitest, { rules: { 'import/extensions': 'off', @@ -18,16 +20,6 @@ export default [ 'unicorn/no-lonely-if': 'off', 'unicorn/no-array-for-each': 'off', 'no-restricted-exports': 'off', - 'jest/no-deprecated-functions': 'off', - 'jest/no-conditional-expect': 'off', - 'jest/no-commented-out-tests': 'off', - }, - }, - { - languageOptions: { - globals: { - vi: 'readonly', - }, }, }, { diff --git a/package.json b/package.json index 416d502db..125dbd3ca 100644 --- a/package.json +++ b/package.json @@ -79,8 +79,9 @@ "@types/node": "^22.20.2", "@types/react": "^19.2.17", "@types/react-dom": "^19.2.3", + "@vitest/eslint-plugin": "^1.0.0", "availity-uikit": "^4.7.2", - "eslint-config-availity": "^14.0.0", + "eslint-config-availity": "^16.0.0", "eslint-plugin-storybook": "9.1.20", "husky": "^9.1.7", "is-ci": "^3.0.1", @@ -103,8 +104,11 @@ "@testing-library/jest-dom": "^6.9.1", "@types/prop-types": "^15.7.15", "@vitest/coverage-v8": "^5.0.0", + "eslint": "^9.0.0", + "eslint-node-test": "^0.4.0", + "eslint-plugin-jest": "^29.0.0", "jsdom": "^30.0.1", - "typescript": "5.9.3", + "typescript": "6.x", "vite": "^8.3.0", "vitest": "^5.0.0" }, diff --git a/packages/change-password/src/ChangePasswordForm.jsx b/packages/change-password/src/ChangePasswordForm.jsx index f7565fe65..a00c063c5 100644 --- a/packages/change-password/src/ChangePasswordForm.jsx +++ b/packages/change-password/src/ChangePasswordForm.jsx @@ -90,41 +90,39 @@ const ChangePasswordForm = ({ {success} - { - showCurrentPassword ? ( -
- - { - currentPasswordIconRef?.current?.focus(); - e.preventDefault(); + {showCurrentPassword ? ( +
+ + { + currentPasswordIconRef?.current?.focus(); + e.preventDefault(); + setCurrentPasswordVisible(!currentPasswordVisible); + }} + onKeyDown={(e) => { + if (e.key === 'Enter' || e.key === ' ') { setCurrentPasswordVisible(!currentPasswordVisible); - }} - onKeyDown={(e) => { - if (e.keyCode === 13 || e.keyCode === 32) { - setCurrentPasswordVisible(!currentPasswordVisible); - } - }} - tabIndex={0} - aria-label={currentPasswordVisible ? 'Hide Password' : 'Show Password'} - ref={currentPasswordIconRef} - /> -
- ) : null - } + } + }} + tabIndex={0} + aria-label={currentPasswordVisible ? 'Hide Password' : 'Show Password'} + ref={currentPasswordIconRef} + /> +
+ ) : null}
{ - if (e.keyCode === 13 || e.keyCode === 32) { + if (e.key === 'Enter' || e.key === ' ') { setNewPasswordVisible(!newPasswordVisible); } }} @@ -182,7 +180,7 @@ const ChangePasswordForm = ({ setConfirmNewPasswordVisible(!confirmNewPasswordVisible); }} onKeyDown={(e) => { - if (e.keyCode === 13 || e.keyCode === 32) { + if (e.key === 'Enter' || e.key === ' ') { setConfirmNewPasswordVisible(!confirmNewPasswordVisible); } }} diff --git a/packages/feedback/src/FeedbackButton.jsx b/packages/feedback/src/FeedbackButton.jsx index ad94c7a76..8ad64c1ab 100644 --- a/packages/feedback/src/FeedbackButton.jsx +++ b/packages/feedback/src/FeedbackButton.jsx @@ -14,7 +14,7 @@ const FeedbackButton = ({ onClick, icon, active, children, iconSize = '', ...res onClick={() => { onClick(icon); }} - onKeyDown={({ keyCode }) => keyCode === 13 && onClick(icon)} + onKeyDown={({ key }) => key === 'Enter' && onClick(icon)} {...rest} > diff --git a/packages/feedback/src/FeedbackForm.jsx b/packages/feedback/src/FeedbackForm.jsx index ee5ec53d2..1feb76325 100644 --- a/packages/feedback/src/FeedbackForm.jsx +++ b/packages/feedback/src/FeedbackForm.jsx @@ -9,6 +9,7 @@ import * as yup from 'yup'; import SmileField from './SmileField.jsx'; yup.addMethod(yup.string, 'isRequired', function format(isRequired, msg) { + // eslint-disable-next-line unicorn/no-this-outside-of-class return this.test({ name: 'dateRange', exclusive: true, diff --git a/packages/feedback/src/SmileField.jsx b/packages/feedback/src/SmileField.jsx index a563f4c82..0cb944c81 100644 --- a/packages/feedback/src/SmileField.jsx +++ b/packages/feedback/src/SmileField.jsx @@ -31,10 +31,10 @@ const SmileField = ({ name, options = defaultOptions, onChange, autoFocusFeedbac { - if (e.shiftKey && e.keyCode === 9 && i === 0 && !modal) { + if (e.shiftKey && e.key === 'Tab' && i === 0 && !modal) { onClose(); } - if (e.keyCode === 13) { + if (e.key === 'Enter') { setFieldValue(name, option); if (onChange) { onChange(option); diff --git a/packages/feedback/src/SupportForm.jsx b/packages/feedback/src/SupportForm.jsx index d0a1343e6..3ad8517ee 100644 --- a/packages/feedback/src/SupportForm.jsx +++ b/packages/feedback/src/SupportForm.jsx @@ -78,6 +78,7 @@ function orgSelectTest(msg) { name: yup.string().isRequired(true, ORG_VALIDATION_MESSAGE), }); + // eslint-disable-next-line unicorn/no-this-outside-of-class return this.test({ name: 'orgSelectTest', exclusive: true, @@ -128,7 +129,7 @@ const SupportForm = ({ setSupportIsActive, setBlocking, feedbackToggle }) => ( onClick={() => setSupportIsActive(false)} color="secondary" type="button" - onKeyDown={({ keyCode }) => keyCode === 13 && setSupportIsActive(false)} + onKeyDown={({ key }) => key === 'Enter' && setSupportIsActive(false)} > Close diff --git a/packages/form-upload/src/Upload.jsx b/packages/form-upload/src/Upload.jsx index 1a4896fdc..d24ccfeb8 100644 --- a/packages/form-upload/src/Upload.jsx +++ b/packages/form-upload/src/Upload.jsx @@ -121,7 +121,6 @@ const Upload = ({ ); useEffect(() => { - // eslint-disable-next-line unicorn/consistent-function-scoping async function checkValidFormAndCallFileDelivery() { if (Object.keys(errors).length === 0) { // deliver all on submit diff --git a/packages/form-upload/src/UploadProgressBar.jsx b/packages/form-upload/src/UploadProgressBar.jsx index ba82d998a..f30e66cf8 100644 --- a/packages/form-upload/src/UploadProgressBar.jsx +++ b/packages/form-upload/src/UploadProgressBar.jsx @@ -40,11 +40,11 @@ const UploadProgressBar = ({ upload, ...rest }) => { return () => { mountedRef.current = false; const progressIdx = upload.onProgress.indexOf(onProgress); - if (progressIdx > -1) upload.onProgress.splice(progressIdx, 1); + if (progressIdx !== -1) upload.onProgress.splice(progressIdx, 1); const successIdx = upload.onSuccess.indexOf(onSuccess); - if (successIdx > -1) upload.onSuccess.splice(successIdx, 1); + if (successIdx !== -1) upload.onSuccess.splice(successIdx, 1); const errorIdx = upload.onError.indexOf(onError); - if (errorIdx > -1) upload.onError.splice(errorIdx, 1); + if (errorIdx !== -1) upload.onError.splice(errorIdx, 1); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [upload]); diff --git a/packages/form/tsconfig.json b/packages/form/tsconfig.json index e35aca934..ed61b422c 100644 --- a/packages/form/tsconfig.json +++ b/packages/form/tsconfig.json @@ -3,7 +3,8 @@ "include": ["."], "compilerOptions": { "allowJs": true, - "outDir": "dist" + "outDir": "dist", + "rootDir": "../.." }, "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/spaces/src/Spaces.jsx b/packages/spaces/src/Spaces.jsx index 864bc4a40..19a02ba37 100644 --- a/packages/spaces/src/Spaces.jsx +++ b/packages/spaces/src/Spaces.jsx @@ -1,4 +1,3 @@ -/* eslint-disable unicorn/prefer-spread */ import React, { createContext, useContext, useReducer } from 'react'; import PropTypes from 'prop-types'; import { avWebQLApi } from '@availity/api-axios'; @@ -22,10 +21,9 @@ export const getAllSpaces = async ({ query, clientId, variables, operationName, const requestBody = { query, variables, + operationName: operationName || parseOperationName(query) || 'PuiBootstrapSpacesAnonymousOperation', }; - requestBody.operationName = operationName || parseOperationName(query) || 'PuiBootstrapSpacesAnonymousOperation'; - const { data: { data: { configurationPagination }, @@ -173,7 +171,16 @@ const DEFAULT_SPACE_IDS = []; const DEFAULT_PAYER_IDS = []; const DEFAULT_SPACES = []; -const Spaces = ({ query = DEFAULT_QUERY, variables = DEFAULT_VARIABLES, clientId, spaceIds = DEFAULT_SPACE_IDS, payerIds = DEFAULT_PAYER_IDS, children, spaces: spacesFromProps = DEFAULT_SPACES, operationName = 'PuiBootstrapSpacesAnonymousOperation' }) => { +const Spaces = ({ + query = DEFAULT_QUERY, + variables = DEFAULT_VARIABLES, + clientId, + spaceIds = DEFAULT_SPACE_IDS, + payerIds = DEFAULT_PAYER_IDS, + children, + spaces: spacesFromProps = DEFAULT_SPACES, + operationName = 'PuiBootstrapSpacesAnonymousOperation', +}) => { const [{ previousSpacesMap, previousSpacesByConfigMap, previousSpacesByPayerMap, loading, error }, dispatch] = useReducer(spacesReducer, INITIAL_STATE); // TODO: react-query. Don't expose cache time options to users diff --git a/tsconfig.json b/tsconfig.json index 03a3de5bc..a5754f0a6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,136 +13,54 @@ "strict": true, "strictFunctionTypes": false, "strictNullChecks": true, - "lib": [ - "ESNext", - "dom" - ], + "lib": ["ESNext", "dom"], "types": ["vitest/globals", "node"], "module": "ESNext", "target": "ESNext", "jsx": "react-jsx", - "baseUrl": ".", + "ignoreDeprecations": "6.0", + "noUncheckedSideEffectImports": false, "paths": { - "@availity/analytics": [ - "packages/analytics" - ], - "@availity/app-icon": [ - "packages/app-icon/src/index.ts" - ], - "@availity/authorize": [ - "packages/authorize/src/index.ts" - ], - "@availity/avatar": [ - "packages/avatar" - ], - "@availity/badge": [ - "packages/badge/src/index.ts" - ], - "@availity/block-ui": [ - "packages/block-ui/src/index.ts" - ], - "@availity/breadcrumbs": [ - "packages/breadcrumbs" - ], - "@availity/button": [ - "packages/button/src/index.ts" - ], - "@availity/date": [ - "packages/date/src/index.js" - ], - "@availity/favorites": [ - "packages/favorites/src/index.ts" - ], - "@availity/feature": [ - "packages/feature" - ], - "@availity/feedback": [ - "packages/feedback" - ], - "@availity/form": [ - "packages/form/src/index.js" - ], - "@availity/form-upload": [ - "packages/form-upload" - ], - "@availity/help": [ - "packages/help/src/index.ts" - ], - "@availity/hooks": [ - "packages/hooks/src/index.ts" - ], - "@availity/icon": [ - "packages/icon/src/index.ts" - ], - "@availity/json-viewer": [ - "packages/json-viewer/src/index.ts" - ], - "@availity/link": [ - "packages/link" - ], - "@availity/list-group": [ - "packages/list-group" - ], - "@availity/list-group-item": [ - "packages/list-group-item" - ], - "@availity/mock": [ - "packages/mock" - ], - "@availity/page-header": [ - "packages/page-header" - ], - "@availity/pagination": [ - "packages/pagination/src/index.ts" - ], - "@availity/payer-logo": [ - "packages/payer-logo" - ], - "@availity/phone": [ - "packages/phone" - ], - "@availity/progress": [ - "packages/progress/src/index.ts" - ], - "@availity/reactstrap-validation-date": [ - "packages/reactstrap-validation-date" - ], - "@availity/reactstrap-validation-select": [ - "packages/reactstrap-validation-select" - ], - "@availity/select": [ - "packages/select/src/index.js" - ], - "@availity/spaces": [ - "packages/spaces" - ], - "@availity/step-wizard": [ - "packages/step-wizard" - ], - "@availity/table": [ - "packages/table/src/index.ts" - ], - "@availity/training-link": [ - "packages/training-link/src/index.ts" - ], - "@availity/typography": [ - "packages/typography/src/index.ts" - ], - "@availity/upload": [ - "packages/upload" - ], - "@availity/app-tiles": [ - "packages/app-tiles/src/index.ts" - ], - "@availity/tooltip": [ - "packages/tooltip/src/index.ts" - ], - "@availity/tree": [ - "packages/tree/src/index.ts" - ] + "@availity/analytics": ["./packages/analytics"], + "@availity/app-icon": ["./packages/app-icon/src/index.ts"], + "@availity/authorize": ["./packages/authorize/src/index.ts"], + "@availity/avatar": ["./packages/avatar"], + "@availity/badge": ["./packages/badge/src/index.ts"], + "@availity/block-ui": ["./packages/block-ui/src/index.ts"], + "@availity/breadcrumbs": ["./packages/breadcrumbs"], + "@availity/button": ["./packages/button/src/index.ts"], + "@availity/date": ["./packages/date/src/index.js"], + "@availity/favorites": ["./packages/favorites/src/index.ts"], + "@availity/feature": ["./packages/feature"], + "@availity/feedback": ["./packages/feedback"], + "@availity/form": ["./packages/form/src/index.js"], + "@availity/form-upload": ["./packages/form-upload"], + "@availity/help": ["./packages/help/src/index.ts"], + "@availity/hooks": ["./packages/hooks/src/index.ts"], + "@availity/icon": ["./packages/icon/src/index.ts"], + "@availity/json-viewer": ["./packages/json-viewer/src/index.ts"], + "@availity/link": ["./packages/link"], + "@availity/list-group": ["./packages/list-group"], + "@availity/list-group-item": ["./packages/list-group-item"], + "@availity/mock": ["./packages/mock"], + "@availity/page-header": ["./packages/page-header"], + "@availity/pagination": ["./packages/pagination/src/index.ts"], + "@availity/payer-logo": ["./packages/payer-logo"], + "@availity/phone": ["./packages/phone"], + "@availity/progress": ["./packages/progress/src/index.ts"], + "@availity/reactstrap-validation-date": ["./packages/reactstrap-validation-date"], + "@availity/reactstrap-validation-select": ["./packages/reactstrap-validation-select"], + "@availity/select": ["./packages/select/src/index.js"], + "@availity/spaces": ["./packages/spaces"], + "@availity/step-wizard": ["./packages/step-wizard"], + "@availity/table": ["./packages/table/src/index.ts"], + "@availity/training-link": ["./packages/training-link/src/index.ts"], + "@availity/typography": ["./packages/typography/src/index.ts"], + "@availity/upload": ["./packages/upload"], + "@availity/app-tiles": ["./packages/app-tiles/src/index.ts"], + "@availity/tooltip": ["./packages/tooltip/src/index.ts"], + "@availity/tree": ["./packages/tree/src/index.ts"] } }, - "exclude": [ - "**/node_modules/" - ] + "exclude": ["**/node_modules/"] } diff --git a/yarn.lock b/yarn.lock index 406c00143..8997db26d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -416,8 +416,12 @@ __metadata: "@types/react": "npm:^19.2.17" "@types/react-dom": "npm:^19.2.3" "@vitest/coverage-v8": "npm:^5.0.0" + "@vitest/eslint-plugin": "npm:^1.0.0" availity-uikit: "npm:^4.7.2" - eslint-config-availity: "npm:^14.0.0" + eslint: "npm:^9.0.0" + eslint-config-availity: "npm:^16.0.0" + eslint-node-test: "npm:^0.4.0" + eslint-plugin-jest: "npm:^29.0.0" eslint-plugin-storybook: "npm:9.1.20" husky: "npm:^9.1.7" is-ci: "npm:^3.0.1" @@ -431,7 +435,7 @@ __metadata: react-dom: "npm:^18.3.1" react-router-dom: "npm:^6.30.4" storybook: "npm:9.1.20" - typescript: "npm:5.9.3" + typescript: "npm:6.x" vite: "npm:^8.3.0" vitest: "npm:^5.0.0" languageName: unknown @@ -4645,7 +4649,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": +"@eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -4656,6 +4660,17 @@ __metadata: languageName: node linkType: hard +"@eslint-community/eslint-utils@npm:^4.8.0": + version: 4.10.1 + resolution: "@eslint-community/eslint-utils@npm:4.10.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10/61059b9f0192df5a86c441c03e0eedbda8c3810bb788775839afe4c5ec6bbdaa6433ac18001046b319390552435da3f6b8f5e18cca255993b3df37fe97a42b90 + languageName: node + linkType: hard + "@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" @@ -4732,10 +4747,27 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.39.4": - version: 9.39.4 - resolution: "@eslint/js@npm:9.39.4" - checksum: 10/0a7ab4c4108cf2cadf66849ebd20f5957cc53052b88d8807d0b54e489dbf6ffcaf741e144e7f9b187c395499ce2e6ddc565dbfa4f60c6df455cf2b30bcbdc5a3 +"@eslint/eslintrc@npm:^3.3.6": + version: 3.3.7 + resolution: "@eslint/eslintrc@npm:3.3.7" + dependencies: + ajv: "npm:^6.14.0" + debug: "npm:^4.3.2" + 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.3.2" + minimatch: "npm:^3.1.5" + strip-json-comments: "npm:^3.1.1" + checksum: 10/8d778a0f3d1dd3cde8333a5943086bc3497d1adfe804600827dfd76369b83543a9b8884850556be2dd2e5f11838a8c83a32beda43a79aa42f149c75a39de1dbe + languageName: node + linkType: hard + +"@eslint/js@npm:9.39.5": + version: 9.39.5 + resolution: "@eslint/js@npm:9.39.5" + checksum: 10/042d522f28da10ab205f368a94b620334418eb13a5226e50f7edd03dbe26809eb477d0b7a4dc3968b43a98f6ce594f6c03731214c3e0386fd5bcb74fdb9df64c languageName: node linkType: hard @@ -7428,6 +7460,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/project-service@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/project-service@npm:8.70.0" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.70.0" + "@typescript-eslint/types": "npm:^8.70.0" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10/b06286f1ec6fc0fde7382f14cf4645aa0d008dfc25f40a8ec58e644fd42058a91e1d9ce1e106fbe78f5c2a3cf6b75560a24d24901972a4d21cc604f13aa921ad + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.61.0, @typescript-eslint/scope-manager@npm:^8.58.0": version: 8.61.0 resolution: "@typescript-eslint/scope-manager@npm:8.61.0" @@ -7438,6 +7483,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/scope-manager@npm:8.70.0" + dependencies: + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/visitor-keys": "npm:8.70.0" + checksum: 10/7168d1ddf945ee47179420063bcc867f289926c7bea348bab4b9310b7c9b0f4b9031eb7653a820bb9fe41f668cc724c9886e19b7e39e2220ed0df168e8cf7607 + languageName: node + linkType: hard + "@typescript-eslint/tsconfig-utils@npm:8.61.0, @typescript-eslint/tsconfig-utils@npm:^8.61.0": version: 8.61.0 resolution: "@typescript-eslint/tsconfig-utils@npm:8.61.0" @@ -7447,6 +7502,15 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/tsconfig-utils@npm:8.70.0, @typescript-eslint/tsconfig-utils@npm:^8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.70.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10/c4ad046c1082ebca815d52fd9ababe122ba8c59012ae69e790185ea0e2f898fe5abc2b5256ff88ee167d19844a5f6152dc63342e0a866cfe22a11c2887c5d8da + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:8.61.0": version: 8.61.0 resolution: "@typescript-eslint/type-utils@npm:8.61.0" @@ -7470,6 +7534,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.70.0, @typescript-eslint/types@npm:^8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/types@npm:8.70.0" + checksum: 10/a264fbebf12d3ee5363688f10713890f67264277749c7f7e2b7fa8636d8836a19a9532e7228bd3155b12f455121b22998282acb17e76561e81902891f7205b44 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.61.0": version: 8.61.0 resolution: "@typescript-eslint/typescript-estree@npm:8.61.0" @@ -7489,7 +7560,26 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.61.0, @typescript-eslint/utils@npm:^8.0.0, @typescript-eslint/utils@npm:^8.58.0, @typescript-eslint/utils@npm:^8.8.1": +"@typescript-eslint/typescript-estree@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.70.0" + dependencies: + "@typescript-eslint/project-service": "npm:8.70.0" + "@typescript-eslint/tsconfig-utils": "npm:8.70.0" + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/visitor-keys": "npm:8.70.0" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10/c588aac52c24883befe0c07312df808f27fb00676250e20036f43760cbe831e482ec92232703d9dea95c583687cf374a23e2c49cf8afddce370929eb128270f4 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.61.0, @typescript-eslint/utils@npm:^8.58.0, @typescript-eslint/utils@npm:^8.8.1": version: 8.61.0 resolution: "@typescript-eslint/utils@npm:8.61.0" dependencies: @@ -7504,6 +7594,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^8.0.0": + version: 8.70.0 + resolution: "@typescript-eslint/utils@npm:8.70.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.70.0" + "@typescript-eslint/types": "npm:8.70.0" + "@typescript-eslint/typescript-estree": "npm:8.70.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10/518521b1f7e8bb7a5bd7bc2db39e85b3bd1d710d0cf92da9a7d13a3394e9fb99eda76b90b7ecdc334afc60cb4415b8e079439a3cb9b29b6aea7f8ff1f499590b + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.61.0": version: 8.61.0 resolution: "@typescript-eslint/visitor-keys@npm:8.61.0" @@ -7514,6 +7619,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.70.0": + version: 8.70.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.70.0" + dependencies: + "@typescript-eslint/types": "npm:8.70.0" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10/3b6724e29e68f4468da18aaf7300dd178d5aa0465e6f3a203f91920d3bda6d0cdb97615ada9d1b04a63ccb485301cc4cd701e78931061ec2ec90a3f008cba3c7 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -7701,9 +7816,9 @@ __metadata: languageName: node linkType: hard -"@vitest/eslint-plugin@npm:^1.6.19": - version: 1.6.20 - resolution: "@vitest/eslint-plugin@npm:1.6.20" +"@vitest/eslint-plugin@npm:^1.0.0": + version: 1.6.27 + resolution: "@vitest/eslint-plugin@npm:1.6.27" dependencies: "@typescript-eslint/scope-manager": "npm:^8.58.0" "@typescript-eslint/utils": "npm:^8.58.0" @@ -7719,7 +7834,7 @@ __metadata: optional: true vitest: optional: true - checksum: 10/a1e9b613d29d3efe1c5dd35d6481a9efc0d39c34d423dcf24a4b4d4f34a43c69cb37e8228fb8a2440007753366ceab9f444cb848396f3d6a3a9ba04b1aa7bc37 + checksum: 10/4f5795107fa79bf2d95d7b2600e1508946235c6e0779dc0ff8a650f746d707b4320db8c6ded382986947b4cd28df6514b05f4202126df149e2980eb3e04fc35b languageName: node linkType: hard @@ -11793,20 +11908,17 @@ __metadata: languageName: node linkType: hard -"eslint-config-availity@npm:^14.0.0": - version: 14.0.0 - resolution: "eslint-config-availity@npm:14.0.0" +"eslint-config-availity@npm:^16.0.0": + version: 16.0.1 + resolution: "eslint-config-availity@npm:16.0.1" dependencies: "@eslint/compat": "npm:^2.1.0" "@eslint/eslintrc": "npm:^3.3.5" - "@vitest/eslint-plugin": "npm:^1.6.19" - eslint: "npm:^9.39.4" eslint-config-airbnb: "npm:^19.0.4" eslint-config-airbnb-base: "npm:^15.0.0" eslint-config-prettier: "npm:^10.1.8" eslint-import-resolver-typescript: "npm:^4.4.5" eslint-plugin-import: "npm:^2.32.0" - eslint-plugin-jest: "npm:^29.15.2" eslint-plugin-jsx-a11y: "npm:^6.10.2" eslint-plugin-promise: "npm:^7.3.0" eslint-plugin-react: "npm:^7.37.5" @@ -11815,11 +11927,21 @@ __metadata: globals: "npm:^17.6.0" typescript-eslint: "npm:^8.60.1" peerDependencies: - typescript: ^5.2.2 + "@vitest/eslint-plugin": ^1.0.0 + eslint: ^9.0.0 || ^10.0.0 + eslint-node-test: ^0.4.0 + eslint-plugin-jest: ^29.0.0 + typescript: ">=5.2.2 <6.1.0" peerDependenciesMeta: + "@vitest/eslint-plugin": + optional: true + eslint-node-test: + optional: true + eslint-plugin-jest: + optional: true typescript: optional: true - checksum: 10/8578d3eafcb4d1fc1287f64845f3220ae17c3ff3a379673675d909fd0cc3e4e2a747cb729bffc759b231ebf4c512a10f1e1fcf01027e3a7b011329493d8ffa83 + checksum: 10/1c7b1c39aaffe5736fcd48eb85dc489a11b3360c8ff69e79a2a4d9bfcf5a5c832e4ff821c5f2ee748c6d851bd501afac0afcbe37adcab19f2f841c424073a411 languageName: node linkType: hard @@ -11896,6 +12018,18 @@ __metadata: languageName: node linkType: hard +"eslint-node-test@npm:^0.4.0": + version: 0.4.0 + resolution: "eslint-node-test@npm:0.4.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + quote-js-string: "npm:^0.1.0" + peerDependencies: + eslint: ">=10.4" + checksum: 10/13be91fd7faa6840734dcb2723f40f01508ac8a658d8bbadeef4a09b91688f63c38822050d08d706dfc455f39efc678846e58689d2edb39d053df7a72b627731 + languageName: node + linkType: hard + "eslint-plugin-import@npm:^2.32.0": version: 2.32.0 resolution: "eslint-plugin-import@npm:2.32.0" @@ -11925,16 +12059,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^29.15.2": - version: 29.15.2 - resolution: "eslint-plugin-jest@npm:29.15.2" +"eslint-plugin-jest@npm:^29.0.0": + version: 29.16.6 + resolution: "eslint-plugin-jest@npm:29.16.6" dependencies: "@typescript-eslint/utils": "npm:^8.0.0" peerDependencies: "@typescript-eslint/eslint-plugin": ^8.0.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 jest: "*" - typescript: ">=4.8.4 <7.0.0" + typescript: ">=4.8.4 <8.0.0" peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true @@ -11942,7 +12076,7 @@ __metadata: optional: true typescript: optional: true - checksum: 10/c7bc4dc705e5613e51a1d19bb924a439db9897c67e694f091e29dbacaa218b758040aacbb8d3f9136f2af0171ad69c1c49736b5e3f30098bdf44d4c1e93c6381 + checksum: 10/080eb1b22e583c06ac881963f7cf8aa52448ef015d743fd7fe519853ff7a6ebac05d55001f64e4d7298af006d5d7e636186e83a6850695b3f901d7e62acfe77b languageName: node linkType: hard @@ -12103,17 +12237,17 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.39.4": - version: 9.39.4 - resolution: "eslint@npm:9.39.4" +"eslint@npm:^9.0.0": + version: 9.39.5 + resolution: "eslint@npm:9.39.5" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.1" "@eslint/config-array": "npm:^0.21.2" "@eslint/config-helpers": "npm:^0.4.2" "@eslint/core": "npm:^0.17.0" - "@eslint/eslintrc": "npm:^3.3.5" - "@eslint/js": "npm:9.39.4" + "@eslint/eslintrc": "npm:^3.3.6" + "@eslint/js": "npm:9.39.5" "@eslint/plugin-kit": "npm:^0.4.1" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" @@ -12148,7 +12282,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/de95093d710e62e8c7e753220d985587c40f4a05247ed4393ffb6e6cb43a60e825a47fc5b4263151bb2fc5871a206a31d563ccbabdceee1711072ae12db90adf + checksum: 10/081b27602a923276e4d591a0ef7972ff6f12cd189a93a0dadd5b8eb0338f2984882dc92d545cdf3527cb9c78230183394d411cf68098ee9dbbcb80d4f9fe115c languageName: node linkType: hard @@ -12174,11 +12308,11 @@ __metadata: linkType: hard "esquery@npm:^1.5.0": - version: 1.6.0 - resolution: "esquery@npm:1.6.0" + version: 1.7.0 + resolution: "esquery@npm:1.7.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a + checksum: 10/4afaf3089367e1f5885caa116ef386dffd8bfd64da21fd3d0e56e938d2667cfb2e5400ab4a825aa70e799bb3741e5b5d63c0b94d86e2d4cf3095c9e64b2f5a15 languageName: node linkType: hard @@ -12737,9 +12871,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10/7b8376061d5be6e0d3658bbab8bde587647f68797cf6bfeae9dea0e5137d9f27547ab92aaff3512dd9d1299086a6d61be98e9d48a56d17531b634f77faadbc49 + version: 3.4.4 + resolution: "flatted@npm:3.4.4" + checksum: 10/5a6682ab87ed15e125419c61352c4bef26f310adceece03eae5f22c119d64ed47bfc0ee1948a77d0122559eaa86395ea06ef45b59bfe3db4fb13fb4cdff876de languageName: node linkType: hard @@ -14988,6 +15122,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.3.2": + version: 4.3.2 + resolution: "js-yaml@npm:4.3.2" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10/05c44b9c73e4901d92703b155e76518df64bf01ac62e4c036b47de4b391e19b72e32656e8954d51b436307f08cc9d0c0d4ec617d061cf2f65fffee9f3114bee7 + languageName: node + linkType: hard + "jsdom@npm:^30.0.1": version: 30.0.1 resolution: "jsdom@npm:30.0.1" @@ -19257,6 +19402,13 @@ __metadata: languageName: node linkType: hard +"quote-js-string@npm:^0.1.0": + version: 0.1.0 + resolution: "quote-js-string@npm:0.1.0" + checksum: 10/42989e9031948a95f825ce369784e603fdcd8639cdcca9de3e3d1ba77b5111aa45362b3e2f66f70e5c06e2230af10c48818e27dd6d22a9732812cc5d4b10d404 + languageName: node + linkType: hard + "raf@npm:^3.4.1": version: 3.4.1 resolution: "raf@npm:3.4.1" @@ -22531,7 +22683,17 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.9.3, typescript@npm:~5.9.2": +"typescript@npm:6.x": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/0ef2357a4cffd916b52b683a021cdab0f81eea4e9aa35f2d254581c9a5106da02224e3392e1b0ed42b7a48f80c966e5f52b8e1a27941fa0523c1705a9c2e0330 + languageName: node + linkType: hard + +"typescript@npm:~5.9.2": version: 5.9.3 resolution: "typescript@npm:5.9.3" bin: @@ -22541,7 +22703,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.9.3#optional!builtin, typescript@patch:typescript@npm%3A~5.9.2#optional!builtin": +"typescript@patch:typescript@npm%3A6.x#optional!builtin": + version: 6.0.3 + resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/22b67a18dafedf9b1468b64ca20d9aa02ea61d449b65413d8aa6552aeb63f52ef369e86beb25b6b4c91a803d9726ee5c196f391a9b64201263263410a4223ee6 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.9.2#optional!builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: