Skip to content

Commit 4095003

Browse files
committed
enhance: Use React 19 rc1 (#3279)
1 parent 99cd041 commit 4095003

File tree

37 files changed

+3038
-3375
lines changed

37 files changed

+3038
-3375
lines changed

.changeset/great-bats-warn.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@data-client/use-enhanced-reducer': patch
3+
'@data-client/react': patch
4+
'@data-client/test': patch
5+
'@data-client/ssr': patch
6+
---
7+
8+
Improve compatibility with React 19

.circleci/config.yml

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ jobs:
1818
npm pkg set 'workspaces[]'='examples/*'
1919
- restore_cache:
2020
keys:
21-
- v11-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }}
21+
- v12-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }}
2222
# fallback to using the latest cache if no exact match is found
23-
- v11-dependencies-
23+
- v12-dependencies-
2424
- run:
2525
name: yarn install
2626
command: |
@@ -32,13 +32,13 @@ jobs:
3232
paths:
3333
- .yarn/cache
3434
- .yarn/install-state.gz
35-
key: v11-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }}
35+
key: v12-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "examples/github-app/package.json" }}
3636
- run: yarn run ci:build:types
3737
- run: yarn run ci:build
3838
- persist_to_workspace:
3939
root: ~/
4040
paths:
41-
# excplitily list so we can ignore some directories that are not needed
41+
# explicitly list so we can ignore some directories that are not needed
4242
- project/packages
4343
- project/examples
4444
- project/node_modules
@@ -85,26 +85,30 @@ jobs:
8585
at: ~/
8686
- run:
8787
command: |
88-
if [ "<< parameters.react-version >>" != "^18" ]; then
88+
if [ "<< parameters.react-version >>" == "^17.0.0" ]; then
8989
YARN_ENABLE_GLOBAL_CACHE=false yarn remove @react-navigation/native @react-navigation/native-stack react-native-screens
9090
YARN_ENABLE_GLOBAL_CACHE=false yarn workspace @data-client/react remove @react-navigation/native
9191
YARN_ENABLE_GLOBAL_CACHE=false yarn add --dev react@<< parameters.react-version >> react-dom@<< parameters.react-version >> react-test-renderer@<< parameters.react-version >> @testing-library/react@^12.0.0 @testing-library/react-hooks @react-navigation/native@^6.0.0 @react-navigation/native-stack@^6.0.0 react-native-screens@^3.0.0
9292
YARN_ENABLE_GLOBAL_CACHE=false yarn workspace @data-client/react add @react-navigation/native@^6.0.0
9393
YARN_ENABLE_GLOBAL_CACHE=false yarn workspace @data-client/test add @testing-library/react@^12.0.0
94+
elif [ "<< parameters.react-version >>" == "^18" ]; then
95+
YARN_ENABLE_GLOBAL_CACHE=false yarn add --dev react@<< parameters.react-version >> react-dom@<< parameters.react-version >> react-test-renderer@<< parameters.react-version >>
9496
fi
9597
- run:
9698
command: |
9799
if [ "<< parameters.react-version >>" == "^17.0.0" ]; then
100+
yarn test:ci --maxWorkers=3 --selectProjects ReactDOM ReactNative --testPathPattern packages/react packages/use-enhanced-reducer packages/img
101+
elif [ "<< parameters.react-version >>" == "^18" ]; then
98102
curl -Os https://uploader.codecov.io/latest/linux/codecov;
99103
chmod +x codecov;
100-
yarn run test:coverage --ci --maxWorkers=4 --coverageReporters=text-lcov > ./lcov.info;
104+
yarn run test:coverage --ci --maxWorkers=3 --coverageReporters=text-lcov > ./lcov.info;
101105
if [ "$CODECOV_TOKEN" != "" ]; then
102106
./codecov -t ${CODECOV_TOKEN} < ./lcov.info || true;
103107
else
104108
./codecov < ./lcov.info || true;
105109
fi
106110
else
107-
yarn test:ci --maxWorkers=3 --selectProjects ReactDOM ReactNative
111+
yarn test:ci --maxWorkers=4 --selectProjects Node ReactDOM --testPathPattern packages/react packages/use-enhanced-reducer packages/img
108112
fi
109113
110114
node_matrix:
@@ -146,21 +150,25 @@ jobs:
146150
- run:
147151
command: |
148152
if [ "<< parameters.typescript-version >>" != "latest" ]; then
149-
YARN_ENABLE_GLOBAL_CACHE=false yarn add --dev typescript@<< parameters.typescript-version >>
153+
YARN_ENABLE_GLOBAL_CACHE=false yarn add --dev typescript@~<< parameters.typescript-version >>
150154
fi
151-
if [ "<< parameters.typescript-version >>" == "~4.0" ]; then
152-
YARN_ENABLE_GLOBAL_CACHE=false yarn workspaces foreach -Rt --from github-app --from todo-app add -DE @types/[email protected]
155+
if [[ "<< parameters.typescript-version >>" == "4.0" || \
156+
"<< parameters.typescript-version >>" == "4.1" || \
157+
"<< parameters.typescript-version >>" == "4.3" ]]; then
158+
sed -i '/"@types\/react":/d' package.json
159+
sed -i '/"@types\/react-dom":/d' package.json
160+
YARN_ENABLE_GLOBAL_CACHE=false yarn workspaces foreach -Rt --from github-app --from todo-app add -DE @types/react@ts<< parameters.typescript-version >>
153161
fi
154162
- run:
155163
name: typecheck
156164
command: |
157-
if [ "<< parameters.typescript-version >>" == "latest" ] || [ "<< parameters.typescript-version >>" == "~5.3" ] || [ "<< parameters.typescript-version >>" == "~4.8" ]; then
165+
if [ "<< parameters.typescript-version >>" == "latest" ] || [ "<< parameters.typescript-version >>" == "5.3" ] || [ "<< parameters.typescript-version >>" == "4.8" ]; then
158166
yarn run tsc --project examples/todo-app/tsconfig.json
159167
yarn run tsc --project examples/github-app/tsconfig.json
160168
fi
161169
yarn run tsc --project examples/todo-app/tsconfig.typetest.json
162170
yarn run tsc --project examples/github-app/tsconfig.typetest.json
163-
if [ "<< parameters.typescript-version >>" != "~4.0" ]; then
171+
if [ "<< parameters.typescript-version >>" != "4.0" ]; then
164172
yarn run tsc --project examples/todo-app/tsconfig.typetest41.json
165173
fi
166174
@@ -208,7 +216,7 @@ workflows:
208216
- unit_tests:
209217
matrix:
210218
parameters:
211-
react-version: ["^17.0.0", "^18"]
219+
react-version: ["^17.0.0", "^18", "latest"]
212220
requires:
213221
- setup
214222
- node_matrix:
@@ -237,7 +245,7 @@ workflows:
237245
# 4.1 is min version for rest package working well
238246
# 4.3
239247
# 4.7 (but its broken so we do 4.8) lets you apply a generic type to a function type to see its return value
240-
typescript-version: ["~4.0", "~4.1", "~4.3", "~4.8", "~5.3", "latest"]
248+
typescript-version: ["4.0", "4.1", "4.3", "4.8", "5.3", "latest"]
241249
requires:
242250
- setup
243251
- esmodule-loosenulltypes:

examples/benchmark/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222
"@data-client/normalizr": "workspace:^",
2323
"benchmark": "^2.1.4",
2424
"normalizr": "^3.6.2",
25-
"react": "^18.2.0"
25+
"react": "^19.0.0-rc.1"
2626
},
2727
"devDependencies": {
2828
"@anansi/webpack-config": "^20.0.0",
2929
"@babel/core": "7.26.0",
3030
"@babel/node": "7.26.0",
3131
"@types/babel__core": "^7",
3232
"@types/benchmark": "2.1.5",
33-
"@types/react": "18.3.12",
33+
"@types/react": "npm:[email protected]",
3434
"webpack": "^5.76.2",
3535
"webpack-cli": "^5.1.4"
3636
}

examples/coin-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@
4747
"@data-client/rest": "^0.14.0",
4848
"d3": "^7.9.0",
4949
"history": "*",
50-
"react": "^18.3.0",
51-
"react-dom": "^18.3.0"
50+
"react": "^19.0.0-rc.1",
51+
"react-dom": "^19.0.0-rc.1"
5252
},
5353
"main": "src/index.ts",
5454
"types": "src/index.ts",

examples/github-app/.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
legacy-peer-deps=true

0 commit comments

Comments
 (0)