Skip to content

Commit 90cd75c

Browse files
committed
breaking: upgrade rescript v11 and react v18
1 parent fa82583 commit 90cd75c

File tree

8 files changed

+70
-353
lines changed

8 files changed

+70
-353
lines changed

package.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@
3737
"workspaces": [
3838
"packages/reform",
3939
"packages/website",
40-
"packages/reschema",
41-
"packages/demo"
40+
"packages/reschema"
4241
],
4342
"husky": {
4443
"hooks": {
@@ -60,6 +59,6 @@
6059
},
6160
"dependencies": {
6261
"@rolandpeelen/rewatch": "0.0.12-0c3740d.0",
63-
"rescript": "^10.1.4"
62+
"rescript": "^11.0.0"
6463
}
6564
}

packages/demo/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
"private": true,
55
"dependencies": {
66
"@emotion/css": "11.7.1",
7-
"@rescript/react": "0.10.3",
7+
"@rescript/react": "^0.12.0",
88
"@rescriptbr/ancestor": "0.5.0",
99
"@rescriptbr/reform": "12.0.1",
1010
"@vitejs/plugin-react": "1.0.0",
1111
"lenses-ppx": "6.1.10",
12-
"react": "17.0.2",
13-
"react-dom": "17.0.2",
12+
"react": "^18.0.0",
13+
"react-dom": "^18.0.0",
1414
"@rescriptbr/reschema": "3.0.1",
15-
"rescript": "9.1.1",
15+
"rescript": "^11.0.0",
1616
"vite": "2.6.4"
1717
},
1818
"scripts": {

packages/reform/package.json

+6-5
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
"author": "Gabriel Rubens <fakenickels.dev>",
2121
"license": "MIT",
2222
"peerDependencies": {
23-
"@rescript/react": "^0.10.3",
24-
"rescript": "^10.1.4"
23+
"@rescript/react": "^0.12.0",
24+
"rescript": "^11.0.0"
2525
},
2626
"devDependencies": {
27-
"@rescript/react": "^0.10.1",
28-
"rescript": "^10.1.4"
27+
"@rescript/react": "^0.12.0",
28+
"rescript": "^11.0.0"
2929
},
3030
"scripts": {
3131
"start": "yarn res:watch",
@@ -36,6 +36,7 @@
3636
},
3737
"dependencies": {
3838
"@rescriptbr/reschema": "^3.0.3",
39-
"rescript": "^10.1.4"
39+
"rescript": "^11.0.0",
40+
"rescript-react-update": "5.0.2"
4041
}
4142
}

packages/reform/src/ReForm.res

+17-24
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ module Make = (Config: Config) => {
132132
validateField,
133133
state,
134134
}) => {
135-
handleChange: handleChange(field),
135+
handleChange: value => handleChange(field, value),
136136
error: getFieldError(Field(field)),
137137
state: getFieldState(Field(field)),
138138
validate: () => validateField(Field(field)),
@@ -159,17 +159,15 @@ module Make = (Config: Config) => {
159159
) => {
160160
let fieldInterface = useField(field)
161161

162-
React.useMemo3(
163-
() =>
164-
fieldInterface
165-
->Belt.Option.map(render)
166-
->Belt.Option.getWithDefault(renderOnMissingContext),
167-
(
168-
fieldInterface->Belt.Option.map(({error}) => error),
169-
fieldInterface->Belt.Option.map(({value}) => value),
170-
fieldInterface->Belt.Option.map(({state}) => state),
171-
),
172-
)
162+
React.useMemo(() =>
163+
fieldInterface
164+
->Belt.Option.map(render)
165+
->Belt.Option.getWithDefault(renderOnMissingContext)
166+
, (
167+
fieldInterface->Belt.Option.map(({error}) => error),
168+
fieldInterface->Belt.Option.map(({value}) => value),
169+
fieldInterface->Belt.Option.map(({state}) => state),
170+
))
173171
}
174172
}
175173

@@ -183,12 +181,7 @@ module Make = (Config: Config) => {
183181
(),
184182
) => {
185183
let (state, send) = ReactUpdate.useReducer(
186-
{
187-
fieldsState: getInitialFieldsState(schema),
188-
values: initialState,
189-
formState: Pristine,
190-
},
191-
(action, state) =>
184+
(state: state, action) =>
192185
switch action {
193186
| Submit =>
194187
UpdateWithSideEffects(
@@ -353,6 +346,11 @@ module Make = (Config: Config) => {
353346
Update({...state, values: Config.set(state.values, field, value)})
354347
| RaiseSubmitFailed(err) => Update({...state, formState: SubmitFailed(err)})
355348
},
349+
{
350+
fieldsState: getInitialFieldsState(schema),
351+
values: initialState,
352+
formState: Pristine,
353+
},
356354
)
357355

358356
let getFieldState = field =>
@@ -365,12 +363,7 @@ module Make = (Config: Config) => {
365363
let getFieldError = field =>
366364
switch getFieldState(field) {
367365
| Error(error) => Some(error)
368-
| NestedErrors(_errors) =>
369-
Js.log2(
370-
"The following field has nested errors, access these with `getNestedFieldError` instead of `getFieldError`",
371-
field,
372-
)
373-
None
366+
| NestedErrors(_errors) => None
374367
| Pristine
375368
| Valid =>
376369
None

packages/reschema/demo/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"version": "0.1.0",
44
"private": true,
55
"dependencies": {
6-
"@rescript/react": "0.10.3",
6+
"@rescript/react": "^0.12.0",
77
"@rescriptbr/reform": "12.0.0-0",
88
"lenses-ppx": "6.1.10",
9-
"rescript": "9.1.4"
9+
"rescript": "^11.0.0"
1010
},
1111
"scripts": {
1212
"rescript:start": "npx rescript build -w",

packages/reschema/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
"jest": "28.1.3"
2020
},
2121
"dependencies": {
22-
"rescript": "^9.0.2"
22+
"rescript": "^11.0.0"
2323
}
2424
}

packages/website/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@
2020
"@docusaurus/core": "2.0.0-beta.18",
2121
"@docusaurus/preset-classic": "2.0.0-beta.18",
2222
"@mdx-js/react": "^1.6.21",
23-
"@rescript/react": "0.10.3",
23+
"@rescript/react": "^0.12.0",
2424
"@rescriptbr/ancestor": "0.5.0",
2525
"@rescriptbr/reform": "12.0.1",
2626
"clsx": "^1.1.1",
2727
"lenses-ppx": "6.1.10",
2828
"prism-react-renderer": "^1.2.1",
2929
"prismjs": "1.28.0",
3030
"raw-loader": "4.0.2",
31-
"react": "^17.0.1",
32-
"react-dom": "^17.0.1",
31+
"react": "^18.0.0",
32+
"react-dom": "^18.0.0",
3333
"@rescriptbr/reschema": "3.0.1"
3434
},
3535
"browserslist": {

0 commit comments

Comments
 (0)