diff --git a/eslint-ci-rules.json b/eslint-ci-rules.json index 7e61c781..4bd08112 100644 --- a/eslint-ci-rules.json +++ b/eslint-ci-rules.json @@ -5,7 +5,6 @@ "@typescript-eslint/no-unsafe-type-assertion", "@stylistic/space-before-function-paren", "@typescript-eslint/max-params", - "complexity", "@typescript-eslint/only-throw-error", "@typescript-eslint/prefer-destructuring" -] \ No newline at end of file +] diff --git a/package.json b/package.json index 14dc1478..f8679516 100644 --- a/package.json +++ b/package.json @@ -57,16 +57,16 @@ "@txo/tsconfig-cjs": "^2.0.0", "@types/jest": "^29.5.14", "@types/lodash.get": "^4.4.9", - "@types/react": "^18.3.18", - "@types/react-dom": "^18.3.5", + "@types/react": "^19.1.0", + "@types/react-dom": "^19.1.1", "concurrently": "^9.1.2", "eslint-config-txo-package-react": "^1.0.26", "husky": "^9.1.7", "immutability-helper": "^3.1.1", "jest": "^29.7.0", "lint-staged": "^15.4.1", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.1.0", + "react-dom": "^19.1.0", "react-redux": "^9.2.0", "redux-saga": "^1.3.0", "rimraf": "^6.0.1", @@ -74,6 +74,6 @@ "typescript": "^5.7.3" }, "resolutions": { - "@types/react": "^18.3.18" + "@types/react": "^19.1.0" } } diff --git a/src/Hooks/Service.ts b/src/Hooks/Service.ts index 49c1a940..fd932630 100644 --- a/src/Hooks/Service.ts +++ b/src/Hooks/Service.ts @@ -43,6 +43,7 @@ type ServiceDeclaration< context?: ValueOrValueMapper, validationAttributes?: ValueOrValueMapper, selector: (state: REDUX_STATE) => ContextServiceState, + // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- TODO: figure out if we can change to `object` redux: ContextServiceRedux | {}, DATA>, } @@ -89,6 +90,7 @@ export const useService = < attributes: ATTRIBUTES, callAttributes?: CALL_ATTRIBUTES, ): Promise> => ( + // eslint-disable-next-line promise/avoid-new -- we need to create a new promise and return it await new Promise((resolve, reject) => { const serviceCallResolve = ( serviceCallResult: PromiseLikeServiceCallResult, diff --git a/tsconfig-base.json b/tsconfig-base.json index 5d9eb04a..1d7f3026 100644 --- a/tsconfig-base.json +++ b/tsconfig-base.json @@ -1,6 +1,7 @@ { "compilerOptions": { - "jsx": "react" + "jsx": "react", + "lib": [ "DOM" ] }, "extends": "@txo/tsconfig-cjs" } diff --git a/yarn.lock b/yarn.lock index 8239db8f..e03cc1c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1609,22 +1609,16 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz#291c243e4b94dbfbc0c0ee26b7666f1d5c030e2c" integrity sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg== -"@types/prop-types@*": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-dom@^18.3.5": - version "18.3.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716" - integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q== - -"@types/react@^18.3.18": - version "18.3.18" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.18.tgz#9b382c4cd32e13e463f97df07c2ee3bbcd26904b" - integrity sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ== - dependencies: - "@types/prop-types" "*" +"@types/react-dom@^19.1.1": + version "19.1.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.1.tgz#a8d097b28247d1129cf56e74d1622c98978c04ed" + integrity sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w== + +"@types/react@^19.1.0": + version "19.1.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.0.tgz#73c43ad9bc43496ca8184332b111e2aef63fc9da" + integrity sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w== + dependencies: csstype "^3.0.2" "@types/stack-utils@^2.0.0": @@ -5600,7 +5594,7 @@ longest@^2.0.1: resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.1.tgz#781e183296aa94f6d4d916dc335d0d17aefa23f8" integrity sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -6877,13 +6871,12 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-dom@^18.3.1: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== +react-dom@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623" + integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" + scheduler "^0.26.0" react-is@^16.13.1: version "16.13.1" @@ -6903,12 +6896,10 @@ react-redux@^9.2.0: "@types/use-sync-external-store" "^0.0.6" use-sync-external-store "^1.4.0" -react@^18.3.1: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" +react@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" + integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== read-cmd-shim@^4.0.0: version "4.0.0" @@ -7238,12 +7229,10 @@ safe-regex-test@^1.0.3: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" +scheduler@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" + integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== semantic-release-slack-bot@^4.0.2: version "4.0.2"