@spcsn/taro-mini-runner 1.0.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 (154) hide show
  1. package/README.md +103 -0
  2. package/dist/entrypoints/mini-runner.d.ts +2 -0
  3. package/dist/entrypoints/mini-runner.js +96 -0
  4. package/dist/entrypoints/mini-runner.js.map +1 -0
  5. package/dist/index.d.ts +5 -0
  6. package/dist/index.js +9 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/mini-program/config.d.ts +3 -0
  9. package/dist/mini-program/config.js +237 -0
  10. package/dist/mini-program/config.js.map +1 -0
  11. package/dist/mini-program/default-config.d.ts +3 -0
  12. package/dist/mini-program/default-config.js +49 -0
  13. package/dist/mini-program/default-config.js.map +1 -0
  14. package/dist/mini-program/emit.d.ts +3 -0
  15. package/dist/mini-program/emit.js +247 -0
  16. package/dist/mini-program/emit.js.map +1 -0
  17. package/dist/mini-program/entry.d.ts +3 -0
  18. package/dist/mini-program/entry.js +142 -0
  19. package/dist/mini-program/entry.js.map +1 -0
  20. package/dist/mini-program/index.d.ts +3 -0
  21. package/dist/mini-program/index.js +29 -0
  22. package/dist/mini-program/index.js.map +1 -0
  23. package/dist/mini-program/native-support.d.ts +6 -0
  24. package/dist/mini-program/native-support.js +160 -0
  25. package/dist/mini-program/native-support.js.map +1 -0
  26. package/dist/mini-program/page.d.ts +4 -0
  27. package/dist/mini-program/page.js +223 -0
  28. package/dist/mini-program/page.js.map +1 -0
  29. package/dist/mini-program/pipeline.d.ts +3 -0
  30. package/dist/mini-program/pipeline.js +46 -0
  31. package/dist/mini-program/pipeline.js.map +1 -0
  32. package/dist/mini-program/postcss.d.ts +6 -0
  33. package/dist/mini-program/postcss.js +26 -0
  34. package/dist/mini-program/postcss.js.map +1 -0
  35. package/dist/mini-program/style.d.ts +3 -0
  36. package/dist/mini-program/style.js +67 -0
  37. package/dist/mini-program/style.js.map +1 -0
  38. package/dist/plugins/rollup-plugin-increment.d.ts +8 -0
  39. package/dist/plugins/rollup-plugin-increment.js +52 -0
  40. package/dist/plugins/rollup-plugin-increment.js.map +1 -0
  41. package/dist/plugins/vite-plugin-assets.d.ts +3 -0
  42. package/dist/plugins/vite-plugin-assets.js +135 -0
  43. package/dist/plugins/vite-plugin-assets.js.map +1 -0
  44. package/dist/plugins/vite-plugin-multi-platform.d.ts +3 -0
  45. package/dist/plugins/vite-plugin-multi-platform.js +71 -0
  46. package/dist/plugins/vite-plugin-multi-platform.js.map +1 -0
  47. package/dist/react-framework/index.d.ts +27 -0
  48. package/dist/react-framework/index.js +36 -0
  49. package/dist/react-framework/index.js.map +1 -0
  50. package/dist/react-framework/loader-meta.d.ts +3 -0
  51. package/dist/react-framework/loader-meta.js +151 -0
  52. package/dist/react-framework/loader-meta.js.map +1 -0
  53. package/dist/react-framework/runtime/connect-native.d.ts +10 -0
  54. package/dist/react-framework/runtime/connect-native.js +392 -0
  55. package/dist/react-framework/runtime/connect-native.js.map +1 -0
  56. package/dist/react-framework/runtime/connect.d.ts +14 -0
  57. package/dist/react-framework/runtime/connect.js +313 -0
  58. package/dist/react-framework/runtime/connect.js.map +1 -0
  59. package/dist/react-framework/runtime/hooks.d.ts +30 -0
  60. package/dist/react-framework/runtime/hooks.js +87 -0
  61. package/dist/react-framework/runtime/hooks.js.map +1 -0
  62. package/dist/react-framework/runtime/index.d.ts +3 -0
  63. package/dist/react-framework/runtime/index.js +49 -0
  64. package/dist/react-framework/runtime/index.js.map +1 -0
  65. package/dist/react-framework/runtime/react-meta.d.ts +7 -0
  66. package/dist/react-framework/runtime/react-meta.js +9 -0
  67. package/dist/react-framework/runtime/react-meta.js.map +1 -0
  68. package/dist/react-framework/runtime/utils.d.ts +13 -0
  69. package/dist/react-framework/runtime/utils.js +45 -0
  70. package/dist/react-framework/runtime/utils.js.map +1 -0
  71. package/dist/react-framework/vite.mini.d.ts +3 -0
  72. package/dist/react-framework/vite.mini.js +135 -0
  73. package/dist/react-framework/vite.mini.js.map +1 -0
  74. package/dist/react-runtime/component-tree.d.ts +19 -0
  75. package/dist/react-runtime/component-tree.js +65 -0
  76. package/dist/react-runtime/component-tree.js.map +1 -0
  77. package/dist/react-runtime/constant.d.ts +7 -0
  78. package/dist/react-runtime/constant.js +78 -0
  79. package/dist/react-runtime/constant.js.map +1 -0
  80. package/dist/react-runtime/dom-input.d.ts +12 -0
  81. package/dist/react-runtime/dom-input.js +86 -0
  82. package/dist/react-runtime/dom-input.js.map +1 -0
  83. package/dist/react-runtime/event.d.ts +13 -0
  84. package/dist/react-runtime/event.js +83 -0
  85. package/dist/react-runtime/event.js.map +1 -0
  86. package/dist/react-runtime/index.d.ts +33 -0
  87. package/dist/react-runtime/index.js +75 -0
  88. package/dist/react-runtime/index.js.map +1 -0
  89. package/dist/react-runtime/input-value-tracking.d.ts +3 -0
  90. package/dist/react-runtime/input-value-tracking.js +84 -0
  91. package/dist/react-runtime/input-value-tracking.js.map +1 -0
  92. package/dist/react-runtime/props.d.ts +7 -0
  93. package/dist/react-runtime/props.js +153 -0
  94. package/dist/react-runtime/props.js.map +1 -0
  95. package/dist/react-runtime/reconciler.d.ts +5 -0
  96. package/dist/react-runtime/reconciler.js +217 -0
  97. package/dist/react-runtime/reconciler.js.map +1 -0
  98. package/dist/react-runtime/render.d.ts +25 -0
  99. package/dist/react-runtime/render.js +97 -0
  100. package/dist/react-runtime/render.js.map +1 -0
  101. package/dist/react-runtime/work-tags.d.ts +26 -0
  102. package/dist/react-runtime/work-tags.js +29 -0
  103. package/dist/react-runtime/work-tags.js.map +1 -0
  104. package/dist/shared/compiler/base.d.ts +41 -0
  105. package/dist/shared/compiler/base.js +170 -0
  106. package/dist/shared/compiler/base.js.map +1 -0
  107. package/dist/shared/compiler/mini.d.ts +20 -0
  108. package/dist/shared/compiler/mini.js +147 -0
  109. package/dist/shared/compiler/mini.js.map +1 -0
  110. package/dist/shared/component.d.ts +2 -0
  111. package/dist/shared/component.js +21 -0
  112. package/dist/shared/component.js.map +1 -0
  113. package/dist/shared/constants.d.ts +47 -0
  114. package/dist/shared/constants.js +51 -0
  115. package/dist/shared/constants.js.map +1 -0
  116. package/dist/shared/create-filter.d.ts +7 -0
  117. package/dist/shared/create-filter.js +97 -0
  118. package/dist/shared/create-filter.js.map +1 -0
  119. package/dist/shared/html.d.ts +1 -0
  120. package/dist/shared/html.js +19 -0
  121. package/dist/shared/html.js.map +1 -0
  122. package/dist/shared/index.d.ts +39 -0
  123. package/dist/shared/index.js +258 -0
  124. package/dist/shared/index.js.map +1 -0
  125. package/dist/shared/logger.d.ts +7 -0
  126. package/dist/shared/logger.js +146 -0
  127. package/dist/shared/logger.js.map +1 -0
  128. package/dist/shared/map.d.ts +11 -0
  129. package/dist/shared/map.js +41 -0
  130. package/dist/shared/map.js.map +1 -0
  131. package/dist/shared/profile.d.ts +9 -0
  132. package/dist/shared/profile.js +52 -0
  133. package/dist/shared/profile.js.map +1 -0
  134. package/dist/shared/rollup.d.ts +8 -0
  135. package/dist/shared/rollup.js +40 -0
  136. package/dist/shared/rollup.js.map +1 -0
  137. package/dist/shared/runner/constant.d.ts +5 -0
  138. package/dist/shared/runner/constant.js +53 -0
  139. package/dist/shared/runner/constant.js.map +1 -0
  140. package/dist/shared/runner/index.d.ts +2 -0
  141. package/dist/shared/runner/index.js +19 -0
  142. package/dist/shared/runner/index.js.map +1 -0
  143. package/dist/shared/runner/vite.d.ts +3 -0
  144. package/dist/shared/runner/vite.js +10 -0
  145. package/dist/shared/runner/vite.js.map +1 -0
  146. package/dist/style-transforms/html-transform.d.ts +14 -0
  147. package/dist/style-transforms/html-transform.js +124 -0
  148. package/dist/style-transforms/html-transform.js.map +1 -0
  149. package/dist/style-transforms/px-transform.d.ts +40 -0
  150. package/dist/style-transforms/px-transform.js +252 -0
  151. package/dist/style-transforms/px-transform.js.map +1 -0
  152. package/dist/templates/comp.js +5 -0
  153. package/dist/templates/custom-wrapper.js +5 -0
  154. package/package.json +67 -0
@@ -0,0 +1,3 @@
1
+ export declare function track(node: any): void;
2
+ export declare function updateValueIfChanged(node: any, nextValue: string): boolean;
3
+ export declare function stopTracking(node: any): void;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.track = track;
4
+ exports.updateValueIfChanged = updateValueIfChanged;
5
+ exports.stopTracking = stopTracking;
6
+ function isCheckable(elem) {
7
+ const type = elem.type;
8
+ const nodeName = elem.nodeName;
9
+ return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');
10
+ }
11
+ function getTracker(node) {
12
+ return node._valueTracker;
13
+ }
14
+ function detachTracker(node) {
15
+ node._valueTracker = null;
16
+ }
17
+ // 之所以单独创建一个 tacker,是为了统一监听不同 type 的 input 值
18
+ // 比如 type=checkbox 或者 type=radio,就需要监听 checked,而不是 value
19
+ // 虽然目前还未实现 checkbox 和 radio 的 finishEventHandle,但后续不好说,所以先统一和 react 一样的写法
20
+ // 需要特别注意的是,tracker 初始化时的值为 node 的初始值,但后续会变更为事件的 detail.value 值
21
+ function trackValueOnNode(node) {
22
+ const valueField = isCheckable(node) ? 'checked' : 'value';
23
+ const descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);
24
+ let currentValue = '' + node[valueField];
25
+ if (node.hasOwnProperty(valueField) ||
26
+ typeof descriptor === 'undefined' ||
27
+ typeof descriptor.get !== 'function' ||
28
+ typeof descriptor.set !== 'function') {
29
+ return;
30
+ }
31
+ const { get, set } = descriptor;
32
+ Object.defineProperty(node, valueField, {
33
+ configurable: true,
34
+ enumerable: descriptor.enumerable,
35
+ get: function () {
36
+ return get.call(this);
37
+ },
38
+ set: function (value) {
39
+ currentValue = '' + value;
40
+ set.call(this, value);
41
+ },
42
+ });
43
+ const tracker = {
44
+ getValue() {
45
+ return currentValue;
46
+ },
47
+ setValue(value) {
48
+ currentValue = '' + value;
49
+ },
50
+ stopTracking() {
51
+ detachTracker(node);
52
+ delete node[valueField];
53
+ },
54
+ };
55
+ return tracker;
56
+ }
57
+ function track(node) {
58
+ if (getTracker(node)) {
59
+ return;
60
+ }
61
+ node._valueTracker = trackValueOnNode(node);
62
+ }
63
+ function updateValueIfChanged(node, nextValue) {
64
+ if (!node) {
65
+ return false;
66
+ }
67
+ const tracker = getTracker(node);
68
+ if (!tracker) {
69
+ return true;
70
+ }
71
+ const lastValue = tracker.getValue();
72
+ if (nextValue !== lastValue) {
73
+ tracker.setValue(nextValue);
74
+ return true;
75
+ }
76
+ return false;
77
+ }
78
+ function stopTracking(node) {
79
+ const tracker = getTracker(node);
80
+ if (tracker) {
81
+ tracker.stopTracking();
82
+ }
83
+ }
84
+ //# sourceMappingURL=input-value-tracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-value-tracking.js","sourceRoot":"","sources":["../../src/react-runtime/input-value-tracking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { TaroElement } from '@spcsn/taro-runtime';
2
+ export type Props = Record<string, unknown>;
3
+ type UpdatePayload = unknown[];
4
+ export declare function updateProps(dom: TaroElement, oldProps: Props, newProps: Props): void;
5
+ export declare function updatePropsByPayload(dom: TaroElement, oldProps: Props, updatePayload: UpdatePayload): void;
6
+ export declare function getUpdatePayload(dom: TaroElement, oldProps: Props, newProps: Props): UpdatePayload | null;
7
+ export {};
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateProps = updateProps;
4
+ exports.updatePropsByPayload = updatePropsByPayload;
5
+ exports.getUpdatePayload = getUpdatePayload;
6
+ const taro_runtime_1 = require("@spcsn/taro-runtime");
7
+ const taro_shared_1 = require("@spcsn/taro-shared");
8
+ const IS_NON_DIMENSIONAL = /aspect|acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
9
+ function isEventName(name) {
10
+ return name[0] === 'o' && name[1] === 'n';
11
+ }
12
+ function isEventHandler(value) {
13
+ return (0, taro_shared_1.isFunction)(value);
14
+ }
15
+ function isEqual(firstValue, secondValue) {
16
+ if (firstValue === secondValue) {
17
+ return true;
18
+ }
19
+ if (typeof firstValue !== 'object' ||
20
+ firstValue === null ||
21
+ typeof secondValue !== 'object' ||
22
+ secondValue === null) {
23
+ return false;
24
+ }
25
+ const firstObject = firstValue;
26
+ const secondObject = secondValue;
27
+ const firstKeys = Object.keys(firstObject);
28
+ const secondKeys = Object.keys(secondObject);
29
+ if (firstKeys.length !== secondKeys.length) {
30
+ return false;
31
+ }
32
+ for (const key of firstKeys) {
33
+ if (firstObject[key] !== secondObject[key]) {
34
+ return false;
35
+ }
36
+ }
37
+ return true;
38
+ }
39
+ function updateProps(dom, oldProps, newProps) {
40
+ const updatePayload = getUpdatePayload(dom, oldProps, newProps);
41
+ if (updatePayload) {
42
+ updatePropsByPayload(dom, oldProps, updatePayload);
43
+ }
44
+ }
45
+ function updatePropsByPayload(dom, oldProps, updatePayload) {
46
+ for (let i = 0; i < updatePayload.length; i += 2) {
47
+ const key = updatePayload[i];
48
+ const newProp = updatePayload[i + 1];
49
+ const oldProp = oldProps[key];
50
+ setProperty(dom, key, newProp, oldProp);
51
+ }
52
+ }
53
+ function getUpdatePayload(dom, oldProps, newProps) {
54
+ let i;
55
+ let updatePayload = null;
56
+ for (i in oldProps) {
57
+ if (!(i in newProps)) {
58
+ (updatePayload = updatePayload || []).push(i, null);
59
+ }
60
+ }
61
+ const isFormElement = dom instanceof taro_runtime_1.FormElement;
62
+ for (i in newProps) {
63
+ if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {
64
+ // 如果都是 style,且 style 里面的值相等,则无需记录到 payload 中
65
+ if (i === 'style' && (0, taro_shared_1.isObject)(oldProps[i]) && (0, taro_shared_1.isObject)(newProps[i]) && isEqual(oldProps[i], newProps[i]))
66
+ continue;
67
+ (updatePayload = updatePayload || []).push(i, newProps[i]);
68
+ }
69
+ }
70
+ return updatePayload;
71
+ }
72
+ // function eventProxy (e: CommonEvent) {
73
+ // const el = document.getElementById(e.currentTarget.id)
74
+ // const handlers = el!.__handlers[e.type]
75
+ // handlers[0](e)
76
+ // }
77
+ function setEvent(dom, name, value, oldValue) {
78
+ const isCapture = name.endsWith('Capture');
79
+ let eventName = name.toLowerCase().slice(2);
80
+ if (isCapture) {
81
+ eventName = eventName.slice(0, -7);
82
+ }
83
+ const compName = (0, taro_shared_1.capitalize)((0, taro_shared_1.toCamelCase)(dom.tagName.toLowerCase()));
84
+ if (eventName === 'click' && compName in taro_shared_1.internalComponents) {
85
+ eventName = 'tap';
86
+ }
87
+ if (isEventHandler(value)) {
88
+ if (isEventHandler(oldValue)) {
89
+ dom.removeEventListener(eventName, oldValue, false);
90
+ dom.addEventListener(eventName, value, { isCapture, sideEffect: false });
91
+ }
92
+ else {
93
+ dom.addEventListener(eventName, value, isCapture);
94
+ }
95
+ return;
96
+ }
97
+ if (isEventHandler(oldValue)) {
98
+ dom.removeEventListener(eventName, oldValue);
99
+ }
100
+ }
101
+ function setStyle(style, key, value) {
102
+ if (key[0] === '-') {
103
+ // css variables need not further judgment
104
+ style.setProperty(key, value.toString());
105
+ return;
106
+ }
107
+ style[key] =
108
+ (0, taro_shared_1.isNumber)(value) && IS_NON_DIMENSIONAL.test(key) === false ? (0, taro_runtime_1.convertNumber2PX)(value) : value === null ? '' : value;
109
+ }
110
+ function setProperty(dom, name, value, oldValue) {
111
+ name = name === 'className' ? 'class' : name;
112
+ if (name === 'key' || name === 'children' || name === 'ref' || name === 'dangerouslySetInnerHTML') {
113
+ // skip
114
+ }
115
+ else if (name === 'style') {
116
+ const style = dom.style;
117
+ if ((0, taro_shared_1.isString)(value)) {
118
+ style.cssText = value;
119
+ }
120
+ else {
121
+ if ((0, taro_shared_1.isString)(oldValue)) {
122
+ style.cssText = '';
123
+ oldValue = null;
124
+ }
125
+ if ((0, taro_shared_1.isObject)(oldValue)) {
126
+ for (const i in oldValue) {
127
+ if (!(value && i in value)) {
128
+ setStyle(style, i, '');
129
+ }
130
+ }
131
+ }
132
+ if ((0, taro_shared_1.isObject)(value)) {
133
+ for (const i in value) {
134
+ if (!oldValue || !isEqual(value[i], oldValue[i])) {
135
+ setStyle(style, i, value[i]);
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+ else if (isEventName(name)) {
142
+ setEvent(dom, name, value, oldValue);
143
+ }
144
+ else if (!(0, taro_shared_1.isFunction)(value)) {
145
+ if (value == null) {
146
+ dom.removeAttribute(name);
147
+ }
148
+ else {
149
+ dom.setAttribute(name, value);
150
+ }
151
+ }
152
+ }
153
+ //# sourceMappingURL=props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/react-runtime/props.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import Reconciler from 'react-reconciler';
2
+ import type { TaroElement, TaroText } from '@spcsn/taro-runtime';
3
+ declare const TaroReconciler: Reconciler.Reconciler<TaroElement, TaroElement, TaroText, TaroElement, TaroElement, TaroElement>;
4
+ export declare function runWithPriority<T>(priority: any, fn: () => T): T;
5
+ export { TaroReconciler };
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TaroReconciler = void 0;
7
+ exports.runWithPriority = runWithPriority;
8
+ const taro_runtime_1 = require("@spcsn/taro-runtime");
9
+ const taro_shared_1 = require("@spcsn/taro-shared");
10
+ const react_1 = require("react");
11
+ const react_reconciler_1 = __importDefault(require("react-reconciler"));
12
+ const constants_1 = require("react-reconciler/constants");
13
+ const component_tree_1 = require("./component-tree");
14
+ const input_value_tracking_1 = require("./input-value-tracking");
15
+ const props_1 = require("./props");
16
+ let currentUpdatePriority = constants_1.NoEventPriority;
17
+ const hostConfig = {
18
+ // below keys order by {React ReactFiberHostConfig.custom.js}, convenient for comparing each other.
19
+ // -------------------
20
+ // required by @types/react-reconciler
21
+ // -------------------
22
+ getPublicInstance(inst) {
23
+ return inst;
24
+ },
25
+ getRootHostContext() {
26
+ return {};
27
+ },
28
+ getChildHostContext(parentHostContext) {
29
+ return parentHostContext;
30
+ },
31
+ prepareForCommit(..._) {
32
+ return null;
33
+ },
34
+ resetAfterCommit: taro_shared_1.noop,
35
+ createInstance(type, props, _rootContainerInstance, _hostContext, internalInstanceHandle) {
36
+ const element = taro_runtime_1.document.createElement(type);
37
+ (0, component_tree_1.precacheFiberNode)(internalInstanceHandle, element);
38
+ (0, component_tree_1.updateFiberProps)(element, props);
39
+ return element;
40
+ },
41
+ appendInitialChild(parent, child) {
42
+ parent.appendChild(child);
43
+ },
44
+ finalizeInitialChildren(dom, type, props) {
45
+ let newProps = props;
46
+ if (dom instanceof taro_runtime_1.FormElement) {
47
+ const [defaultName, defaultKey] = ['switch', 'checkbox', 'radio'].includes(type)
48
+ ? ['checked', 'defaultChecked']
49
+ : ['value', 'defaultValue'];
50
+ if (props.hasOwnProperty(defaultKey)) {
51
+ newProps = { ...newProps, [defaultName]: props[defaultKey] };
52
+ delete newProps[defaultKey];
53
+ }
54
+ }
55
+ (0, props_1.updateProps)(dom, {}, newProps); // 提前执行更新属性操作,Taro 在 Page 初始化后会立即从 dom 读取必要信息
56
+ if (type === 'input' || type === 'textarea') {
57
+ (0, input_value_tracking_1.track)(dom);
58
+ }
59
+ return false;
60
+ },
61
+ shouldSetTextContent() {
62
+ return false;
63
+ },
64
+ createTextInstance(text, _rootContainerInstance, _hostContext, internalInstanceHandle) {
65
+ const textNode = taro_runtime_1.document.createTextNode(text);
66
+ (0, component_tree_1.precacheFiberNode)(internalInstanceHandle, textNode);
67
+ return textNode;
68
+ },
69
+ scheduleTimeout: setTimeout,
70
+ cancelTimeout: clearTimeout,
71
+ noTimeout: -1,
72
+ isPrimaryRenderer: true,
73
+ warnsIfNotActing: true,
74
+ supportsMutation: true,
75
+ supportsPersistence: false,
76
+ supportsHydration: false,
77
+ getInstanceFromNode: () => null,
78
+ beforeActiveInstanceBlur: taro_shared_1.noop,
79
+ afterActiveInstanceBlur: taro_shared_1.noop,
80
+ preparePortalMount: taro_shared_1.noop,
81
+ prepareScopeUpdate: taro_shared_1.noop,
82
+ getInstanceFromScope: () => null,
83
+ NotPendingTransition: null,
84
+ HostTransitionContext: (0, react_1.createContext)(null),
85
+ setCurrentUpdatePriority(newPriority) {
86
+ currentUpdatePriority = newPriority;
87
+ },
88
+ getCurrentUpdatePriority() {
89
+ return currentUpdatePriority;
90
+ },
91
+ resolveUpdatePriority() {
92
+ return constants_1.DefaultEventPriority;
93
+ },
94
+ resetFormInstance: taro_shared_1.noop,
95
+ requestPostPaintCallback(callback) {
96
+ setTimeout(() => callback(Date.now()), 0);
97
+ },
98
+ shouldAttemptEagerTransition() {
99
+ return false;
100
+ },
101
+ trackSchedulerEvent: taro_shared_1.noop,
102
+ resolveEventType() {
103
+ return null;
104
+ },
105
+ resolveEventTimeStamp() {
106
+ return Date.now();
107
+ },
108
+ maySuspendCommit() {
109
+ return false;
110
+ },
111
+ preloadInstance() {
112
+ return true;
113
+ },
114
+ startSuspendingCommit: taro_shared_1.noop,
115
+ suspendInstance: taro_shared_1.noop,
116
+ waitForCommitToBeReady() {
117
+ return null;
118
+ },
119
+ detachDeletedInstance: taro_shared_1.noop,
120
+ // -------------------
121
+ // Microtasks
122
+ // (optional)
123
+ // -------------------
124
+ supportsMicrotasks: true,
125
+ scheduleMicrotask: (0, taro_shared_1.isUndefined)(Promise)
126
+ ? setTimeout
127
+ : (callback) => Promise.resolve(null)
128
+ .then(callback)
129
+ .catch(function (error) {
130
+ setTimeout(() => {
131
+ throw error;
132
+ });
133
+ }),
134
+ // -------------------
135
+ // Mutation
136
+ // (required if supportsMutation is true)
137
+ // -------------------
138
+ appendChild(parent, child) {
139
+ parent.appendChild(child);
140
+ },
141
+ appendChildToContainer(parent, child) {
142
+ parent.appendChild(child);
143
+ },
144
+ commitTextUpdate(textInst, _, newText) {
145
+ textInst.nodeValue = newText;
146
+ },
147
+ commitMount: taro_shared_1.noop,
148
+ commitUpdate(dom, _type, oldProps, newProps) {
149
+ const updatePayload = (0, props_1.getUpdatePayload)(dom, oldProps, newProps);
150
+ if (!updatePayload)
151
+ return;
152
+ // payload 只包含 children 的时候,不应该再继续触发后续的属性比较和更新的逻辑了
153
+ if (updatePayload.length === 2 && updatePayload.includes('children'))
154
+ return;
155
+ (0, props_1.updatePropsByPayload)(dom, oldProps, updatePayload);
156
+ (0, component_tree_1.updateFiberProps)(dom, newProps);
157
+ },
158
+ insertBefore(parent, child, refChild) {
159
+ parent.insertBefore(child, refChild);
160
+ },
161
+ insertInContainerBefore(parent, child, refChild) {
162
+ parent.insertBefore(child, refChild);
163
+ },
164
+ removeChild(parent, child) {
165
+ parent.removeChild(child);
166
+ },
167
+ removeChildFromContainer(parent, child) {
168
+ parent.removeChild(child);
169
+ },
170
+ resetTextContent: taro_shared_1.noop,
171
+ hideInstance(instance) {
172
+ const style = instance.style;
173
+ style.setProperty('display', 'none');
174
+ },
175
+ hideTextInstance(textInstance) {
176
+ textInstance.nodeValue = '';
177
+ },
178
+ unhideInstance(instance, props) {
179
+ const styleProp = props.style;
180
+ let display = styleProp?.hasOwnProperty('display') ? styleProp.display : null;
181
+ display = display == null || (0, taro_shared_1.isBoolean)(display) || display === '' ? '' : ('' + display).trim();
182
+ instance.style.setProperty('display', display);
183
+ },
184
+ unhideTextInstance(textInstance, text) {
185
+ textInstance.nodeValue = text;
186
+ },
187
+ clearContainer(element) {
188
+ if (element.childNodes.length > 0) {
189
+ element.textContent = '';
190
+ }
191
+ },
192
+ };
193
+ const TaroReconciler = (0, react_reconciler_1.default)(hostConfig);
194
+ exports.TaroReconciler = TaroReconciler;
195
+ function runWithPriority(priority, fn) {
196
+ const previousPriority = currentUpdatePriority;
197
+ currentUpdatePriority = priority;
198
+ try {
199
+ return fn();
200
+ }
201
+ finally {
202
+ currentUpdatePriority = previousPriority;
203
+ }
204
+ }
205
+ if (process.env.NODE_ENV !== 'production') {
206
+ const foundDevTools = TaroReconciler.injectIntoDevTools({
207
+ bundleType: 1,
208
+ version: '18.0.0',
209
+ rendererPackageName: 'taro-react',
210
+ });
211
+ if (!foundDevTools) {
212
+ globalThis.console.info('%cDownload the React DevTools ' +
213
+ 'for a better development experience: ' +
214
+ 'https://reactjs.org/link/react-devtools', 'font-weight:bold');
215
+ }
216
+ }
217
+ //# sourceMappingURL=reconciler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/react-runtime/reconciler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { TaroReconciler } from './reconciler';
2
+ import type { TaroElement } from '@spcsn/taro-runtime';
3
+ import type { ReactNode } from 'react';
4
+ import type { OpaqueRoot } from 'react-reconciler';
5
+ export declare const ContainerMap: WeakMap<TaroElement, Root>;
6
+ type Renderer = typeof TaroReconciler;
7
+ type CreateRootOptions = {
8
+ unstable_strictMode?: boolean;
9
+ unstable_concurrentUpdatesByDefault?: boolean;
10
+ unstable_transitionCallbacks?: any;
11
+ identifierPrefix?: string;
12
+ onRecoverableError?: (error: any) => void;
13
+ };
14
+ export type Callback = () => void | null | undefined;
15
+ declare class Root {
16
+ private renderer;
17
+ internalRoot: OpaqueRoot;
18
+ constructor(renderer: Renderer, domContainer: TaroElement, options?: CreateRootOptions);
19
+ private initInternalRoot;
20
+ render(children: ReactNode, cb: Callback): TaroElement | import("react").Component<any, any, any> | null;
21
+ unmount(cb: Callback): void;
22
+ }
23
+ export declare function render(element: ReactNode, domContainer: TaroElement, cb: Callback): TaroElement | import("react").Component<any, any, any> | null;
24
+ export declare function createRoot(domContainer: TaroElement, options?: CreateRootOptions): Root;
25
+ export {};
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerMap = void 0;
4
+ exports.render = render;
5
+ exports.createRoot = createRoot;
6
+ const taro_shared_1 = require("@spcsn/taro-shared");
7
+ const component_tree_1 = require("./component-tree");
8
+ const constant_1 = require("./constant");
9
+ const event_1 = require("./event");
10
+ const reconciler_1 = require("./reconciler");
11
+ exports.ContainerMap = new WeakMap();
12
+ class Root {
13
+ renderer;
14
+ internalRoot;
15
+ constructor(renderer, domContainer, options) {
16
+ this.renderer = renderer;
17
+ this.initInternalRoot(renderer, domContainer, options);
18
+ }
19
+ initInternalRoot(renderer, domContainer, options) {
20
+ // Since react-reconciler v0.27, createContainer need more parameters
21
+ // @see:https://github.com/facebook/react/blob/0b974418c9a56f6c560298560265dcf4b65784bc/packages/react-reconciler/src/ReactFiberReconciler.js#L248
22
+ const containerInfo = domContainer;
23
+ if (options) {
24
+ const tag = 1; // ConcurrentRoot
25
+ const concurrentUpdatesByDefaultOverride = false;
26
+ let isStrictMode = false;
27
+ let identifierPrefix = '';
28
+ let onRecoverableError = (error) => console.error(error);
29
+ if (options.unstable_strictMode === true) {
30
+ isStrictMode = true;
31
+ }
32
+ if (options.identifierPrefix !== undefined) {
33
+ identifierPrefix = options.identifierPrefix;
34
+ }
35
+ if (options.onRecoverableError !== undefined) {
36
+ onRecoverableError = options.onRecoverableError;
37
+ }
38
+ this.internalRoot = renderer.createContainer(containerInfo, tag, null, // hydrationCallbacks
39
+ isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, onRecoverableError, onRecoverableError, () => { });
40
+ }
41
+ else {
42
+ const tag = 0; // LegacyRoot
43
+ this.internalRoot = renderer.createContainer(containerInfo, tag, null, // hydrationCallbacks
44
+ false, // isStrictMode
45
+ false, // concurrentUpdatesByDefaultOverride,
46
+ '', // identifierPrefix
47
+ () => { }, // onRecoverableError, this isn't reachable because onRecoverableError isn't called in the legacy API.
48
+ () => { }, () => { }, () => { });
49
+ }
50
+ }
51
+ render(children, cb) {
52
+ const { renderer, internalRoot } = this;
53
+ renderer.updateContainer(children, internalRoot, null, cb);
54
+ return renderer.getPublicRootInstance(internalRoot);
55
+ }
56
+ unmount(cb) {
57
+ this.renderer.updateContainer(null, this.internalRoot, null, cb);
58
+ }
59
+ }
60
+ function render(element, domContainer, cb) {
61
+ const oldRoot = exports.ContainerMap.get(domContainer);
62
+ if (oldRoot != null) {
63
+ return oldRoot.render(element, cb);
64
+ }
65
+ const root = new Root(reconciler_1.TaroReconciler, domContainer);
66
+ exports.ContainerMap.set(domContainer, root);
67
+ return root.render(element, cb);
68
+ }
69
+ function createRoot(domContainer, options = {}) {
70
+ const oldRoot = exports.ContainerMap.get(domContainer);
71
+ if (oldRoot != null) {
72
+ return oldRoot;
73
+ }
74
+ // options should be an object
75
+ const root = new Root(reconciler_1.TaroReconciler, domContainer, options);
76
+ exports.ContainerMap.set(domContainer, root);
77
+ (0, component_tree_1.markContainerAsRoot)(root?.internalRoot?.current, domContainer);
78
+ taro_shared_1.hooks.tap('dispatchTaroEvent', (e, node) => {
79
+ const eventPriority = (0, constant_1.getEventPriority)(e.type);
80
+ (0, reconciler_1.runWithPriority)(eventPriority, () => {
81
+ node.dispatchEvent(e);
82
+ });
83
+ });
84
+ // 对比 event.detail.value 和 node.tracker.value,判断 value 值是否有变动,存在变动则塞入队列中
85
+ taro_shared_1.hooks.tap('modifyTaroEvent', (e, node) => {
86
+ const inst = (0, event_1.getTargetInstForInputOrChangeEvent)(e, node);
87
+ if (!inst)
88
+ return;
89
+ // 这里塞入的是 event.detail.value,也就是事件的值,在受控组件中,你可以理解为需要被变更的值
90
+ // 后续会在 finishEventHandler 中,使用最新的 fiber.props.value 来与其比较
91
+ // 如果不一致,则表示需要更新,会执行 node.value = fiber.props.value 的更新操作
92
+ const nextValue = e.mpEvent?.detail?.value;
93
+ (0, event_1.enqueueStateRestore)({ target: node, value: nextValue });
94
+ });
95
+ return root;
96
+ }
97
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/react-runtime/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export type WorkTag = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25;
2
+ export declare const FunctionComponent = 0;
3
+ export declare const ClassComponent = 1;
4
+ export declare const IndeterminateComponent = 2;
5
+ export declare const HostRoot = 3;
6
+ export declare const HostPortal = 4;
7
+ export declare const HostComponent = 5;
8
+ export declare const HostText = 6;
9
+ export declare const Fragment = 7;
10
+ export declare const Mode = 8;
11
+ export declare const ContextConsumer = 9;
12
+ export declare const ContextProvider = 10;
13
+ export declare const ForwardRef = 11;
14
+ export declare const Profiler = 12;
15
+ export declare const SuspenseComponent = 13;
16
+ export declare const MemoComponent = 14;
17
+ export declare const SimpleMemoComponent = 15;
18
+ export declare const LazyComponent = 16;
19
+ export declare const IncompleteClassComponent = 17;
20
+ export declare const DehydratedFragment = 18;
21
+ export declare const SuspenseListComponent = 19;
22
+ export declare const ScopeComponent = 21;
23
+ export declare const OffscreenComponent = 22;
24
+ export declare const LegacyHiddenComponent = 23;
25
+ export declare const CacheComponent = 24;
26
+ export declare const TracingMarkerComponent = 25;