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 :
0 commit comments