@lynx-js/react-canary 0.114.4 → 0.114.5-canary-20251119-0f2da6b5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @lynx-js/react
|
|
2
2
|
|
|
3
|
+
## 0.114.5-canary-20251119061549-0f2da6b5ca9e45d26b825423ef6d396e8b0bf29c
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Reduce `__SetInlineStyles` element API call when attrs in spread not changed ([#1919](https://github.com/lynx-family/lynx-stack/pull/1919))
|
|
8
|
+
|
|
3
9
|
## 0.114.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -33,11 +39,11 @@
|
|
|
33
39
|
- Support testing React Compiler in testing library. Enable React Compiler by setting the `experimental_enableReactCompiler` option of `createVitestConfig` to `true`. ([#1269](https://github.com/lynx-family/lynx-stack/pull/1269))
|
|
34
40
|
|
|
35
41
|
```js
|
|
36
|
-
import { defineConfig, mergeConfig } from
|
|
37
|
-
import { createVitestConfig } from
|
|
42
|
+
import { defineConfig, mergeConfig } from "vitest/config";
|
|
43
|
+
import { createVitestConfig } from "@lynx-js/react/testing-library/vitest-config";
|
|
38
44
|
|
|
39
45
|
const defaultConfig = await createVitestConfig({
|
|
40
|
-
runtimePkgName:
|
|
46
|
+
runtimePkgName: "@lynx-js/react",
|
|
41
47
|
experimental_enableReactCompiler: true,
|
|
42
48
|
});
|
|
43
49
|
|
|
@@ -67,7 +73,7 @@
|
|
|
67
73
|
```tsx
|
|
68
74
|
function App() {
|
|
69
75
|
function handleInnerTap(event: MainThread.TouchEvent) {
|
|
70
|
-
|
|
76
|
+
"main thread";
|
|
71
77
|
event.stopPropagation();
|
|
72
78
|
// Or stop immediate propagation with
|
|
73
79
|
// event.stopImmediatePropagation();
|
|
@@ -165,10 +171,10 @@
|
|
|
165
171
|
- Add `animate` API in Main Thread Script(MTS), so you can now control a CSS animation imperatively ([#1534](https://github.com/lynx-family/lynx-stack/pull/1534))
|
|
166
172
|
|
|
167
173
|
```ts
|
|
168
|
-
import type { MainThread } from
|
|
174
|
+
import type { MainThread } from "@lynx-js/types";
|
|
169
175
|
|
|
170
176
|
function startAnimation(ele: MainThread.Element) {
|
|
171
|
-
|
|
177
|
+
"main thread";
|
|
172
178
|
const animation = ele.animate([{ opacity: 0 }, { opacity: 1 }], {
|
|
173
179
|
duration: 3000,
|
|
174
180
|
});
|
|
@@ -197,7 +203,7 @@
|
|
|
197
203
|
- Supports `recyclable` attribute in `<list-item>` to control whether the list item is recyclable. The `recyclable` attribute depends on Lynx Engine 3.4 or later. ([#1388](https://github.com/lynx-family/lynx-stack/pull/1388))
|
|
198
204
|
|
|
199
205
|
```jsx
|
|
200
|
-
<list-item recyclable={false}
|
|
206
|
+
<list-item recyclable={false} />
|
|
201
207
|
```
|
|
202
208
|
|
|
203
209
|
- feat: Support using a host element as direct child of Suspense ([#1455](https://github.com/lynx-family/lynx-stack/pull/1455))
|
|
@@ -218,7 +224,7 @@
|
|
|
218
224
|
|
|
219
225
|
```ts
|
|
220
226
|
function handleTap() {
|
|
221
|
-
|
|
227
|
+
"main thread";
|
|
222
228
|
// The following check always returned false before this fix
|
|
223
229
|
if (myHandleTap) {
|
|
224
230
|
runOnBackground(myHandleTap)();
|
|
@@ -279,10 +285,10 @@
|
|
|
279
285
|
Add the import to `@lynx-js/react/debug` at the first line of the entry:
|
|
280
286
|
|
|
281
287
|
```js
|
|
282
|
-
import
|
|
283
|
-
import { root } from
|
|
288
|
+
import "@lynx-js/react/debug";
|
|
289
|
+
import { root } from "@lynx-js/react";
|
|
284
290
|
|
|
285
|
-
import { App } from
|
|
291
|
+
import { App } from "./App.jsx";
|
|
286
292
|
|
|
287
293
|
root.render(<App />);
|
|
288
294
|
```
|
|
@@ -292,9 +298,9 @@
|
|
|
292
298
|
For example, you can use it like this:
|
|
293
299
|
|
|
294
300
|
```jsx
|
|
295
|
-
<list-item defer={{ unmountRecycled: true }} item-key=
|
|
301
|
+
<list-item defer={{ unmountRecycled: true }} item-key="1">
|
|
296
302
|
<WillBeUnmountIfRecycled />
|
|
297
|
-
</list-item
|
|
303
|
+
</list-item>
|
|
298
304
|
```
|
|
299
305
|
|
|
300
306
|
Now the component will be unmounted when it is recycled, which can help with performance in certain scenarios.
|
|
@@ -302,7 +308,7 @@
|
|
|
302
308
|
- Avoid some unexpected `__SetAttribute` in hydrate when `undefined` is passed as an attribute value to intrinsic elements, for example: ([#1318](https://github.com/lynx-family/lynx-stack/pull/1318))
|
|
303
309
|
|
|
304
310
|
```jsx
|
|
305
|
-
<image async-mode={undefined}
|
|
311
|
+
<image async-mode={undefined} />
|
|
306
312
|
```
|
|
307
313
|
|
|
308
314
|
## 0.111.1
|
|
@@ -348,7 +354,7 @@
|
|
|
348
354
|
- Supports `act` in testing library. ([#1182](https://github.com/lynx-family/lynx-stack/pull/1182))
|
|
349
355
|
|
|
350
356
|
```js
|
|
351
|
-
import { act } from
|
|
357
|
+
import { act } from "@lynx-js/react/testing-library";
|
|
352
358
|
|
|
353
359
|
act(() => {
|
|
354
360
|
// ...
|
|
@@ -454,8 +460,7 @@
|
|
|
454
460
|
* 3: Full Resolution - Batch render with async property and element tree resolution for list item subtree
|
|
455
461
|
*/
|
|
456
462
|
experimental-batch-render-strategy={3}
|
|
457
|
-
>
|
|
458
|
-
</list>;
|
|
463
|
+
></list>
|
|
459
464
|
```
|
|
460
465
|
|
|
461
466
|
- rename @lynx-js/test-environment to @lynx-js/testing-environment ([#704](https://github.com/lynx-family/lynx-stack/pull/704))
|
|
@@ -573,7 +578,7 @@
|
|
|
573
578
|
You can now use `useErrorBoundary` it in TypeScript like this:
|
|
574
579
|
|
|
575
580
|
```tsx
|
|
576
|
-
import { useErrorBoundary } from
|
|
581
|
+
import { useErrorBoundary } from "@lynx-js/react";
|
|
577
582
|
```
|
|
578
583
|
|
|
579
584
|
- Modified the format of data sent from background threads to the main thread. ([#207](https://github.com/lynx-family/lynx-stack/pull/207))
|
|
@@ -625,13 +630,13 @@
|
|
|
625
630
|
Now you can get the return value from `runOnBackground()` and `runOnMainThread()`, which enables more flexible data flow between the main thread and the background thread.
|
|
626
631
|
|
|
627
632
|
```js
|
|
628
|
-
import { runOnBackground } from
|
|
633
|
+
import { runOnBackground } from "@lynx-js/react";
|
|
629
634
|
|
|
630
635
|
const onTap = async () => {
|
|
631
|
-
|
|
636
|
+
"main thread";
|
|
632
637
|
const text = await runOnBackground(() => {
|
|
633
|
-
|
|
634
|
-
return
|
|
638
|
+
"background only";
|
|
639
|
+
return "Hello, world!";
|
|
635
640
|
})();
|
|
636
641
|
console.log(text);
|
|
637
642
|
};
|
|
@@ -666,9 +671,9 @@
|
|
|
666
671
|
|
|
667
672
|
```ts
|
|
668
673
|
// These imports will be removed from the final bundle
|
|
669
|
-
import type { Foo } from
|
|
670
|
-
import { type Bar } from
|
|
671
|
-
import { xyz } from
|
|
674
|
+
import type { Foo } from "xyz";
|
|
675
|
+
import { type Bar } from "xyz";
|
|
676
|
+
import { xyz } from "xyz"; // When xyz is not used
|
|
672
677
|
```
|
|
673
678
|
|
|
674
679
|
See [TypeScript - verbatimModuleSyntax](https://www.typescriptlang.org/tsconfig/#verbatimModuleSyntax) for details.
|
|
@@ -708,7 +713,7 @@
|
|
|
708
713
|
const f = undefined;
|
|
709
714
|
|
|
710
715
|
function mts() {
|
|
711
|
-
|
|
716
|
+
"main thread";
|
|
712
717
|
// throws in background rendering
|
|
713
718
|
f && runOnBackground(f)();
|
|
714
719
|
}
|
|
@@ -742,14 +747,14 @@
|
|
|
742
747
|
- a30c83d: Add `compat.removeComponentAttrRegex`.
|
|
743
748
|
|
|
744
749
|
```js
|
|
745
|
-
import { pluginReactLynx } from
|
|
746
|
-
import { defineConfig } from
|
|
750
|
+
import { pluginReactLynx } from "@lynx-js/react-rsbuild-plugin";
|
|
751
|
+
import { defineConfig } from "@lynx-js/rspeedy";
|
|
747
752
|
|
|
748
753
|
export default defineConfig({
|
|
749
754
|
plugins: [
|
|
750
755
|
pluginReactLynx({
|
|
751
756
|
compat: {
|
|
752
|
-
removeComponentAttrRegex:
|
|
757
|
+
removeComponentAttrRegex: "YOUR REGEX",
|
|
753
758
|
},
|
|
754
759
|
}),
|
|
755
760
|
],
|
|
@@ -835,22 +840,22 @@
|
|
|
835
840
|
Gesture Handler is a set of gesture handling capabilities built on top of the Main Thread Script. It currently supports drag, inertial scrolling, long press, and tap gestures for `<view>`, `<scroll-view>`, `<list>`, and `<text>`. In the future, it will also support multi-finger zoom, multi-finger rotation, and other gesture capabilities.
|
|
836
841
|
|
|
837
842
|
```tsx
|
|
838
|
-
import { useGesture, PanGesture } from
|
|
843
|
+
import { useGesture, PanGesture } from "@lynx-js/gesture-runtime";
|
|
839
844
|
|
|
840
845
|
function App() {
|
|
841
846
|
const pan = useGesture(PanGesture);
|
|
842
847
|
|
|
843
848
|
pan
|
|
844
849
|
.onBegin((event, stateManager) => {
|
|
845
|
-
|
|
850
|
+
"main thread";
|
|
846
851
|
// some logic
|
|
847
852
|
})
|
|
848
853
|
.onUpdate((event, stateManager) => {
|
|
849
|
-
|
|
854
|
+
"main thread";
|
|
850
855
|
// some logic
|
|
851
856
|
})
|
|
852
857
|
.onEnd((event, stateManager) => {
|
|
853
|
-
|
|
858
|
+
"main thread";
|
|
854
859
|
// some logic
|
|
855
860
|
});
|
|
856
861
|
|
|
@@ -870,7 +875,7 @@
|
|
|
870
875
|
return;
|
|
871
876
|
}
|
|
872
877
|
|
|
873
|
-
console.log(
|
|
878
|
+
console.log("not __LEPUS__"); // This can be removed now
|
|
874
879
|
}
|
|
875
880
|
```
|
|
876
881
|
|
package/package.json
CHANGED
package/refresh/dist/index.js
CHANGED
|
@@ -42,24 +42,25 @@ const BUILT_IN_COMPONENTS = [
|
|
|
42
42
|
const isBuiltIn = (type)=>BUILT_IN_COMPONENTS.includes(type.name);
|
|
43
43
|
const oldVnode = options.vnode;
|
|
44
44
|
options.vnode = (vnode)=>{
|
|
45
|
+
if (vnode && 'function' == typeof vnode.type && !isBuiltIn(vnode.type)) {
|
|
46
|
+
const foundType = getMappedVnode(vnode.type);
|
|
47
|
+
if (foundType !== vnode.type) {
|
|
48
|
+
vnode.type = foundType;
|
|
49
|
+
if (vnode["__c"] && 'prototype' in vnode.type && vnode.type.prototype.render) vnode["__c"].constructor = vnode.type;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (oldVnode) oldVnode(vnode);
|
|
53
|
+
};
|
|
54
|
+
const oldDiff = options.__b;
|
|
55
|
+
options.__b = (vnode)=>{
|
|
45
56
|
if (vnode && 'function' == typeof vnode.type && !isBuiltIn(vnode.type)) {
|
|
46
57
|
const vnodes = vnodesForComponent.get(vnode.type);
|
|
47
58
|
if (vnodes) vnodes.push(vnode);
|
|
48
59
|
else vnodesForComponent.set(vnode.type, [
|
|
49
60
|
vnode
|
|
50
61
|
]);
|
|
51
|
-
const foundType = getMappedVnode(vnode.type);
|
|
52
|
-
if (foundType !== vnode.type) {
|
|
53
|
-
const vnodes = vnodesForComponent.get(foundType);
|
|
54
|
-
if (vnodes) vnodes.push(vnode);
|
|
55
|
-
else vnodesForComponent.set(foundType, [
|
|
56
|
-
vnode
|
|
57
|
-
]);
|
|
58
|
-
}
|
|
59
|
-
vnode.type = foundType;
|
|
60
|
-
if (vnode["__c"] && 'prototype' in vnode.type && vnode.type.prototype.render) vnode["__c"].constructor = vnode.type;
|
|
61
62
|
}
|
|
62
|
-
if (
|
|
63
|
+
if (oldDiff) oldDiff(vnode);
|
|
63
64
|
};
|
|
64
65
|
const oldDiffed = options.diffed;
|
|
65
66
|
options.diffed = (vnode)=>{
|
|
@@ -138,8 +139,8 @@ function replaceComponent(OldType, NewType, resetHookState) {
|
|
|
138
139
|
pendingUpdates = pendingUpdates.filter((p)=>p[0] !== OldType);
|
|
139
140
|
vnodes.forEach((node)=>{
|
|
140
141
|
let vnode = node;
|
|
141
|
-
if (vnode && vnode.__v && !vnode.__c) {
|
|
142
|
-
vnode = lastSeen.get(vnode.__v
|
|
142
|
+
if (vnode && vnode.__v && !vnode.__c && lastSeen.has(vnode.__v)) {
|
|
143
|
+
vnode = lastSeen.get(vnode.__v);
|
|
143
144
|
lastSeen["delete"](vnode.__v);
|
|
144
145
|
}
|
|
145
146
|
if (!vnode || !vnode.__c || !vnode.__c.__P) return;
|
package/refresh/package.json
CHANGED
|
@@ -69,7 +69,9 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
|
|
|
69
69
|
__SetClasses(snapshot.__elements[elementIndex], v);
|
|
70
70
|
}
|
|
71
71
|
else if (key === 'style') {
|
|
72
|
-
|
|
72
|
+
if (!isDirectOrDeepEqual(v, oldValue[key])) {
|
|
73
|
+
__SetInlineStyles(snapshot.__elements[elementIndex], v);
|
|
74
|
+
}
|
|
73
75
|
}
|
|
74
76
|
else if (key === 'id') {
|
|
75
77
|
__SetID(snapshot.__elements[elementIndex], v);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"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"}
|