Skip to content

Commit f215b18

Browse files
authored
Merge branch 'main' into copilot-support
2 parents 94da4e9 + 585bff9 commit f215b18

File tree

10 files changed

+67
-45
lines changed

10 files changed

+67
-45
lines changed

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"cSpell.words": [
33
"cohinline",
4+
"facetified",
45
"Gameface",
56
"gamepad"
67
],

examples/benchmarking/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@
99
"compare": "ts-node compare.ts"
1010
},
1111
"dependencies": {
12-
"@react-facet/core": "18.2.0",
13-
"@react-facet/dom-fiber": "18.2.0",
14-
"@react-facet/shared-facet": "18.2.0",
15-
"@react-facet/spring": "18.2.0",
12+
"@react-facet/core": "18.3.0",
13+
"@react-facet/dom-fiber": "18.3.0",
14+
"@react-facet/shared-facet": "18.3.0",
1615
"ramda": "^0.27.1",
1716
"react": "^18.2.0",
1817
"react-dom": "^18.2.0"

packages/@react-facet/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"homepage": "https://react-facet.mojang.com/",
3030
"bugs": "https://github.com/Mojang/ore-ui/issues",
3131
"license": "MIT",
32-
"version": "18.2.0",
32+
"version": "18.3.0",
3333
"main": "src/index.ts",
3434
"publishConfig": {
3535
"main": "dist/index.js",
@@ -44,7 +44,7 @@
4444
"react": "^18.2.0"
4545
},
4646
"devDependencies": {
47-
"@react-facet/dom-fiber-testing-library": "18.2.0",
47+
"@react-facet/dom-fiber-testing-library": "18.3.0",
4848
"@types/react": "^18.2.0",
4949
"@types/react-reconciler": "^0.28.0",
5050
"@types/rimraf": "^3",

packages/@react-facet/core/src/hooks/useFacetWrapMemo.spec.tsx

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useFacetWrapMemo } from './useFacetWrapMemo'
44
import { useFacetEffect } from './useFacetEffect'
55
import { useFacetMap } from './useFacetMap'
66
import { createFacet } from '../facet'
7-
import { FacetProp, NO_VALUE, Value } from '../types'
7+
import { EqualityCheck, FacetProp, NO_VALUE, Value } from '../types'
88

99
it('wraps a value, updating the facet when it changes', () => {
1010
const mock = jest.fn()
@@ -203,3 +203,36 @@ describe('does not trigger effect updates on re-renders for the same value', ()
203203
testEffectUpdatesOnStaticValue({ key: 'value' }, false)
204204
})
205205
})
206+
207+
it('allows changing the equality check', () => {
208+
const mock = jest.fn()
209+
210+
const ComponentWithFacetEffect: React.FC<{ value: string; equalityCheck?: EqualityCheck<string> }> = ({
211+
value,
212+
equalityCheck,
213+
}) => {
214+
const facetValue = useFacetWrapMemo(value, equalityCheck)
215+
216+
useFacetEffect(
217+
(value) => {
218+
mock(value)
219+
},
220+
[],
221+
[facetValue],
222+
)
223+
return <span />
224+
}
225+
226+
const alwaysFalse = () => () => false
227+
228+
const dom = render(<ComponentWithFacetEffect value="value" />)
229+
expect(mock).toHaveBeenCalledTimes(1)
230+
expect(mock).toHaveBeenCalledWith('value')
231+
232+
mock.mockClear()
233+
234+
// as we change the equality check, it should re-initialize the inline facet, causing an update
235+
dom.rerender(<ComponentWithFacetEffect value="value" equalityCheck={alwaysFalse} />)
236+
expect(mock).toHaveBeenCalledTimes(1)
237+
expect(mock).toHaveBeenCalledWith('value')
238+
})

packages/@react-facet/core/src/hooks/useFacetWrapMemo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export function useFacetWrapMemo<T extends Value>(
2020
const inlineFacet = useMemo(
2121
() => createFacet<T>({ initialValue: isFacet(prop) ? prop.get() : prop, equalityCheck }),
2222
// eslint-disable-next-line react-hooks/exhaustive-deps
23-
[],
23+
[equalityCheck],
2424
)
2525

2626
useEffect(() => {

packages/@react-facet/dom-fiber-testing-library/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"homepage": "https://react-facet.mojang.com/",
3030
"bugs": "https://github.com/Mojang/ore-ui/issues",
3131
"license": "MIT",
32-
"version": "18.2.0",
32+
"version": "18.3.0",
3333
"main": "src/index.ts",
3434
"publishConfig": {
3535
"main": "dist/index.js",
@@ -44,11 +44,11 @@
4444
"@testing-library/dom": "^8.20.0"
4545
},
4646
"peerDependencies": {
47-
"@react-facet/dom-fiber": "18.2.0",
47+
"@react-facet/dom-fiber": "18.3.0",
4848
"react": "^18.2.0"
4949
},
5050
"devDependencies": {
51-
"@react-facet/dom-fiber": "18.2.0",
51+
"@react-facet/dom-fiber": "18.3.0",
5252
"react": "^18.2.0",
5353
"rimraf": "^3.0.2",
5454
"typescript": "^4.8.2"

packages/@react-facet/dom-fiber/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"homepage": "https://react-facet.mojang.com/",
3030
"bugs": "https://github.com/Mojang/ore-ui/issues",
3131
"license": "MIT",
32-
"version": "18.2.0",
32+
"version": "18.3.0",
3333
"main": "src/index.ts",
3434
"publishConfig": {
3535
"main": "dist/index.js",
@@ -44,11 +44,11 @@
4444
"react-reconciler": "^0.28.0"
4545
},
4646
"peerDependencies": {
47-
"@react-facet/core": "18.2.0",
47+
"@react-facet/core": "18.3.0",
4848
"react": "^18.2.0"
4949
},
5050
"devDependencies": {
51-
"@react-facet/core": "18.2.0",
51+
"@react-facet/core": "18.3.0",
5252
"@react-facet/dom-fiber-testing-library": "workspace:^",
5353
"@types/react": "^18.2.0",
5454
"@types/react-reconciler": "^0.28.0",

packages/@react-facet/eslint-config/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"homepage": "https://react-facet.mojang.com/",
3030
"bugs": "https://github.com/Mojang/ore-ui/issues",
3131
"license": "MIT",
32-
"version": "18.2.0",
32+
"version": "18.3.0",
3333
"main": "src/index.js",
3434
"sideEffects": false,
3535
"peerDependencies": {

packages/@react-facet/shared-facet/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"homepage": "https://react-facet.mojang.com/",
3030
"bugs": "https://github.com/Mojang/ore-ui/issues",
3131
"license": "MIT",
32-
"version": "18.2.0",
32+
"version": "18.3.0",
3333
"main": "src/index.ts",
3434
"publishConfig": {
3535
"main": "dist/index.js",
@@ -41,12 +41,12 @@
4141
"prepublish": "yarn build"
4242
},
4343
"peerDependencies": {
44-
"@react-facet/core": "18.2.0",
44+
"@react-facet/core": "18.3.0",
4545
"react": "^18.2.0"
4646
},
4747
"devDependencies": {
48-
"@react-facet/core": "18.2.0",
49-
"@react-facet/dom-fiber-testing-library": "18.2.0",
48+
"@react-facet/core": "18.3.0",
49+
"@react-facet/dom-fiber-testing-library": "18.3.0",
5050
"@types/react": "^18.2.0",
5151
"@types/rimraf": "^3",
5252
"cross-env": "^7.0.3",

yarn.lock

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,11 +1149,11 @@ __metadata:
11491149
languageName: node
11501150
linkType: hard
11511151

1152-
"@react-facet/core@18.2.0, @react-facet/core@workspace:packages/@react-facet/core":
1152+
"@react-facet/core@18.3.0, @react-facet/core@workspace:packages/@react-facet/core":
11531153
version: 0.0.0-use.local
11541154
resolution: "@react-facet/core@workspace:packages/@react-facet/core"
11551155
dependencies:
1156-
"@react-facet/dom-fiber-testing-library": 18.2.0
1156+
"@react-facet/dom-fiber-testing-library": 18.3.0
11571157
"@types/react": ^18.2.0
11581158
"@types/react-reconciler": ^0.28.0
11591159
"@types/rimraf": ^3
@@ -1166,26 +1166,26 @@ __metadata:
11661166
languageName: unknown
11671167
linkType: soft
11681168

1169-
"@react-facet/dom-fiber-testing-library@18.2.0, @react-facet/dom-fiber-testing-library@workspace:^, @react-facet/dom-fiber-testing-library@workspace:packages/@react-facet/dom-fiber-testing-library":
1169+
"@react-facet/dom-fiber-testing-library@18.3.0, @react-facet/dom-fiber-testing-library@workspace:^, @react-facet/dom-fiber-testing-library@workspace:packages/@react-facet/dom-fiber-testing-library":
11701170
version: 0.0.0-use.local
11711171
resolution: "@react-facet/dom-fiber-testing-library@workspace:packages/@react-facet/dom-fiber-testing-library"
11721172
dependencies:
1173-
"@react-facet/dom-fiber": 18.2.0
1173+
"@react-facet/dom-fiber": 18.3.0
11741174
"@testing-library/dom": ^8.20.0
11751175
react: ^18.2.0
11761176
rimraf: ^3.0.2
11771177
typescript: ^4.8.2
11781178
peerDependencies:
1179-
"@react-facet/dom-fiber": 18.2.0
1179+
"@react-facet/dom-fiber": 18.3.0
11801180
react: ^18.2.0
11811181
languageName: unknown
11821182
linkType: soft
11831183

1184-
"@react-facet/dom-fiber@18.2.0, @react-facet/dom-fiber@workspace:packages/@react-facet/dom-fiber":
1184+
"@react-facet/dom-fiber@18.3.0, @react-facet/dom-fiber@workspace:packages/@react-facet/dom-fiber":
11851185
version: 0.0.0-use.local
11861186
resolution: "@react-facet/dom-fiber@workspace:packages/@react-facet/dom-fiber"
11871187
dependencies:
1188-
"@react-facet/core": 18.2.0
1188+
"@react-facet/core": 18.3.0
11891189
"@react-facet/dom-fiber-testing-library": "workspace:^"
11901190
"@types/react": ^18.2.0
11911191
"@types/react-reconciler": ^0.28.0
@@ -1196,7 +1196,7 @@ __metadata:
11961196
rimraf: ^3.0.2
11971197
typescript: ^4.8.2
11981198
peerDependencies:
1199-
"@react-facet/core": 18.2.0
1199+
"@react-facet/core": 18.3.0
12001200
react: ^18.2.0
12011201
languageName: unknown
12021202
linkType: soft
@@ -1211,34 +1211,24 @@ __metadata:
12111211
languageName: unknown
12121212
linkType: soft
12131213

1214-
"@react-facet/shared-facet@18.2.0, @react-facet/shared-facet@workspace:packages/@react-facet/shared-facet":
1214+
"@react-facet/shared-facet@18.3.0, @react-facet/shared-facet@workspace:packages/@react-facet/shared-facet":
12151215
version: 0.0.0-use.local
12161216
resolution: "@react-facet/shared-facet@workspace:packages/@react-facet/shared-facet"
12171217
dependencies:
1218-
"@react-facet/core": 18.2.0
1219-
"@react-facet/dom-fiber-testing-library": 18.2.0
1218+
"@react-facet/core": 18.3.0
1219+
"@react-facet/dom-fiber-testing-library": 18.3.0
12201220
"@types/react": ^18.2.0
12211221
"@types/rimraf": ^3
12221222
cross-env: ^7.0.3
12231223
react: ^18.2.0
12241224
rimraf: ^3.0.2
12251225
typescript: ^4.8.2
12261226
peerDependencies:
1227-
"@react-facet/core": 18.2.0
1227+
"@react-facet/core": 18.3.0
12281228
react: ^18.2.0
12291229
languageName: unknown
12301230
linkType: soft
12311231

1232-
"@react-facet/spring@npm:18.2.0":
1233-
version: 18.2.0
1234-
resolution: "@react-facet/spring@npm:18.2.0"
1235-
peerDependencies:
1236-
"@react-facet/core": 18.2.0
1237-
react: ^18.2.0
1238-
checksum: 9a75070936a0a293d23015e98ca539a67cfd75b647d1ccb68308b9646b46919c8a3a148a60b6f16a312b4e34fd5297000c5d0d0160685cedd7dc725a36738755
1239-
languageName: node
1240-
linkType: hard
1241-
12421232
"@sinclair/typebox@npm:^0.27.8":
12431233
version: 0.27.8
12441234
resolution: "@sinclair/typebox@npm:0.27.8"
@@ -2916,10 +2906,9 @@ __metadata:
29162906
version: 0.0.0-use.local
29172907
resolution: "benchmarking@workspace:examples/benchmarking"
29182908
dependencies:
2919-
"@react-facet/core": 18.2.0
2920-
"@react-facet/dom-fiber": 18.2.0
2921-
"@react-facet/shared-facet": 18.2.0
2922-
"@react-facet/spring": 18.2.0
2909+
"@react-facet/core": 18.3.0
2910+
"@react-facet/dom-fiber": 18.3.0
2911+
"@react-facet/shared-facet": 18.3.0
29232912
"@types/fs-extra": ^9.0.12
29242913
"@types/puppeteer": ^5.4.4
29252914
"@types/ramda": ^0

0 commit comments

Comments
 (0)