@vxrn/compiler 1.25.16 → 1.26.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.
- package/dist/cjs/cache.cjs +4 -2
- package/dist/cjs/configure.cjs +9 -1
- package/dist/cjs/index.cjs +87 -5
- package/dist/cjs/reactNativeCodegen.cjs +140 -0
- package/dist/cjs/reactNativeViewConfig.cjs +489 -0
- package/dist/cjs/transformBabel.cjs +15 -20
- package/dist/cjs/transformBabel.test.cjs +260 -0
- package/dist/cjs/transformHermesAsync.cjs +61 -0
- package/dist/cjs/transformHermesLoops.cjs +319 -0
- package/dist/cjs/transformHermesLoops.test.cjs +257 -0
- package/dist/cjs/transformSWC.cjs +110 -138
- package/dist/cjs/transformSWC.test.cjs +117 -0
- package/dist/cjs/transformWorklets.cjs +123 -0
- package/dist/cjs/transformWorklets.test.cjs +604 -0
- package/dist/cjs/worklets/autoworklet.cjs +265 -0
- package/dist/cjs/worklets/globals.cjs +73 -0
- package/dist/cjs/worklets/hash.cjs +38 -0
- package/dist/cjs/worklets/scope.cjs +370 -0
- package/dist/cjs/worklets/serialize.cjs +101 -0
- package/dist/cjs/worklets/transform.cjs +266 -0
- package/dist/cjs/worklets/types.cjs +18 -0
- package/dist/esm/cache.mjs +5 -3
- package/dist/esm/cache.mjs.map +1 -1
- package/dist/esm/configure.mjs +8 -1
- package/dist/esm/configure.mjs.map +1 -1
- package/dist/esm/index.js +75 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +75 -6
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/reactNativeCodegen.mjs +104 -0
- package/dist/esm/reactNativeCodegen.mjs.map +1 -0
- package/dist/esm/reactNativeViewConfig.mjs +460 -0
- package/dist/esm/reactNativeViewConfig.mjs.map +1 -0
- package/dist/esm/transformBabel.mjs +14 -19
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformBabel.test.mjs +261 -1
- package/dist/esm/transformBabel.test.mjs.map +1 -1
- package/dist/esm/transformHermesAsync.mjs +25 -0
- package/dist/esm/transformHermesAsync.mjs.map +1 -0
- package/dist/esm/transformHermesLoops.mjs +283 -0
- package/dist/esm/transformHermesLoops.mjs.map +1 -0
- package/dist/esm/transformHermesLoops.test.mjs +234 -0
- package/dist/esm/transformHermesLoops.test.mjs.map +1 -0
- package/dist/esm/transformSWC.mjs +96 -139
- package/dist/esm/transformSWC.mjs.map +1 -1
- package/dist/esm/transformSWC.test.mjs +118 -0
- package/dist/esm/transformSWC.test.mjs.map +1 -0
- package/dist/esm/transformWorklets.mjs +82 -0
- package/dist/esm/transformWorklets.mjs.map +1 -0
- package/dist/esm/transformWorklets.test.mjs +581 -0
- package/dist/esm/transformWorklets.test.mjs.map +1 -0
- package/dist/esm/worklets/autoworklet.mjs +234 -0
- package/dist/esm/worklets/autoworklet.mjs.map +1 -0
- package/dist/esm/worklets/globals.mjs +46 -0
- package/dist/esm/worklets/globals.mjs.map +1 -0
- package/dist/esm/worklets/hash.mjs +13 -0
- package/dist/esm/worklets/hash.mjs.map +1 -0
- package/dist/esm/worklets/scope.mjs +345 -0
- package/dist/esm/worklets/scope.mjs.map +1 -0
- package/dist/esm/worklets/serialize.mjs +75 -0
- package/dist/esm/worklets/serialize.mjs.map +1 -0
- package/dist/esm/worklets/transform.mjs +229 -0
- package/dist/esm/worklets/transform.mjs.map +1 -0
- package/dist/esm/worklets/types.mjs +2 -0
- package/dist/esm/worklets/types.mjs.map +1 -0
- package/package.json +11 -6
- package/src/cache.ts +10 -3
- package/src/configure.ts +12 -0
- package/src/index.ts +96 -13
- package/src/reactNativeCodegen.ts +181 -0
- package/src/reactNativeViewConfig.ts +593 -0
- package/src/transformBabel.test.ts +268 -1
- package/src/transformBabel.ts +21 -31
- package/src/transformHermesAsync.ts +30 -0
- package/src/transformHermesLoops.test.ts +341 -0
- package/src/transformHermesLoops.ts +435 -0
- package/src/transformSWC.test.ts +132 -0
- package/src/transformSWC.ts +121 -161
- package/src/transformWorklets.test.ts +708 -0
- package/src/transformWorklets.ts +160 -0
- package/src/types.ts +4 -4
- package/src/worklets/autoworklet.ts +391 -0
- package/src/worklets/globals.ts +129 -0
- package/src/worklets/hash.ts +14 -0
- package/src/worklets/scope.ts +401 -0
- package/src/worklets/serialize.ts +114 -0
- package/src/worklets/transform.ts +319 -0
- package/src/worklets/types.ts +26 -0
- package/types/cache.d.ts +1 -0
- package/types/cache.d.ts.map +1 -1
- package/types/configure.d.ts +2 -0
- package/types/configure.d.ts.map +1 -1
- package/types/index.d.ts +6 -0
- package/types/index.d.ts.map +1 -1
- package/types/reactNativeCodegen.d.ts +5 -0
- package/types/reactNativeCodegen.d.ts.map +1 -0
- package/types/reactNativeViewConfig.d.ts +35 -0
- package/types/reactNativeViewConfig.d.ts.map +1 -0
- package/types/transformBabel.d.ts +3 -3
- package/types/transformBabel.d.ts.map +1 -1
- package/types/transformHermesAsync.d.ts +5 -0
- package/types/transformHermesAsync.d.ts.map +1 -0
- package/types/transformHermesLoops.d.ts +5 -0
- package/types/transformHermesLoops.d.ts.map +1 -0
- package/types/transformHermesLoops.test.d.ts +2 -0
- package/types/transformHermesLoops.test.d.ts.map +1 -0
- package/types/transformSWC.d.ts +13 -3
- package/types/transformSWC.d.ts.map +1 -1
- package/types/transformSWC.test.d.ts +2 -0
- package/types/transformSWC.test.d.ts.map +1 -0
- package/types/transformWorklets.d.ts +23 -0
- package/types/transformWorklets.d.ts.map +1 -0
- package/types/transformWorklets.test.d.ts +2 -0
- package/types/transformWorklets.test.d.ts.map +1 -0
- package/types/types.d.ts +4 -4
- package/types/types.d.ts.map +1 -1
- package/types/worklets/autoworklet.d.ts +14 -0
- package/types/worklets/autoworklet.d.ts.map +1 -0
- package/types/worklets/globals.d.ts +4 -0
- package/types/worklets/globals.d.ts.map +1 -0
- package/types/worklets/hash.d.ts +5 -0
- package/types/worklets/hash.d.ts.map +1 -0
- package/types/worklets/scope.d.ts +7 -0
- package/types/worklets/scope.d.ts.map +1 -0
- package/types/worklets/serialize.d.ts +12 -0
- package/types/worklets/serialize.d.ts.map +1 -0
- package/types/worklets/transform.d.ts +10 -0
- package/types/worklets/transform.d.ts.map +1 -0
- package/types/worklets/types.d.ts +21 -0
- package/types/worklets/types.d.ts.map +1 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { basename, join } from "node:path";
|
|
3
|
+
import { parseSync } from "oxc-parser";
|
|
4
|
+
const SELF_URL = typeof __filename !== "undefined" ? __filename : import.meta.url;
|
|
5
|
+
const COLOR_ATTRIBUTE = "require('react-native/Libraries/Components/View/ReactNativeStyleAttributes').colorAttribute";
|
|
6
|
+
const COLOR_ARRAY_ATTRIBUTE = "{\n process: (req => 'default' in req ? req.default : req)(require('react-native/Libraries/StyleSheet/processColorArray'))\n }";
|
|
7
|
+
const IMAGE_ATTRIBUTE = "{\n process: (req => 'default' in req ? req.default : req)(require('react-native/Libraries/Image/resolveAssetSource'))\n }";
|
|
8
|
+
const POINT_ATTRIBUTE = "{\n diff: (req => 'default' in req ? req.default : req)(require('react-native/Libraries/Utilities/differ/pointsDiffer'))\n }";
|
|
9
|
+
const EDGE_INSETS_ATTRIBUTE = "{\n diff: (req => 'default' in req ? req.default : req)(require('react-native/Libraries/Utilities/differ/insetsDiffer'))\n }";
|
|
10
|
+
const IMPORT_REGISTRY = "const NativeComponentRegistry = require('react-native/Libraries/NativeComponent/NativeComponentRegistry');";
|
|
11
|
+
const IMPORT_IGNORE = "const {ConditionallyIgnoredEventHandlers} = require('react-native/Libraries/NativeComponent/ViewConfigIgnore');";
|
|
12
|
+
const IMPORT_DISPATCH = 'const {dispatchCommand} = require("react-native/Libraries/ReactNative/RendererProxy");';
|
|
13
|
+
const IMPORT_UIMANAGER = 'const {UIManager} = require("react-native")';
|
|
14
|
+
let hermesParser = void 0;
|
|
15
|
+
function getHermesParser(projectRoot) {
|
|
16
|
+
if (hermesParser === void 0) {
|
|
17
|
+
try {
|
|
18
|
+
const req = projectRoot ? createRequire(join(projectRoot, "package.json")) : createRequire(SELF_URL);
|
|
19
|
+
hermesParser = req("hermes-parser");
|
|
20
|
+
} catch {
|
|
21
|
+
try {
|
|
22
|
+
hermesParser = createRequire(SELF_URL)("hermes-parser");
|
|
23
|
+
} catch {
|
|
24
|
+
hermesParser = null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return hermesParser;
|
|
29
|
+
}
|
|
30
|
+
function readType(node) {
|
|
31
|
+
if (!node) return {
|
|
32
|
+
name: "",
|
|
33
|
+
args: []
|
|
34
|
+
};
|
|
35
|
+
switch (node.type) {
|
|
36
|
+
// flow
|
|
37
|
+
case "NullableTypeAnnotation":
|
|
38
|
+
case "TypeAnnotation":
|
|
39
|
+
return readType(node.typeAnnotation);
|
|
40
|
+
case "GenericTypeAnnotation":
|
|
41
|
+
return {
|
|
42
|
+
name: readTypeName(node.id),
|
|
43
|
+
args: (node.typeParameters?.params ?? []).map(readType)
|
|
44
|
+
};
|
|
45
|
+
case "ObjectTypeAnnotation":
|
|
46
|
+
return {
|
|
47
|
+
name: "__object",
|
|
48
|
+
args: []
|
|
49
|
+
};
|
|
50
|
+
case "StringTypeAnnotation":
|
|
51
|
+
return {
|
|
52
|
+
name: "string",
|
|
53
|
+
args: []
|
|
54
|
+
};
|
|
55
|
+
case "BooleanTypeAnnotation":
|
|
56
|
+
return {
|
|
57
|
+
name: "boolean",
|
|
58
|
+
args: []
|
|
59
|
+
};
|
|
60
|
+
case "NumberTypeAnnotation":
|
|
61
|
+
return {
|
|
62
|
+
name: "number",
|
|
63
|
+
args: []
|
|
64
|
+
};
|
|
65
|
+
case "UnionTypeAnnotation":
|
|
66
|
+
return readUnion(node);
|
|
67
|
+
case "FunctionTypeAnnotation":
|
|
68
|
+
return {
|
|
69
|
+
name: "__function",
|
|
70
|
+
args: []
|
|
71
|
+
};
|
|
72
|
+
// typescript
|
|
73
|
+
case "TSTypeAnnotation":
|
|
74
|
+
return readType(node.typeAnnotation);
|
|
75
|
+
case "TSTypeReference":
|
|
76
|
+
return {
|
|
77
|
+
name: readTypeName(node.typeName),
|
|
78
|
+
args: (node.typeArguments ?? node.typeParameters)?.params?.map(readType) ?? []
|
|
79
|
+
};
|
|
80
|
+
case "TSTypeLiteral":
|
|
81
|
+
return {
|
|
82
|
+
name: "__object",
|
|
83
|
+
args: []
|
|
84
|
+
};
|
|
85
|
+
case "TSStringKeyword":
|
|
86
|
+
return {
|
|
87
|
+
name: "string",
|
|
88
|
+
args: []
|
|
89
|
+
};
|
|
90
|
+
case "TSBooleanKeyword":
|
|
91
|
+
return {
|
|
92
|
+
name: "boolean",
|
|
93
|
+
args: []
|
|
94
|
+
};
|
|
95
|
+
case "TSNumberKeyword":
|
|
96
|
+
return {
|
|
97
|
+
name: "number",
|
|
98
|
+
args: []
|
|
99
|
+
};
|
|
100
|
+
case "TSUnionType":
|
|
101
|
+
return readUnion(node);
|
|
102
|
+
case "TSFunctionType":
|
|
103
|
+
return {
|
|
104
|
+
name: "__function",
|
|
105
|
+
args: []
|
|
106
|
+
};
|
|
107
|
+
case "TSArrayType":
|
|
108
|
+
return {
|
|
109
|
+
name: "Array",
|
|
110
|
+
args: [readType(node.elementType)]
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
name: "__unknown",
|
|
115
|
+
args: []
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
const NULLISH_TYPES = /* @__PURE__ */new Set(["TSUndefinedKeyword", "TSNullKeyword", "TSVoidKeyword", "NullLiteralTypeAnnotation", "VoidTypeAnnotation"]);
|
|
119
|
+
function readUnion(node) {
|
|
120
|
+
const real = (node.types ?? []).filter(t => !NULLISH_TYPES.has(t.type));
|
|
121
|
+
if (real.length === 1) return readType(real[0]);
|
|
122
|
+
return {
|
|
123
|
+
name: "__union",
|
|
124
|
+
args: []
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function readTypeName(id) {
|
|
128
|
+
if (!id) return "";
|
|
129
|
+
if (id.type === "Identifier") return id.name;
|
|
130
|
+
if (id.type === "QualifiedTypeIdentifier") return readTypeName(id.id);
|
|
131
|
+
if (id.type === "TSQualifiedName") return readTypeName(id.right);
|
|
132
|
+
return "";
|
|
133
|
+
}
|
|
134
|
+
const READONLY_ARRAYS = /* @__PURE__ */new Set(["ReadonlyArray", "$ReadOnlyArray", "Array"]);
|
|
135
|
+
const TRANSPARENT = /* @__PURE__ */new Set(["WithDefault", "UnsafeMixed", "Readonly", "$ReadOnly"]);
|
|
136
|
+
function unwrap(type) {
|
|
137
|
+
let cur = type;
|
|
138
|
+
while (TRANSPARENT.has(cur.name) && cur.args.length > 0) {
|
|
139
|
+
cur = cur.args[0];
|
|
140
|
+
}
|
|
141
|
+
return cur;
|
|
142
|
+
}
|
|
143
|
+
function attributeValue(type) {
|
|
144
|
+
const t = unwrap(type);
|
|
145
|
+
switch (t.name) {
|
|
146
|
+
case "ColorValue":
|
|
147
|
+
case "ProcessedColorValue":
|
|
148
|
+
return COLOR_ATTRIBUTE;
|
|
149
|
+
case "ImageSource":
|
|
150
|
+
return IMAGE_ATTRIBUTE;
|
|
151
|
+
case "PointValue":
|
|
152
|
+
return POINT_ATTRIBUTE;
|
|
153
|
+
case "EdgeInsetsValue":
|
|
154
|
+
return EDGE_INSETS_ATTRIBUTE;
|
|
155
|
+
}
|
|
156
|
+
if (READONLY_ARRAYS.has(t.name) && t.args.length === 1) {
|
|
157
|
+
const el = unwrap(t.args[0]);
|
|
158
|
+
if (el.name === "ColorValue" || el.name === "ProcessedColorValue") {
|
|
159
|
+
return COLOR_ARRAY_ATTRIBUTE;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return "true";
|
|
163
|
+
}
|
|
164
|
+
function eventOf(name, type) {
|
|
165
|
+
const t = unwrap(type);
|
|
166
|
+
if (t.name !== "DirectEventHandler" && t.name !== "BubblingEventHandler") return null;
|
|
167
|
+
const override = t.args[1]?.name;
|
|
168
|
+
return {
|
|
169
|
+
name,
|
|
170
|
+
bubbling: t.name === "BubblingEventHandler",
|
|
171
|
+
topName: normalizeInputEventName(override && override !== "__unknown" ? override : name)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function normalizeInputEventName(name) {
|
|
175
|
+
if (name.startsWith("on")) return name.replace(/^on/, "top");
|
|
176
|
+
if (!name.startsWith("top")) return `top${name[0].toUpperCase()}${name.slice(1)}`;
|
|
177
|
+
return name;
|
|
178
|
+
}
|
|
179
|
+
function collectDeclarations(body) {
|
|
180
|
+
const out = /* @__PURE__ */new Map();
|
|
181
|
+
for (const raw of body) {
|
|
182
|
+
const node = raw?.type === "ExportNamedDeclaration" ? raw.declaration : raw;
|
|
183
|
+
if (!node) continue;
|
|
184
|
+
switch (node.type) {
|
|
185
|
+
case "TSTypeAliasDeclaration":
|
|
186
|
+
case "TypeAlias":
|
|
187
|
+
case "TSInterfaceDeclaration":
|
|
188
|
+
case "InterfaceDeclaration":
|
|
189
|
+
if (node.id?.name) out.set(node.id.name, node);
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return out;
|
|
194
|
+
}
|
|
195
|
+
function flattenMembers(typeName, decls, seen = /* @__PURE__ */new Set()) {
|
|
196
|
+
if (typeName === "ViewProps" || seen.has(typeName)) return [];
|
|
197
|
+
seen.add(typeName);
|
|
198
|
+
const decl = decls.get(typeName);
|
|
199
|
+
if (!decl) return [];
|
|
200
|
+
const out = [];
|
|
201
|
+
const heritage = decl.extends ?? decl.heritage ?? [];
|
|
202
|
+
for (const h of heritage) {
|
|
203
|
+
const name = readTypeName(h.id ?? h.expression ?? h.typeName);
|
|
204
|
+
if (name) out.push(...flattenMembers(name, decls, seen));
|
|
205
|
+
}
|
|
206
|
+
const bodyNode = decl.body ??
|
|
207
|
+
// interface
|
|
208
|
+
decl.right ??
|
|
209
|
+
// type alias
|
|
210
|
+
decl.typeAnnotation;
|
|
211
|
+
out.push(...readObjectMembers(bodyNode, decls, seen));
|
|
212
|
+
return out;
|
|
213
|
+
}
|
|
214
|
+
function readObjectMembers(node, decls, seen) {
|
|
215
|
+
if (!node) return [];
|
|
216
|
+
if (node.type === "TSTypeReference" || node.type === "GenericTypeAnnotation") {
|
|
217
|
+
const name = readTypeName(node.typeName ?? node.id);
|
|
218
|
+
const args = (node.typeArguments ?? node.typeParameters)?.params ?? [];
|
|
219
|
+
if (TRANSPARENT.has(name) && args.length) {
|
|
220
|
+
return readObjectMembers(args[0], decls, seen);
|
|
221
|
+
}
|
|
222
|
+
return flattenMembers(name, decls, seen);
|
|
223
|
+
}
|
|
224
|
+
if (node.type === "TSIntersectionType" || node.type === "IntersectionTypeAnnotation") {
|
|
225
|
+
const out2 = [];
|
|
226
|
+
for (const t of node.types ?? []) out2.push(...readObjectMembers(t, decls, seen));
|
|
227
|
+
return out2;
|
|
228
|
+
}
|
|
229
|
+
const members = node.members ?? node.body ?? node.properties ?? [];
|
|
230
|
+
const out = [];
|
|
231
|
+
for (const m of members) {
|
|
232
|
+
switch (m.type) {
|
|
233
|
+
case "TSPropertySignature":
|
|
234
|
+
case "ObjectTypeProperty":
|
|
235
|
+
{
|
|
236
|
+
const name = m.key?.name ?? m.key?.value;
|
|
237
|
+
if (!name) break;
|
|
238
|
+
out.push({
|
|
239
|
+
name,
|
|
240
|
+
type: readType(m.typeAnnotation ?? m.value)
|
|
241
|
+
});
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
// flow's `...OtherProps` inside an object type
|
|
245
|
+
case "ObjectTypeSpreadProperty":
|
|
246
|
+
{
|
|
247
|
+
const name = readTypeName(m.argument?.id ?? m.argument);
|
|
248
|
+
if (name) out.push(...flattenMembers(name, decls, seen));
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return out;
|
|
254
|
+
}
|
|
255
|
+
function findComponentCall(body) {
|
|
256
|
+
for (const node of body) {
|
|
257
|
+
if (node.type !== "ExportDefaultDeclaration") continue;
|
|
258
|
+
let expr = node.declaration;
|
|
259
|
+
while (expr) {
|
|
260
|
+
if (expr.type === "CallExpression") break;
|
|
261
|
+
expr = expr.expression ?? (expr.type === "SequenceExpression" ? expr.expressions[expr.expressions.length - 1] : null);
|
|
262
|
+
}
|
|
263
|
+
if (expr?.type === "CallExpression" && expr.callee?.name === "codegenNativeComponent") {
|
|
264
|
+
return expr;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
function findCommandsCall(body) {
|
|
270
|
+
for (const raw of body) {
|
|
271
|
+
const node = raw?.type === "ExportNamedDeclaration" ? raw.declaration : raw;
|
|
272
|
+
const decl = node?.declarations?.[0];
|
|
273
|
+
let init = decl?.init;
|
|
274
|
+
while (init && init.type !== "CallExpression") init = init.expression;
|
|
275
|
+
if (init?.type === "CallExpression" && init.callee?.name === "codegenNativeCommands") {
|
|
276
|
+
return init;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
function readStringOption(objectExpression, key) {
|
|
282
|
+
for (const p of objectExpression?.properties ?? []) {
|
|
283
|
+
if ((p.key?.name ?? p.key?.value) === key && typeof p.value?.value === "string") {
|
|
284
|
+
return p.value.value;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
function readCommands(call, decls) {
|
|
290
|
+
const typeName = readTypeName((call.typeArguments ?? call.typeParameters)?.params?.[0]?.typeName ?? (call.typeArguments ?? call.typeParameters)?.params?.[0]?.id);
|
|
291
|
+
const supported = [];
|
|
292
|
+
for (const p of call.arguments?.[0]?.properties ?? []) {
|
|
293
|
+
if ((p.key?.name ?? p.key?.value) !== "supportedCommands") continue;
|
|
294
|
+
for (const el of p.value?.elements ?? []) {
|
|
295
|
+
if (typeof el?.value === "string") supported.push(el.value);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
if (!supported.length) return [];
|
|
299
|
+
const decl = decls.get(typeName);
|
|
300
|
+
const byName = /* @__PURE__ */new Map();
|
|
301
|
+
const commandMembers = decl?.body?.body ?? decl?.body?.members ?? decl?.body?.properties ?? [];
|
|
302
|
+
for (const m of commandMembers) {
|
|
303
|
+
const name = m.key?.name ?? m.key?.value;
|
|
304
|
+
if (!name) continue;
|
|
305
|
+
const fn = m.typeAnnotation?.typeAnnotation ?? m.value ?? m.typeAnnotation;
|
|
306
|
+
const params = (fn?.params ?? fn?.parameters ?? []).slice(1);
|
|
307
|
+
byName.set(name, params.map((p, i) => p.name?.name ?? p.name ?? `arg${i}`));
|
|
308
|
+
}
|
|
309
|
+
return supported.map(name => ({
|
|
310
|
+
name,
|
|
311
|
+
params: byName.get(name) ?? []
|
|
312
|
+
}));
|
|
313
|
+
}
|
|
314
|
+
function indent(text, spaces) {
|
|
315
|
+
const pad = " ".repeat(spaces);
|
|
316
|
+
return text.split("\n").map((line, i) => i === 0 || line === "" ? line : pad + line).join("\n");
|
|
317
|
+
}
|
|
318
|
+
function printViewConfig(componentName, attributes, events) {
|
|
319
|
+
const lines = [` uiViewClassName: ${JSON.stringify(componentName)}`];
|
|
320
|
+
const bubbling = events.filter(e => e.bubbling);
|
|
321
|
+
if (bubbling.length) {
|
|
322
|
+
lines.push(` bubblingEventTypes: {
|
|
323
|
+
${bubbling.map(e => ` ${e.topName}: {
|
|
324
|
+
phasedRegistrationNames: {
|
|
325
|
+
captured: ${JSON.stringify(`${e.name}Capture`)},
|
|
326
|
+
bubbled: ${JSON.stringify(e.name)}
|
|
327
|
+
}
|
|
328
|
+
}`).join(",\n")}
|
|
329
|
+
}`);
|
|
330
|
+
}
|
|
331
|
+
const direct = events.filter(e => !e.bubbling);
|
|
332
|
+
if (direct.length) {
|
|
333
|
+
lines.push(` directEventTypes: {
|
|
334
|
+
${direct.map(e => ` ${e.topName}: {
|
|
335
|
+
registrationName: ${JSON.stringify(e.name)}
|
|
336
|
+
}`).join(",\n")}
|
|
337
|
+
}`);
|
|
338
|
+
}
|
|
339
|
+
const attrLines = attributes.map(a => ` ${a.name}: ${indent(a.value, 4)}`);
|
|
340
|
+
if (events.length) {
|
|
341
|
+
attrLines.push(` ...ConditionallyIgnoredEventHandlers({
|
|
342
|
+
${events.map(e => ` ${e.name}: true`).join(",\n")}
|
|
343
|
+
})`);
|
|
344
|
+
}
|
|
345
|
+
lines.push(attrLines.length ? ` validAttributes: {
|
|
346
|
+
${attrLines.join(",\n")}
|
|
347
|
+
}` : " validAttributes: {}");
|
|
348
|
+
return `{
|
|
349
|
+
${lines.join(",\n")}
|
|
350
|
+
}`;
|
|
351
|
+
}
|
|
352
|
+
function printCommands(commands) {
|
|
353
|
+
return `export const Commands = {
|
|
354
|
+
${commands.map(c => ` ${c.name}(ref${c.params.map(p => `, ${p}`).join("")}) {
|
|
355
|
+
dispatchCommand(ref, ${JSON.stringify(c.name)}, [${c.params.join(", ")}]);
|
|
356
|
+
}`).join(",\n")}
|
|
357
|
+
};`;
|
|
358
|
+
}
|
|
359
|
+
const FILE_HEADER = `/**
|
|
360
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
361
|
+
*
|
|
362
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
363
|
+
* once the code is regenerated.
|
|
364
|
+
*
|
|
365
|
+
* @flow
|
|
366
|
+
*
|
|
367
|
+
* @generated by codegen project: GenerateViewConfigJs.js
|
|
368
|
+
*/
|
|
369
|
+
|
|
370
|
+
'use strict';
|
|
371
|
+
`;
|
|
372
|
+
function parseSpec(code, filename, projectRoot) {
|
|
373
|
+
const isTS = /\.[cm]?tsx?$/.test(filename);
|
|
374
|
+
if (isTS) {
|
|
375
|
+
const result = parseSync(filename, code, {
|
|
376
|
+
lang: filename.endsWith("x") ? "tsx" : "ts"
|
|
377
|
+
});
|
|
378
|
+
if (result.errors?.length) return null;
|
|
379
|
+
return result.program;
|
|
380
|
+
}
|
|
381
|
+
const hermes = getHermesParser(projectRoot);
|
|
382
|
+
if (!hermes) return null;
|
|
383
|
+
try {
|
|
384
|
+
return hermes.parse(code, {
|
|
385
|
+
babel: false,
|
|
386
|
+
flow: "all",
|
|
387
|
+
sourceFilename: filename
|
|
388
|
+
});
|
|
389
|
+
} catch {
|
|
390
|
+
return null;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
function generateViewConfig(program) {
|
|
394
|
+
const body = program?.body;
|
|
395
|
+
if (!body) return null;
|
|
396
|
+
const call = findComponentCall(body);
|
|
397
|
+
if (!call) return null;
|
|
398
|
+
const componentNameArg = call.arguments?.[0];
|
|
399
|
+
if (typeof componentNameArg?.value !== "string") return null;
|
|
400
|
+
const componentName = componentNameArg.value;
|
|
401
|
+
const options = call.arguments?.[1];
|
|
402
|
+
const paperComponentName = readStringOption(options, "paperComponentName");
|
|
403
|
+
const paperComponentNameDeprecated = readStringOption(options, "paperComponentNameDeprecated");
|
|
404
|
+
const propsTypeName = readTypeName((call.typeArguments ?? call.typeParameters)?.params?.[0]?.typeName ?? (call.typeArguments ?? call.typeParameters)?.params?.[0]?.id);
|
|
405
|
+
if (!propsTypeName) return null;
|
|
406
|
+
const decls = collectDeclarations(body);
|
|
407
|
+
const members = flattenMembers(propsTypeName, decls);
|
|
408
|
+
const attributes = [];
|
|
409
|
+
const events = [];
|
|
410
|
+
for (const m of members) {
|
|
411
|
+
const event = eventOf(m.name, m.type);
|
|
412
|
+
if (event) {
|
|
413
|
+
events.push(event);
|
|
414
|
+
continue;
|
|
415
|
+
}
|
|
416
|
+
attributes.push({
|
|
417
|
+
name: m.name,
|
|
418
|
+
value: attributeValue(m.type)
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
const commandsCall = findCommandsCall(body);
|
|
422
|
+
const commands = commandsCall ? readCommands(commandsCall, decls) : [];
|
|
423
|
+
const imports = /* @__PURE__ */new Set([IMPORT_REGISTRY]);
|
|
424
|
+
if (events.length) imports.add(IMPORT_IGNORE);
|
|
425
|
+
if (commands.length) imports.add(IMPORT_DISPATCH);
|
|
426
|
+
if (paperComponentNameDeprecated) imports.add(IMPORT_UIMANAGER);
|
|
427
|
+
const nativeName = paperComponentName ?? componentName;
|
|
428
|
+
const parts = [`let nativeComponentName = '${nativeName}';`];
|
|
429
|
+
if (paperComponentNameDeprecated) {
|
|
430
|
+
parts.push(`if (UIManager.hasViewManagerConfig('${componentName}')) {
|
|
431
|
+
nativeComponentName = '${componentName}';
|
|
432
|
+
} else if (UIManager.hasViewManagerConfig('${paperComponentNameDeprecated}')) {
|
|
433
|
+
nativeComponentName = '${paperComponentNameDeprecated}';
|
|
434
|
+
} else {
|
|
435
|
+
throw new Error('Failed to find native component for either "${componentName}" or "${paperComponentNameDeprecated}"');
|
|
436
|
+
}`);
|
|
437
|
+
}
|
|
438
|
+
parts.push(`export const __INTERNAL_VIEW_CONFIG = ${printViewConfig(nativeName, attributes, events)};`);
|
|
439
|
+
parts.push("export default NativeComponentRegistry.get(nativeComponentName, () => __INTERNAL_VIEW_CONFIG);");
|
|
440
|
+
if (commands.length) parts.push(printCommands(commands));
|
|
441
|
+
return {
|
|
442
|
+
imports: [...imports].sort(),
|
|
443
|
+
body: parts.join("\n")
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
function renderViewConfigModule(result) {
|
|
447
|
+
return `
|
|
448
|
+
${FILE_HEADER}
|
|
449
|
+
${result.imports.join("\n")}
|
|
450
|
+
|
|
451
|
+
${result.body}
|
|
452
|
+
`;
|
|
453
|
+
}
|
|
454
|
+
function getLibraryName(filename) {
|
|
455
|
+
const base = basename(filename);
|
|
456
|
+
const replaced = base.replace(/NativeComponent\.[cm]?[jt]sx?$/, "");
|
|
457
|
+
return replaced === base ? base.replace(/\.[cm]?[jt]sx?$/, "") : replaced;
|
|
458
|
+
}
|
|
459
|
+
export { generateViewConfig, getLibraryName, parseSpec, renderViewConfigModule };
|
|
460
|
+
//# sourceMappingURL=reactNativeViewConfig.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createRequire","basename","join","parseSync","SELF_URL","__filename","import","meta","url","COLOR_ATTRIBUTE","COLOR_ARRAY_ATTRIBUTE","IMAGE_ATTRIBUTE","POINT_ATTRIBUTE","EDGE_INSETS_ATTRIBUTE","IMPORT_REGISTRY","IMPORT_IGNORE","IMPORT_DISPATCH","IMPORT_UIMANAGER","hermesParser","getHermesParser","projectRoot","req","readType","node","name","args","type","typeAnnotation","readTypeName","id","typeParameters","params","map","readUnion","typeName","typeArguments","elementType","NULLISH_TYPES","Set","real","types","filter","t","has","length","right","READONLY_ARRAYS","TRANSPARENT","unwrap","cur","attributeValue","el","eventOf","override","bubbling","topName","normalizeInputEventName","startsWith","replace","toUpperCase","slice","collectDeclarations","body","out","Map","raw","declaration","set","flattenMembers","decls","seen","add","decl","get","heritage","extends","h","expression","push","bodyNode","readObjectMembers","members","properties","m","key","value","argument","findComponentCall","expr","expressions","callee","findCommandsCall","declarations","init","readStringOption","objectExpression","p","readCommands","call","supported","arguments","elements","byName","commandMembers","fn","parameters","i","indent","text","spaces","pad","repeat","split","line","printViewConfig","componentName","attributes","events","lines","JSON","stringify","e","direct","attrLines","a","printCommands","commands","c","FILE_HEADER","parseSpec","code","filename","isTS","test","result","lang","endsWith","errors","program","hermes","parse","babel","flow","sourceFilename","generateViewConfig","componentNameArg","options","paperComponentName","paperComponentNameDeprecated","propsTypeName","event","commandsCall","imports","nativeName","parts","sort","renderViewConfigModule","getLibraryName","base","replaced"],"sources":["../../src/reactNativeViewConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { extname, relative } from "node:path";
|
|
2
|
-
import babel from "@babel/core";
|
|
3
2
|
import { resolvePath } from "@vxrn/utils";
|
|
4
|
-
import hermesParserPlugin from "babel-plugin-syntax-hermes-parser";
|
|
5
3
|
import { normalizePath } from "vite";
|
|
6
4
|
import { configuration } from "./configure.mjs";
|
|
7
5
|
import { asyncGeneratorRegex, debug } from "./constants.mjs";
|
|
@@ -37,17 +35,16 @@ const getOptions = (props, force = false) => {
|
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
if (enableNativewind || shouldBabelReanimated(props)) {
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
try {
|
|
39
|
+
const workletsPlugin = resolvePath("react-native-worklets/plugin", props.projectRoot);
|
|
40
|
+
debug?.(`Using babel worklets on file ${props.id}`);
|
|
41
|
+
plugins.push(workletsPlugin);
|
|
42
|
+
} catch {}
|
|
42
43
|
}
|
|
43
44
|
if (shouldBabelReactCompiler(props)) {
|
|
44
45
|
debug?.(`Using babel react compiler on file`);
|
|
45
46
|
plugins.push(getBabelReactCompilerPlugin(props));
|
|
46
47
|
}
|
|
47
|
-
if (shouldBabelReactNativeCodegen(props)) {
|
|
48
|
-
debug?.(`Using babel @react-native/babel-plugin-codegen on file`);
|
|
49
|
-
plugins.push("@react-native/babel-plugin-codegen");
|
|
50
|
-
}
|
|
51
48
|
if (plugins.length) {
|
|
52
49
|
return {
|
|
53
50
|
plugins
|
|
@@ -55,12 +52,13 @@ const getOptions = (props, force = false) => {
|
|
|
55
52
|
}
|
|
56
53
|
return null;
|
|
57
54
|
};
|
|
58
|
-
async function transformOxcReactCompiler(id, code, target) {
|
|
55
|
+
async function transformOxcReactCompiler(id, code, target, sourceMap = false) {
|
|
59
56
|
const {
|
|
60
57
|
transform
|
|
61
58
|
} = await import("oxc-transform-react");
|
|
62
59
|
const result = await transform(id, code, {
|
|
63
60
|
jsx: "preserve",
|
|
61
|
+
sourcemap: sourceMap,
|
|
64
62
|
reactCompiler: {
|
|
65
63
|
target
|
|
66
64
|
}
|
|
@@ -73,10 +71,15 @@ async function transformOxcReactCompiler(id, code, target) {
|
|
|
73
71
|
}
|
|
74
72
|
return {
|
|
75
73
|
code: result.code,
|
|
76
|
-
map: void 0
|
|
74
|
+
map: sourceMap ? result.map : void 0
|
|
77
75
|
};
|
|
78
76
|
}
|
|
79
77
|
async function transformBabel(id, code, options) {
|
|
78
|
+
const [{
|
|
79
|
+
default: babelCore
|
|
80
|
+
}, {
|
|
81
|
+
default: hermesParserPlugin
|
|
82
|
+
}] = await Promise.all([import("@babel/core"), import("babel-plugin-syntax-hermes-parser")]);
|
|
80
83
|
const extension = extname(id);
|
|
81
84
|
const isTSX = extension === ".tsx";
|
|
82
85
|
const isTS = isTSX || extension === ".ts";
|
|
@@ -106,7 +109,7 @@ async function transformBabel(id, code, options) {
|
|
|
106
109
|
}]]), ...(options.plugins || []), ...(isTS ? [] : ["@babel/plugin-transform-flow-strip-types"])]
|
|
107
110
|
};
|
|
108
111
|
return await new Promise((res, rej) => {
|
|
109
|
-
|
|
112
|
+
babelCore.transform(code, babelOptions, (err, result) => {
|
|
110
113
|
if (!result || err) {
|
|
111
114
|
return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));
|
|
112
115
|
}
|
|
@@ -123,14 +126,6 @@ const getBasePlugins = ({
|
|
|
123
126
|
// NOTE THIS WAS SPELLED WRONG BEFOER THIS COMMIT MAYBE IT WAS UNINTENTIONALLY WORKING
|
|
124
127
|
regenerator: false
|
|
125
128
|
}]];
|
|
126
|
-
const NATIVE_COMPONENT_RE = /NativeComponent\.[jt]sx?$/;
|
|
127
|
-
const SPEC_FILE_RE = /[/\\]specs?[/\\]/;
|
|
128
|
-
const shouldBabelReactNativeCodegen = ({
|
|
129
|
-
id,
|
|
130
|
-
environment
|
|
131
|
-
}) => {
|
|
132
|
-
return (environment === "ios" || environment === "android") && (NATIVE_COMPONENT_RE.test(id) || SPEC_FILE_RE.test(id));
|
|
133
|
-
};
|
|
134
129
|
const shouldBabelReactCompiler = props => {
|
|
135
130
|
if (props.environment === "ssr") {
|
|
136
131
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["extname","relative","
|
|
1
|
+
{"version":3,"names":["extname","relative","resolvePath","normalizePath","configuration","asyncGeneratorRegex","debug","getBabelOptions","props","id","split","userSetting","getOptions","transform","excludeDefaultPlugins","force","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","code","includes","push","shouldBabelReanimated","workletsPlugin","projectRoot","shouldBabelReactCompiler","getBabelReactCompilerPlugin","length","transformOxcReactCompiler","target","sourceMap","result","jsx","sourcemap","reactCompiler","fatal","Error","errors","map","e","message","String","join","transformBabel","options","default","babelCore","hermesParserPlugin","Promise","all","extension","isTSX","isTS","babelOptions","filename","compact","babelrc","configFile","sourceMaps","minified","presets","allExtensions","filter","Boolean","parseLangTypes","reactRuntimeTarget","res","rej","err","development","helpers","regenerator","enableCompiler","Array","isArray","RegExp","isNative","native","web","applyCompilerFilter","applyDefaultFilters","startsWith","reactForRNVersion","process","env","VXRN_USE_BABEL_FOR_GENERATORS","REANIMATED_AUTOWORKLETIZATION_KEYWORDS","REANIMATED_REGEX","REANIMATED_IGNORED_PATHS","REANIMATED_IGNORED_PATHS_REGEX","enableReanimated","location","cwd"],"sources":["../../src/transformBabel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|