@lynx-js/react 0.106.5 → 0.107.0

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.
Files changed (53) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/package.json +15 -2
  3. package/refresh/.turbo/turbo-build.log +1 -1
  4. package/refresh/package.json +1 -1
  5. package/runtime/jsx-dev-runtime/index.d.ts +12 -0
  6. package/runtime/jsx-runtime/index.d.ts +12 -0
  7. package/runtime/lib/lifecycle/patch/commit.d.ts +7 -1
  8. package/runtime/lib/lifecycle/patch/commit.js +44 -38
  9. package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
  10. package/runtime/lib/lifecycle/patch/updateMainThread.js +6 -4
  11. package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
  12. package/runtime/lib/list.d.ts +13 -6
  13. package/runtime/lib/list.js.map +1 -1
  14. package/runtime/lib/lynx/calledByNative.js +2 -2
  15. package/runtime/lib/lynx/calledByNative.js.map +1 -1
  16. package/runtime/lib/lynx/component.js +1 -1
  17. package/runtime/lib/lynx/component.js.map +1 -1
  18. package/runtime/lib/lynx/performance.d.ts +24 -14
  19. package/runtime/lib/lynx/performance.js +42 -23
  20. package/runtime/lib/lynx/performance.js.map +1 -1
  21. package/runtime/lib/lynx/runWithForce.d.ts +1 -0
  22. package/runtime/lib/lynx/runWithForce.js +45 -0
  23. package/runtime/lib/lynx/runWithForce.js.map +1 -0
  24. package/runtime/lib/lynx/tt.d.ts +2 -1
  25. package/runtime/lib/lynx/tt.js +27 -61
  26. package/runtime/lib/lynx/tt.js.map +1 -1
  27. package/runtime/lib/lynx.d.ts +1 -0
  28. package/runtime/lib/lynx.js +1 -0
  29. package/runtime/lib/lynx.js.map +1 -1
  30. package/runtime/src/lifecycle/patch/commit.ts +54 -41
  31. package/runtime/src/lifecycle/patch/updateMainThread.ts +6 -4
  32. package/runtime/src/list.ts +18 -10
  33. package/runtime/src/lynx/calledByNative.ts +2 -2
  34. package/runtime/src/lynx/component.ts +1 -1
  35. package/runtime/src/lynx/performance.ts +48 -22
  36. package/runtime/src/lynx/runWithForce.ts +52 -0
  37. package/runtime/src/lynx/tt.ts +42 -70
  38. package/runtime/src/lynx.ts +1 -0
  39. package/testing-library/README.md +70 -0
  40. package/testing-library/dist/env/vitest.js +548 -0
  41. package/testing-library/dist/index.d.ts +1504 -0
  42. package/testing-library/dist/index.js +12 -0
  43. package/testing-library/dist/pure.js +14729 -0
  44. package/testing-library/dist/pure.js.LICENSE.txt +17 -0
  45. package/testing-library/dist/vitest-global-setup.js +115 -0
  46. package/testing-library/dist/vitest.config.js +90 -0
  47. package/testing-library/types/entry.d.ts +257 -0
  48. package/testing-library/types/index.d.ts +15 -0
  49. package/testing-library/types/pure.d.ts +2 -0
  50. package/testing-library/types/vitest-config.d.ts +12 -0
  51. package/transform/dist/wasm.cjs +1 -1
  52. package/types/react.d.ts +31 -0
  53. package/LICENSE +0 -202
@@ -6,21 +6,30 @@ import { DIFF } from '../renderToOpcodes/constants.js';
6
6
  import { __globalSnapshotPatch } from '../lifecycle/patch/snapshotPatch.js';
7
7
  var PerformanceTimingKeys;
8
8
  (function (PerformanceTimingKeys) {
9
- PerformanceTimingKeys[PerformanceTimingKeys["update_set_state_trigger"] = 0] = "update_set_state_trigger";
10
- PerformanceTimingKeys[PerformanceTimingKeys["update_diff_vdom_start"] = 1] = "update_diff_vdom_start";
11
- PerformanceTimingKeys[PerformanceTimingKeys["update_diff_vdom_end"] = 2] = "update_diff_vdom_end";
12
- // update_set_state_trigger, update_diff_vdom_start and update_diff_vdom_end is deprecated
13
- PerformanceTimingKeys[PerformanceTimingKeys["diff_vdom_start"] = 3] = "diff_vdom_start";
14
- PerformanceTimingKeys[PerformanceTimingKeys["diff_vdom_end"] = 4] = "diff_vdom_end";
15
- PerformanceTimingKeys[PerformanceTimingKeys["pack_changes_start"] = 5] = "pack_changes_start";
16
- PerformanceTimingKeys[PerformanceTimingKeys["pack_changes_end"] = 6] = "pack_changes_end";
17
- PerformanceTimingKeys[PerformanceTimingKeys["parse_changes_start"] = 7] = "parse_changes_start";
18
- PerformanceTimingKeys[PerformanceTimingKeys["parse_changes_end"] = 8] = "parse_changes_end";
19
- PerformanceTimingKeys[PerformanceTimingKeys["patch_changes_start"] = 9] = "patch_changes_start";
20
- PerformanceTimingKeys[PerformanceTimingKeys["patch_changes_end"] = 10] = "patch_changes_end";
21
- PerformanceTimingKeys[PerformanceTimingKeys["hydrate_parse_snapshot_start"] = 11] = "hydrate_parse_snapshot_start";
22
- PerformanceTimingKeys[PerformanceTimingKeys["hydrate_parse_snapshot_end"] = 12] = "hydrate_parse_snapshot_end";
9
+ PerformanceTimingKeys[PerformanceTimingKeys["updateSetStateTrigger"] = 0] = "updateSetStateTrigger";
10
+ PerformanceTimingKeys[PerformanceTimingKeys["updateDiffVdomStart"] = 1] = "updateDiffVdomStart";
11
+ PerformanceTimingKeys[PerformanceTimingKeys["updateDiffVdomEnd"] = 2] = "updateDiffVdomEnd";
12
+ // updateSetStateTrigger, updateDiffVdomStart and updateDiffVdomEnd is deprecated
13
+ PerformanceTimingKeys[PerformanceTimingKeys["diffVdomStart"] = 3] = "diffVdomStart";
14
+ PerformanceTimingKeys[PerformanceTimingKeys["diffVdomEnd"] = 4] = "diffVdomEnd";
15
+ PerformanceTimingKeys[PerformanceTimingKeys["packChangesStart"] = 5] = "packChangesStart";
16
+ PerformanceTimingKeys[PerformanceTimingKeys["packChangesEnd"] = 6] = "packChangesEnd";
17
+ PerformanceTimingKeys[PerformanceTimingKeys["parseChangesStart"] = 7] = "parseChangesStart";
18
+ PerformanceTimingKeys[PerformanceTimingKeys["parseChangesEnd"] = 8] = "parseChangesEnd";
19
+ PerformanceTimingKeys[PerformanceTimingKeys["patchChangesStart"] = 9] = "patchChangesStart";
20
+ PerformanceTimingKeys[PerformanceTimingKeys["patchChangesEnd"] = 10] = "patchChangesEnd";
21
+ PerformanceTimingKeys[PerformanceTimingKeys["hydrateParseSnapshotStart"] = 11] = "hydrateParseSnapshotStart";
22
+ PerformanceTimingKeys[PerformanceTimingKeys["hydrateParseSnapshotEnd"] = 12] = "hydrateParseSnapshotEnd";
23
+ PerformanceTimingKeys[PerformanceTimingKeys["mtsRenderStart"] = 13] = "mtsRenderStart";
24
+ PerformanceTimingKeys[PerformanceTimingKeys["mtsRenderEnd"] = 14] = "mtsRenderEnd";
23
25
  })(PerformanceTimingKeys || (PerformanceTimingKeys = {}));
26
+ const PerformanceTimingFlags = {
27
+ reactLynxHydrate: 'react_lynx_hydrate',
28
+ };
29
+ const PipelineOrigins = {
30
+ reactLynxHydrate: 'reactLynxHydrate',
31
+ updateTriggeredByBts: 'updateTriggeredByBts',
32
+ };
24
33
  /**
25
34
  * @deprecated used by old timing api(setState timing flag)
26
35
  */
@@ -34,13 +43,13 @@ let globalPipelineOptions;
34
43
  */
35
44
  function markTimingLegacy(key, timingFlag_) {
36
45
  switch (key) {
37
- case PerformanceTimingKeys.update_set_state_trigger: {
46
+ case PerformanceTimingKeys.updateSetStateTrigger: {
38
47
  shouldMarkDiffVdomStart = true;
39
48
  shouldMarkDiffVdomEnd = true;
40
49
  timingFlag = timingFlag_;
41
50
  break;
42
51
  }
43
- case PerformanceTimingKeys.update_diff_vdom_start: {
52
+ case PerformanceTimingKeys.updateDiffVdomStart: {
44
53
  /* v8 ignore start */
45
54
  if (!shouldMarkDiffVdomStart) {
46
55
  return;
@@ -49,7 +58,7 @@ function markTimingLegacy(key, timingFlag_) {
49
58
  shouldMarkDiffVdomStart = false;
50
59
  break;
51
60
  }
52
- case PerformanceTimingKeys.update_diff_vdom_end: {
61
+ case PerformanceTimingKeys.updateDiffVdomEnd: {
53
62
  if (!shouldMarkDiffVdomEnd) {
54
63
  return;
55
64
  }
@@ -59,11 +68,21 @@ function markTimingLegacy(key, timingFlag_) {
59
68
  }
60
69
  lynx.getNativeApp().markTiming?.(timingFlag, PerformanceTimingKeys[key]);
61
70
  }
62
- function beginPipeline(needTimestamps, timingFlag) {
71
+ function beginPipeline(needTimestamps, pipelineOrigin, timingFlag) {
63
72
  globalPipelineOptions = lynx.performance?._generatePipelineOptions?.();
64
73
  if (globalPipelineOptions) {
65
74
  globalPipelineOptions.needTimestamps = needTimestamps;
66
- lynx.performance?._onPipelineStart?.(globalPipelineOptions.pipelineID);
75
+ globalPipelineOptions.pipelineOrigin = pipelineOrigin;
76
+ globalPipelineOptions.dsl = 'reactLynx';
77
+ switch (pipelineOrigin) {
78
+ case PipelineOrigins.reactLynxHydrate:
79
+ globalPipelineOptions.stage = 'hydrate';
80
+ break;
81
+ case PipelineOrigins.updateTriggeredByBts:
82
+ globalPipelineOptions.stage = 'update';
83
+ break;
84
+ }
85
+ lynx.performance?._onPipelineStart?.(globalPipelineOptions.pipelineID, globalPipelineOptions);
67
86
  if (timingFlag) {
68
87
  lynx.performance?._bindPipelineIdWithTimingFlag?.(globalPipelineOptions.pipelineID, timingFlag);
69
88
  }
@@ -83,11 +102,11 @@ function initTimingAPI() {
83
102
  // check `__globalSnapshotPatch` to make sure this only runs after hydrate
84
103
  if (__JS__ && __globalSnapshotPatch) {
85
104
  if (!globalPipelineOptions) {
86
- beginPipeline(false);
87
- markTiming(PerformanceTimingKeys.diff_vdom_start, true);
105
+ beginPipeline(false, PipelineOrigins.updateTriggeredByBts);
106
+ markTiming(PerformanceTimingKeys.diffVdomStart, true);
88
107
  }
89
108
  if (shouldMarkDiffVdomStart) {
90
- markTimingLegacy(PerformanceTimingKeys.update_diff_vdom_start);
109
+ markTimingLegacy(PerformanceTimingKeys.updateDiffVdomStart);
91
110
  }
92
111
  }
93
112
  oldDiff?.(vnode);
@@ -96,5 +115,5 @@ function initTimingAPI() {
96
115
  /**
97
116
  * @internal
98
117
  */
99
- export { PerformanceTimingKeys, PerfSpecificKey, markTimingLegacy, initTimingAPI, beginPipeline, markTiming, setPipeline, globalPipelineOptions, };
118
+ export { PerformanceTimingKeys, PerformanceTimingFlags, PipelineOrigins, PerfSpecificKey, markTimingLegacy, initTimingAPI, beginPipeline, markTiming, setPipeline, globalPipelineOptions, };
100
119
  //# sourceMappingURL=performance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/lynx/performance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/lynx/performance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function runWithForce(cb: () => void): void;
@@ -0,0 +1,45 @@
1
+ import { options } from 'preact';
2
+ import { COMPONENT, DIFF, DIFFED, FORCE } from '../renderToOpcodes/constants.js';
3
+ export function runWithForce(cb) {
4
+ // save vnode and its `_component` in WeakMap
5
+ const m = new WeakMap();
6
+ const oldDiff = options[DIFF];
7
+ options[DIFF] = (vnode) => {
8
+ if (oldDiff) {
9
+ oldDiff(vnode);
10
+ }
11
+ // when `options[DIFF]` is called, a newVnode is passed in
12
+ // so its `vnode[COMPONENT]` should be null,
13
+ // but it will be set later
14
+ Object.defineProperty(vnode, COMPONENT, {
15
+ configurable: true,
16
+ set(c) {
17
+ m.set(vnode, c);
18
+ if (c) {
19
+ c[FORCE] = true;
20
+ }
21
+ },
22
+ get() {
23
+ return m.get(vnode);
24
+ },
25
+ });
26
+ };
27
+ const oldDiffed = options[DIFFED];
28
+ options[DIFFED] = (vnode) => {
29
+ if (oldDiffed) {
30
+ oldDiffed(vnode);
31
+ }
32
+ // delete is a reverse operation of previous `Object.defineProperty`
33
+ delete vnode[COMPONENT];
34
+ // restore
35
+ vnode[COMPONENT] = m.get(vnode);
36
+ };
37
+ try {
38
+ cb();
39
+ }
40
+ finally {
41
+ options[DIFF] = oldDiff;
42
+ options[DIFFED] = oldDiffed;
43
+ }
44
+ }
45
+ //# sourceMappingURL=runWithForce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runWithForce.js","sourceRoot":"","sources":["../../src/lynx/runWithForce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAEjF,MAAM,UAAU,YAAY,CAAC,EAAc;IACzC,6CAA6C;IAC7C,MAAM,CAAC,GAAG,IAAI,OAAO,EAAc,CAAC;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAY,EAAE,EAAE;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAED,0DAA0D;QAC1D,4CAA4C;QAC5C,2BAA2B;QAC3B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE;YACtC,YAAY,EAAE,IAAI;YAClB,GAAG,CAAC,CAAC;gBACH,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,EAAE,CAAC;oBACN,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,GAAG;gBACD,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAY,EAAE,EAAE;QACjC,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAED,oEAAoE;QACpE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;QACxB,UAAU;QACV,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,GAAG,OAAiC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,GAAG,SAAmC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- export declare function runWithForce(cb: () => void): void;
1
+ import { runWithForce } from './runWithForce.js';
2
+ export { runWithForce };
2
3
  declare function injectTt(): void;
3
4
  declare function flushDelayedLifecycleEvents(): void;
4
5
  export { injectTt, flushDelayedLifecycleEvents };
@@ -1,63 +1,22 @@
1
1
  // Copyright 2024 The Lynx Authors. All rights reserved.
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
- import { options } from 'preact';
5
4
  import { LifecycleConstant, NativeUpdateDataType } from '../lifecycleConstant.js';
6
- import { PerformanceTimingKeys, beginPipeline, markTiming } from './performance.js';
5
+ import { PerformanceTimingKeys, PerformanceTimingFlags, PipelineOrigins, beginPipeline, markTiming, } from './performance.js';
7
6
  import { BackgroundSnapshotInstance, hydrate } from '../backgroundSnapshot.js';
8
7
  import { destroyBackground } from '../lifecycle/destroy.js';
9
8
  import { delayedEvents, delayedPublishEvent } from '../lifecycle/event/delayEvents.js';
10
9
  import { delayLifecycleEvent, delayedLifecycleEvents } from '../lifecycle/event/delayLifecycleEvents.js';
11
- import { commitPatchUpdate, genCommitTaskId, globalCommitTaskMap } from '../lifecycle/patch/commit.js';
10
+ import { clearPatchesToCommit, commitPatchUpdate, genCommitTaskId, globalCommitTaskMap, patchesToCommit, } from '../lifecycle/patch/commit.js';
12
11
  import { reloadBackground } from '../lifecycle/reload.js';
13
12
  import { renderBackground } from '../lifecycle/render.js';
14
- import { CHILDREN, COMPONENT, DIFF, DIFFED, FORCE } from '../renderToOpcodes/constants.js';
13
+ import { CHILDREN } from '../renderToOpcodes/constants.js';
15
14
  import { __root } from '../root.js';
16
15
  import { globalRefsToSet, updateBackgroundRefs } from '../snapshot/ref.js';
17
16
  import { backgroundSnapshotInstanceManager } from '../snapshot.js';
18
17
  import { destroyWorklet } from '../worklet/destroy.js';
19
- export function runWithForce(cb) {
20
- // save vnode and its `_component` in WeakMap
21
- const m = new WeakMap();
22
- const oldDiff = options[DIFF];
23
- options[DIFF] = (vnode) => {
24
- if (oldDiff) {
25
- oldDiff(vnode);
26
- }
27
- // when `options[DIFF]` is called, a newVnode is passed in
28
- // so its `vnode[COMPONENT]` should be null,
29
- // but it will be set later
30
- Object.defineProperty(vnode, COMPONENT, {
31
- configurable: true,
32
- set(c) {
33
- m.set(vnode, c);
34
- if (c) {
35
- c[FORCE] = true;
36
- }
37
- },
38
- get() {
39
- return m.get(vnode);
40
- },
41
- });
42
- };
43
- const oldDiffed = options[DIFFED];
44
- options[DIFFED] = (vnode) => {
45
- if (oldDiffed) {
46
- oldDiffed(vnode);
47
- }
48
- // delete is a reverse operation of previous `Object.defineProperty`
49
- delete vnode[COMPONENT];
50
- // restore
51
- vnode[COMPONENT] = m.get(vnode);
52
- };
53
- try {
54
- cb();
55
- }
56
- finally {
57
- options[DIFF] = oldDiff;
58
- options[DIFFED] = oldDiffed;
59
- }
60
- }
18
+ import { runWithForce } from './runWithForce.js';
19
+ export { runWithForce };
61
20
  function injectTt() {
62
21
  // @ts-ignore
63
22
  const tt = lynxCoreInject.tt;
@@ -87,7 +46,7 @@ function onLifecycleEvent([type, data]) {
87
46
  console.profile(`OnLifecycleEvent::${type}`);
88
47
  }
89
48
  try {
90
- void onLifecycleEventImpl(type, data);
49
+ onLifecycleEventImpl(type, data);
91
50
  }
92
51
  catch (e) {
93
52
  lynx.reportError(e);
@@ -96,23 +55,23 @@ function onLifecycleEvent([type, data]) {
96
55
  console.profileEnd();
97
56
  }
98
57
  }
99
- async function onLifecycleEventImpl(type, data) {
58
+ function onLifecycleEventImpl(type, data) {
100
59
  switch (type) {
101
60
  case LifecycleConstant.firstScreen: {
102
61
  const { root: lepusSide, refPatch, jsReadyEventIdSwap } = data;
103
62
  if (__PROFILE__) {
104
63
  console.profile('hydrate');
105
64
  }
106
- beginPipeline(true, 'react_lynx_hydrate');
107
- markTiming(PerformanceTimingKeys.hydrate_parse_snapshot_start);
65
+ beginPipeline(true, PipelineOrigins.reactLynxHydrate, PerformanceTimingFlags.reactLynxHydrate);
66
+ markTiming(PerformanceTimingKeys.hydrateParseSnapshotStart);
108
67
  const before = JSON.parse(lepusSide);
109
- markTiming(PerformanceTimingKeys.hydrate_parse_snapshot_end);
110
- markTiming(PerformanceTimingKeys.diff_vdom_start);
68
+ markTiming(PerformanceTimingKeys.hydrateParseSnapshotEnd);
69
+ markTiming(PerformanceTimingKeys.diffVdomStart);
111
70
  const snapshotPatch = hydrate(before, __root);
112
71
  if (__PROFILE__) {
113
72
  console.profileEnd();
114
73
  }
115
- markTiming(PerformanceTimingKeys.diff_vdom_end);
74
+ markTiming(PerformanceTimingKeys.diffVdomEnd);
116
75
  // TODO: It seems `delayedEvents` and `delayedLifecycleEvents` should be merged into one array to ensure the proper order of events.
117
76
  flushDelayedLifecycleEvents();
118
77
  if (delayedEvents) {
@@ -148,14 +107,21 @@ async function onLifecycleEventImpl(type, data) {
148
107
  console.profile('commitChanges');
149
108
  }
150
109
  const commitTaskId = genCommitTaskId();
151
- await commitPatchUpdate({ patchList: [{ snapshotPatch, id: commitTaskId }] }, { isHydration: true });
152
- updateBackgroundRefs(commitTaskId);
153
- globalCommitTaskMap.forEach((commitTask, id) => {
154
- if (id > commitTaskId) {
155
- return;
156
- }
157
- commitTask();
158
- globalCommitTaskMap.delete(id);
110
+ patchesToCommit.push({ snapshotPatch, id: commitTaskId });
111
+ const patchList = {
112
+ patchList: patchesToCommit,
113
+ };
114
+ clearPatchesToCommit();
115
+ const obj = commitPatchUpdate(patchList, { isHydration: true });
116
+ lynx.getNativeApp().callLepusMethod(LifecycleConstant.patchUpdate, obj, () => {
117
+ updateBackgroundRefs(commitTaskId);
118
+ globalCommitTaskMap.forEach((commitTask, id) => {
119
+ if (id > commitTaskId) {
120
+ return;
121
+ }
122
+ commitTask();
123
+ globalCommitTaskMap.delete(id);
124
+ });
159
125
  });
160
126
  break;
161
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tt.js","sourceRoot":"","sources":["../../src/lynx/tt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tt.js","sourceRoot":"","sources":["../../src/lynx/tt.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  import './hooks/react.js';
2
+ export { runWithForce } from './lynx/runWithForce.js';
@@ -14,6 +14,7 @@ import { setupLynxEnv } from './lynx/env.js';
14
14
  import { injectLepusMethods } from './lynx/injectLepusMethods.js';
15
15
  import { initTimingAPI } from './lynx/performance.js';
16
16
  import { injectTt } from './lynx/tt.js';
17
+ export { runWithForce } from './lynx/runWithForce.js';
17
18
  // @ts-expect-error Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature
18
19
  if (__LEPUS__ && typeof globalThis.processEvalResult === 'undefined') {
19
20
  // @ts-expect-error Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature
@@ -1 +1 @@
1
- {"version":3,"file":"lynx.js","sourceRoot":"","sources":["../src/lynx.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,4DAA4D;AAC5D,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,gHAAgH;AAChH,IAAI,SAAS,IAAI,OAAO,UAAU,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;IACrE,gHAAgH;IAChH,UAAU,CAAC,iBAAiB,GAAG,CAAI,MAA2C,EAAE,MAAc,EAAE,EAAE;QAChG,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,SAAS,EAAE,CAAC;IACd,oBAAoB,EAAE,CAAC;IACvB,sBAAsB,EAAE,CAAC;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,kBAAkB,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,IAAI,WAAW,EAAE,CAAC;IAChB,oDAAoD;IACpD,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,uBAAuB,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC;IAEX,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA,CAAC;SACrC,CAAC;QACJ,iBAAiB,EAAE,CAAC;QACpB,4BAA4B,EAAE,CAAC;QAC/B,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"lynx.js","sourceRoot":"","sources":["../src/lynx.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,4DAA4D;AAC5D,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,gHAAgH;AAChH,IAAI,SAAS,IAAI,OAAO,UAAU,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;IACrE,gHAAgH;IAChH,UAAU,CAAC,iBAAiB,GAAG,CAAI,MAA2C,EAAE,MAAc,EAAE,EAAE;QAChG,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,SAAS,EAAE,CAAC;IACd,oBAAoB,EAAE,CAAC;IACvB,sBAAsB,EAAE,CAAC;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,kBAAkB,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,IAAI,WAAW,EAAE,CAAC;IAChB,oDAAoD;IACpD,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,IAAI,MAAM,EAAE,CAAC;IACX,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,uBAAuB,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC;IAEX,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA,CAAC;SACrC,CAAC;QACJ,iBAAiB,EAAE,CAAC;QACpB,4BAA4B,EAAE,CAAC;QAC/B,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,YAAY,EAAE,CAAC"}
@@ -31,6 +31,9 @@ let nextCommitTaskId = 1;
31
31
  let globalBackgroundSnapshotInstancesToRemove: number[] = [];
32
32
 
33
33
  let patchesToCommit: Patch[] = [];
34
+ function clearPatchesToCommit(): void {
35
+ patchesToCommit = [];
36
+ }
34
37
 
35
38
  interface Patch {
36
39
  id: number;
@@ -145,8 +148,8 @@ async function commitToMainThread(): Promise<void> {
145
148
  return;
146
149
  }
147
150
 
148
- markTimingLegacy(PerformanceTimingKeys.update_diff_vdom_end);
149
- markTiming(PerformanceTimingKeys.diff_vdom_end);
151
+ markTimingLegacy(PerformanceTimingKeys.updateDiffVdomEnd);
152
+ markTiming(PerformanceTimingKeys.diffVdomEnd);
150
153
 
151
154
  const flushOptions = globalFlushOptions;
152
155
  globalFlushOptions = {};
@@ -160,54 +163,61 @@ async function commitToMainThread(): Promise<void> {
160
163
  patchList.flushOptions = flushOptions;
161
164
  }
162
165
 
163
- await commitPatchUpdate(patchList, {});
166
+ const obj = commitPatchUpdate(patchList, {});
164
167
 
165
- for (let i = 0; i < patchList.patchList.length; i++) {
166
- const patch = patchList.patchList[i]!;
167
- const commitTask = globalCommitTaskMap.get(patch.id);
168
- if (commitTask) {
169
- commitTask();
170
- globalCommitTaskMap.delete(patch.id);
168
+ lynx.getNativeApp().callLepusMethod(LifecycleConstant.patchUpdate, obj, () => {
169
+ for (let i = 0; i < patchList.patchList.length; i++) {
170
+ const patch = patchList.patchList[i]!;
171
+ const commitTask = globalCommitTaskMap.get(patch.id);
172
+ if (commitTask) {
173
+ commitTask();
174
+ globalCommitTaskMap.delete(patch.id);
175
+ }
171
176
  }
172
- }
177
+ });
173
178
  }
174
179
 
175
- function commitPatchUpdate(patchList: PatchList, patchOptions: Omit<PatchOptions, 'reloadVersion'>): Promise<void> {
176
- return new Promise(resolve => {
177
- // console.debug('********** JS update:');
178
- // printSnapshotInstance(
179
- // (backgroundSnapshotInstanceManager.values.get(1) || backgroundSnapshotInstanceManager.values.get(-1))!,
180
- // );
181
- // console.debug('commitPatchUpdate: ', JSON.stringify(patchList));
182
- if (__PROFILE__) {
183
- console.profile('commitChanges');
184
- }
185
- markTiming(PerformanceTimingKeys.pack_changes_start);
186
- const obj: {
187
- data: string;
188
- patchOptions: PatchOptions;
189
- } = {
190
- data: JSON.stringify(patchList),
191
- patchOptions: {
192
- ...patchOptions,
193
- reloadVersion: getReloadVersion(),
194
- },
195
- };
196
- markTiming(PerformanceTimingKeys.pack_changes_end);
197
- if (globalPipelineOptions) {
198
- obj.patchOptions.pipelineOptions = globalPipelineOptions;
199
- setPipeline(undefined);
200
- }
201
- lynx.getNativeApp().callLepusMethod(LifecycleConstant.patchUpdate, obj, resolve);
202
- if (__PROFILE__) {
203
- console.profileEnd();
204
- }
205
- });
180
+ function commitPatchUpdate(patchList: PatchList, patchOptions: Omit<PatchOptions, 'reloadVersion'>): {
181
+ data: string;
182
+ patchOptions: PatchOptions;
183
+ } {
184
+ // console.debug('********** JS update:');
185
+ // printSnapshotInstance(
186
+ // (backgroundSnapshotInstanceManager.values.get(1) || backgroundSnapshotInstanceManager.values.get(-1))!,
187
+ // );
188
+ // console.debug('commitPatchUpdate: ', JSON.stringify(patchList));
189
+ if (__PROFILE__) {
190
+ console.profile('commitChanges');
191
+ }
192
+ markTiming(PerformanceTimingKeys.packChangesStart);
193
+ const obj: {
194
+ data: string;
195
+ patchOptions: PatchOptions;
196
+ } = {
197
+ data: JSON.stringify(patchList),
198
+ patchOptions: {
199
+ ...patchOptions,
200
+ reloadVersion: getReloadVersion(),
201
+ },
202
+ };
203
+ markTiming(PerformanceTimingKeys.packChangesEnd);
204
+ if (globalPipelineOptions) {
205
+ obj.patchOptions.pipelineOptions = globalPipelineOptions;
206
+ setPipeline(undefined);
207
+ }
208
+ if (__PROFILE__) {
209
+ console.profileEnd();
210
+ }
211
+
212
+ return obj;
206
213
  }
207
214
 
208
215
  function genCommitTaskId(): number {
209
216
  return nextCommitTaskId++;
210
217
  }
218
+ function clearCommitTaskId(): void {
219
+ nextCommitTaskId = 1;
220
+ }
211
221
 
212
222
  function replaceRequestAnimationFrame(): void {
213
223
  // to make afterPaintEffects run faster
@@ -224,10 +234,13 @@ export {
224
234
  commitPatchUpdate,
225
235
  commitToMainThread,
226
236
  genCommitTaskId,
237
+ clearCommitTaskId,
227
238
  globalBackgroundSnapshotInstancesToRemove,
228
239
  globalCommitTaskMap,
229
240
  globalFlushOptions,
230
241
  nextCommitTaskId,
242
+ patchesToCommit,
243
+ clearPatchesToCommit,
231
244
  replaceCommitHook,
232
245
  replaceRequestAnimationFrame,
233
246
  type PatchOptions,
@@ -25,11 +25,12 @@ function updateMainThread(
25
25
  }
26
26
 
27
27
  setPipeline(patchOptions.pipelineOptions);
28
- markTiming(PerformanceTimingKeys.parse_changes_start);
28
+ markTiming(PerformanceTimingKeys.mtsRenderStart);
29
+ markTiming(PerformanceTimingKeys.parseChangesStart);
29
30
  const { patchList, flushOptions = {} } = JSON.parse(data) as PatchList;
30
31
 
31
- markTiming(PerformanceTimingKeys.parse_changes_end);
32
- markTiming(PerformanceTimingKeys.patch_changes_start);
32
+ markTiming(PerformanceTimingKeys.parseChangesEnd);
33
+ markTiming(PerformanceTimingKeys.patchChangesStart);
33
34
 
34
35
  for (const { snapshotPatch, workletRefInitValuePatch, id } of patchList) {
35
36
  updateWorkletRefInitValueChanges(workletRefInitValuePatch);
@@ -43,7 +44,8 @@ function updateMainThread(
43
44
 
44
45
  commitMainThreadPatchUpdate(id);
45
46
  }
46
- markTiming(PerformanceTimingKeys.patch_changes_end);
47
+ markTiming(PerformanceTimingKeys.patchChangesEnd);
48
+ markTiming(PerformanceTimingKeys.mtsRenderEnd);
47
49
  if (patchOptions.isHydration) {
48
50
  clearDelayedWorklets();
49
51
  }
@@ -15,14 +15,22 @@ export interface ListUpdateInfo {
15
15
  onSetAttribute(child: SnapshotInstance, attr: any, oldAttr: any): void;
16
16
  }
17
17
 
18
+ interface InsertAction {
19
+ position: number;
20
+ type: string;
21
+ }
22
+
18
23
  interface UpdateAction {
19
- insertAction: {
20
- position: number;
21
- type: string;
22
- }[];
24
+ from: number;
25
+ to: number;
26
+ type: string;
27
+ flush: boolean;
28
+ }
29
+
30
+ interface ListOperations {
31
+ insertAction: InsertAction[];
23
32
  removeAction: number[];
24
- // TODO: type `updateAction`
25
- updateAction: any[];
33
+ updateAction: UpdateAction[];
26
34
  }
27
35
 
28
36
  // class ListUpdateInfoDiffing implements ListUpdateInfo {
@@ -115,12 +123,12 @@ export class ListUpdateInfoRecording implements ListUpdateInfo {
115
123
  this.platformInfoUpdate.set(child, attr);
116
124
  }
117
125
 
118
- private __toAttribute(): UpdateAction {
126
+ private __toAttribute(): ListOperations {
119
127
  const { removeChild, insertBefore, appendChild, platformInfoUpdate } = this;
120
128
 
121
129
  const removals: number[] = [];
122
- const insertions: { position: number; type: string }[] = [];
123
- const updates: any[] = [];
130
+ const insertions: InsertAction[] = [];
131
+ const updates: UpdateAction[] = [];
124
132
 
125
133
  let j = 0;
126
134
  for (let i = 0; i < this.oldChildNodes.length; i++, j++) {
@@ -199,7 +207,7 @@ export class ListUpdateInfoRecording implements ListUpdateInfo {
199
207
  };
200
208
  }
201
209
 
202
- toJSON(): [UpdateAction] {
210
+ toJSON(): [ListOperations] {
203
211
  // if (this.__pendingAttributes) {
204
212
  // return [...this.__pendingAttributes, this.__toAttribute()];
205
213
  // } else {
@@ -115,7 +115,7 @@ function updatePage(data: any, options?: UpdatePageOption): void {
115
115
  __root.__jsx = oldRoot.__jsx;
116
116
 
117
117
  setPipeline(options?.pipelineOptions);
118
- markTiming(PerformanceTimingKeys.update_diff_vdom_start);
118
+ markTiming(PerformanceTimingKeys.updateDiffVdomStart);
119
119
  {
120
120
  __pendingListUpdates.clear();
121
121
 
@@ -133,7 +133,7 @@ function updatePage(data: any, options?: UpdatePageOption): void {
133
133
  // always call this before `__FlushElementTree`
134
134
  __pendingListUpdates.flush();
135
135
  }
136
- markTiming(PerformanceTimingKeys.update_diff_vdom_end);
136
+ markTiming(PerformanceTimingKeys.updateDiffVdomEnd);
137
137
  }
138
138
 
139
139
  if (options) {
@@ -109,7 +109,7 @@ if (__JS__) {
109
109
  const timingFlag = this[NEXT_STATE][PerfSpecificKey];
110
110
  if (timingFlag) {
111
111
  globalFlushOptions.__lynx_timing_flag = timingFlag;
112
- markTimingLegacy(PerformanceTimingKeys.update_set_state_trigger, timingFlag);
112
+ markTimingLegacy(PerformanceTimingKeys.updateSetStateTrigger, timingFlag);
113
113
  this[NEXT_STATE][PerfSpecificKey] = '';
114
114
  }
115
115
  };