Skip to content

Commit 7a266a2

Browse files
committed
Update dev dependency of React to 19, fix type issues
1 parent 83e7076 commit 7a266a2

File tree

4 files changed

+37
-37
lines changed

4 files changed

+37
-37
lines changed

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@
9595
"@types/jest": "^28.1.1",
9696
"@types/karma": "^6.3.1",
9797
"@types/karma-jasmine": "^4.0.1",
98-
"@types/react": "^18.0.8",
99-
"@types/react-dom": "^18.0.3",
98+
"@types/react": "^19.0.0",
99+
"@types/react-dom": "^19.0.0",
100100
"@typescript-eslint/eslint-plugin": "^5.27.1",
101101
"@typescript-eslint/parser": "^5.27.1",
102102
"babel-loader": "^8.1.0",
@@ -117,9 +117,9 @@
117117
"lint-staged": "^13.0.1",
118118
"npm-run-all": "^4.1.5",
119119
"prettier": "^2.0.4",
120-
"react": "^18.0.0",
120+
"react": "^19.0.0",
121121
"react-app-polyfill": "^3.0.0",
122-
"react-dom": "^18.0.0",
122+
"react-dom": "^19.0.0",
123123
"rollup": "^2.6.1",
124124
"semantic-release": "^19.0.3",
125125
"size-limit": "^5.0.1",

src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export type RoundingFunction = (n: number) => number;
3838

3939
function useResizeObserver<T extends Element>(
4040
opts: {
41-
ref?: RefObject<T> | T | null | undefined;
41+
ref?: RefObject<T | null | undefined> | T | null | undefined;
4242
onResize?: ResizeHandler;
4343
box?: ResizeObserverBoxOptions;
4444
round?: RoundingFunction;
@@ -57,7 +57,7 @@ function useResizeObserver<T extends Element>(
5757
box?: ResizeObserverBoxOptions;
5858
round?: RoundingFunction;
5959
instance: ResizeObserver;
60-
}>();
60+
}>(undefined);
6161

6262
const [size, setSize] = useState<{
6363
width?: number;

src/utils/useResolvedElement.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ type SubscriberResponse = SubscriberCleanupFunction | void;
77
// refs to such extent, but then composing hooks and components could not opt out of unnecessary renders.
88
export default function useResolvedElement<T extends Element>(
99
subscriber: (element: T) => SubscriberResponse,
10-
refOrElement?: T | RefObject<T> | null
10+
refOrElement?: T | RefObject<T | null | undefined> | null
1111
): RefCallback<T> {
1212
const lastReportRef = useRef<{
13-
element: T | null;
13+
element: T | null | undefined;
1414
subscriber: typeof subscriber;
1515
cleanup?: SubscriberResponse;
1616
} | null>(null);
@@ -28,7 +28,7 @@ export default function useResolvedElement<T extends Element>(
2828
const cbElement = cbElementRef.current;
2929
const refOrElement = refOrElementRef.current;
3030
// Ugly ternary. But smaller than an if-else block.
31-
const element: T | null = cbElement
31+
const element: T | null | undefined = cbElement
3232
? cbElement
3333
: refOrElement
3434
? refOrElement instanceof Element

yarn.lock

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1996,14 +1996,19 @@
19961996
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
19971997
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
19981998

1999-
"@types/react-dom@^18.0.0", "@types/react-dom@^18.0.3":
1999+
"@types/react-dom@^18.0.0":
20002000
version "18.0.5"
20012001
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.5.tgz#330b2d472c22f796e5531446939eacef8378444a"
20022002
integrity sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==
20032003
dependencies:
20042004
"@types/react" "*"
20052005

2006-
"@types/react@*", "@types/react@^18.0.8":
2006+
"@types/react-dom@^19.0.0":
2007+
version "19.0.3"
2008+
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.0.3.tgz#0804dfd279a165d5a0ad8b53a5b9e65f338050a4"
2009+
integrity sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==
2010+
2011+
"@types/react@*":
20072012
version "18.0.12"
20082013
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.12.tgz#cdaa209d0a542b3fcf69cf31a03976ec4cdd8840"
20092014
integrity sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg==
@@ -2012,6 +2017,13 @@
20122017
"@types/scheduler" "*"
20132018
csstype "^3.0.2"
20142019

2020+
"@types/react@^19.0.0":
2021+
version "19.0.8"
2022+
resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.8.tgz#7098e6159f2a61e4f4cef2c1223c044a9bec590e"
2023+
integrity sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==
2024+
dependencies:
2025+
csstype "^3.0.2"
2026+
20152027
20162028
version "1.17.1"
20172029
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@@ -6276,7 +6288,7 @@ jest@^28.1.1:
62766288
import-local "^3.0.2"
62776289
jest-cli "^28.1.1"
62786290

6279-
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
6291+
js-tokens@^4.0.0:
62806292
version "4.0.0"
62816293
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
62826294
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
@@ -6833,13 +6845,6 @@ log4js@^6.4.1:
68336845
rfdc "^1.3.0"
68346846
streamroller "^3.1.1"
68356847

6836-
loose-envify@^1.1.0:
6837-
version "1.4.0"
6838-
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
6839-
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
6840-
dependencies:
6841-
js-tokens "^3.0.0 || ^4.0.0"
6842-
68436848
lru-cache@^5.1.1:
68446849
version "5.1.1"
68456850
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -8713,13 +8718,12 @@ react-app-polyfill@^3.0.0:
87138718
regenerator-runtime "^0.13.9"
87148719
whatwg-fetch "^3.6.2"
87158720

8716-
react-dom@^18.0.0:
8717-
version "18.1.0"
8718-
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.1.0.tgz#7f6dd84b706408adde05e1df575b3a024d7e8a2f"
8719-
integrity sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==
8721+
react-dom@^19.0.0:
8722+
version "19.0.0"
8723+
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57"
8724+
integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==
87208725
dependencies:
8721-
loose-envify "^1.1.0"
8722-
scheduler "^0.22.0"
8726+
scheduler "^0.25.0"
87238727

87248728
react-is@^17.0.1:
87258729
version "17.0.2"
@@ -8731,12 +8735,10 @@ react-is@^18.0.0:
87318735
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67"
87328736
integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==
87338737

8734-
react@^18.0.0:
8735-
version "18.1.0"
8736-
resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890"
8737-
integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==
8738-
dependencies:
8739-
loose-envify "^1.1.0"
8738+
react@^19.0.0:
8739+
version "19.0.0"
8740+
resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd"
8741+
integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==
87408742

87418743
read-cmd-shim@^3.0.0:
87428744
version "3.0.0"
@@ -9116,12 +9118,10 @@ saxes@^5.0.1:
91169118
dependencies:
91179119
xmlchars "^2.2.0"
91189120

9119-
scheduler@^0.22.0:
9120-
version "0.22.0"
9121-
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8"
9122-
integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==
9123-
dependencies:
9124-
loose-envify "^1.1.0"
9121+
scheduler@^0.25.0:
9122+
version "0.25.0"
9123+
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
9124+
integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==
91259125

91269126
schema-utils@^1.0.0:
91279127
version "1.0.0"

0 commit comments

Comments
 (0)