@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.45.1
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 +112 -109
- package/dist/cjs/configure.cjs +26 -28
- package/dist/cjs/constants.cjs +56 -60
- package/dist/cjs/index.cjs +420 -438
- package/dist/cjs/reactNativeCodegen.cjs +105 -114
- package/dist/cjs/reactNativeViewConfig.cjs +362 -381
- package/dist/cjs/refresh-runtime.cjs +390 -397
- package/dist/cjs/transformBabel.cjs +278 -218
- package/dist/cjs/transformHermesAsync.cjs +36 -47
- package/dist/cjs/transformHermesLoops.cjs +279 -281
- package/dist/cjs/transformSWC.cjs +183 -200
- package/dist/cjs/transformWorklets.cjs +107 -95
- package/dist/cjs/types.cjs +9 -11
- package/dist/cjs/worklets/autoworklet.cjs +277 -222
- package/dist/cjs/worklets/globals.cjs +124 -60
- package/dist/cjs/worklets/hash.cjs +23 -27
- package/dist/cjs/worklets/scope.cjs +338 -359
- package/dist/cjs/worklets/serialize.cjs +73 -75
- package/dist/cjs/worklets/transform.cjs +217 -222
- package/dist/cjs/worklets/types.cjs +9 -11
- package/dist/esm/cache.mjs +96 -89
- package/dist/esm/cache.mjs.map +1 -1
- package/dist/esm/configure.mjs +11 -10
- package/dist/esm/configure.mjs.map +1 -1
- package/dist/esm/constants.mjs +41 -41
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/index.js +417 -420
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +417 -420
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/reactNativeCodegen.mjs +90 -88
- package/dist/esm/reactNativeCodegen.mjs.map +1 -1
- package/dist/esm/reactNativeViewConfig.mjs +347 -362
- package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
- package/dist/esm/refresh-runtime.mjs +372 -376
- package/dist/esm/refresh-runtime.mjs.map +1 -1
- package/dist/esm/transformBabel.mjs +261 -194
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformHermesAsync.mjs +20 -21
- package/dist/esm/transformHermesAsync.mjs.map +1 -1
- package/dist/esm/transformHermesLoops.mjs +264 -255
- package/dist/esm/transformHermesLoops.mjs.map +1 -1
- package/dist/esm/transformSWC.mjs +163 -171
- package/dist/esm/transformSWC.mjs.map +1 -1
- package/dist/esm/transformWorklets.mjs +89 -69
- package/dist/esm/transformWorklets.mjs.map +1 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/worklets/autoworklet.mjs +258 -200
- package/dist/esm/worklets/autoworklet.mjs.map +1 -1
- package/dist/esm/worklets/globals.mjs +109 -42
- package/dist/esm/worklets/globals.mjs.map +1 -1
- package/dist/esm/worklets/hash.mjs +10 -9
- package/dist/esm/worklets/hash.mjs.map +1 -1
- package/dist/esm/worklets/scope.mjs +325 -341
- package/dist/esm/worklets/scope.mjs.map +1 -1
- package/dist/esm/worklets/serialize.mjs +60 -58
- package/dist/esm/worklets/serialize.mjs.map +1 -1
- package/dist/esm/worklets/transform.mjs +201 -197
- package/dist/esm/worklets/transform.mjs.map +1 -1
- package/dist/esm/worklets/types.mjs +0 -2
- package/package.json +7 -6
- package/src/cache.ts +37 -7
- package/src/index.ts +33 -18
- package/src/transformBabel.test.ts +311 -1
- package/src/transformBabel.ts +110 -13
- package/types/cache.d.ts +2 -2
- package/types/cache.d.ts.map +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/transformBabel.d.ts +16 -1
- package/types/transformBabel.d.ts.map +1 -1
- package/types/transformSWC.d.ts +1 -4
- package/types/transformSWC.d.ts.map +1 -1
- package/dist/cjs/transformBabel.test.cjs +0 -360
- package/dist/cjs/transformHermesLoops.test.cjs +0 -257
- package/dist/cjs/transformSWC.test.cjs +0 -117
- package/dist/cjs/transformWorklets.test.cjs +0 -604
- package/dist/esm/transformBabel.test.mjs +0 -337
- package/dist/esm/transformBabel.test.mjs.map +0 -1
- package/dist/esm/transformHermesLoops.test.mjs +0 -234
- package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
- package/dist/esm/transformSWC.test.mjs +0 -118
- package/dist/esm/transformSWC.test.mjs.map +0 -1
- package/dist/esm/transformWorklets.test.mjs +0 -581
- package/dist/esm/transformWorklets.test.mjs.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/worklets/types.mjs.map +0 -1
- package/types/transformBabel.test.d.ts +0 -2
- package/types/transformBabel.test.d.ts.map +0 -1
- package/types/transformHermesLoops.test.d.ts +0 -2
- package/types/transformHermesLoops.test.d.ts.map +0 -1
- package/types/transformSWC.test.d.ts +0 -2
- package/types/transformSWC.test.d.ts.map +0 -1
- package/types/transformWorklets.test.d.ts +0 -2
- package/types/transformWorklets.test.d.ts.map +0 -1
|
@@ -5,39 +5,32 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
12
|
};
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
21
|
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
-
value: mod,
|
|
29
|
-
enumerable: true
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
30
25
|
}) : target, mod));
|
|
31
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
-
value: true
|
|
33
|
-
}), mod);
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
27
|
var transformWorklets_exports = {};
|
|
35
28
|
__export(transformWorklets_exports, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
REANIMATED_AUTOWORKLETIZATION_KEYWORDS: () => REANIMATED_AUTOWORKLETIZATION_KEYWORDS,
|
|
30
|
+
getWorkletsVersion: () => getWorkletsVersion,
|
|
31
|
+
prepareWorkletsForReactCompiler: () => import_transform2.prepareWorkletsForReactCompiler,
|
|
32
|
+
shouldTransformWorklets: () => shouldTransformWorklets,
|
|
33
|
+
transformWorklets: () => transformWorklets
|
|
41
34
|
});
|
|
42
35
|
module.exports = __toCommonJS(transformWorklets_exports);
|
|
43
36
|
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
@@ -48,76 +41,95 @@ var import_autoworklet = require("./worklets/autoworklet.cjs");
|
|
|
48
41
|
var import_transform = require("./worklets/transform.cjs");
|
|
49
42
|
var import_transform2 = require("./worklets/transform.cjs");
|
|
50
43
|
const import_meta = {};
|
|
51
|
-
const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
44
|
+
const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
|
|
45
|
+
"worklet",
|
|
46
|
+
"useAnimatedGestureHandler",
|
|
47
|
+
"useAnimatedScrollHandler",
|
|
48
|
+
"useFrameCallback",
|
|
49
|
+
"useAnimatedStyle",
|
|
50
|
+
"useAnimatedProps",
|
|
51
|
+
"createAnimatedPropAdapter",
|
|
52
|
+
"useDerivedValue",
|
|
53
|
+
"useAnimatedReaction",
|
|
54
|
+
"useWorkletCallback",
|
|
55
|
+
"withTiming",
|
|
56
|
+
"withSpring",
|
|
57
|
+
"withDecay",
|
|
58
|
+
"withRepeat",
|
|
59
|
+
"runOnUI",
|
|
60
|
+
"executeOnUIRuntimeSync"
|
|
61
|
+
];
|
|
62
|
+
const REANIMATED_REGEX = new RegExp([.../* @__PURE__ */ new Set([
|
|
63
|
+
...REANIMATED_AUTOWORKLETIZATION_KEYWORDS,
|
|
64
|
+
...Object.keys(import_autoworklet.AUTOWORKLET_FUNCTION_ARGS),
|
|
65
|
+
...import_autoworklet.GESTURE_BUILDER_METHODS,
|
|
66
|
+
"withCallback"
|
|
67
|
+
])].map((name) => `\\b${name}\\b`).join("|"));
|
|
68
|
+
const REANIMATED_IGNORED_PATHS = [
|
|
69
|
+
"react-native-prebuilt",
|
|
70
|
+
"node_modules/.vxrn/react-native",
|
|
71
|
+
"node_modules/react/",
|
|
72
|
+
"node_modules/react-dom/",
|
|
73
|
+
"node_modules/react-native/",
|
|
74
|
+
"node_modules/@react-native/",
|
|
75
|
+
"node_modules/react-native-web/"
|
|
76
|
+
];
|
|
62
77
|
const REANIMATED_IGNORED_PATHS_REGEX = new RegExp(REANIMATED_IGNORED_PATHS.join("|"));
|
|
63
|
-
function shouldTransformWorklets({
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return REANIMATED_REGEX.test(code);
|
|
78
|
+
function shouldTransformWorklets({ id, code }) {
|
|
79
|
+
if (!(0, import_configure.isNativeWorkletsEnabled)() || !import_configure.configuration.enableReanimated) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
const normalizedId = id.replace(/\\/g, "/");
|
|
83
|
+
if (REANIMATED_IGNORED_PATHS_REGEX.test(normalizedId)) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return REANIMATED_REGEX.test(code);
|
|
75
87
|
}
|
|
76
88
|
function getWorkletsVersion(projectRoot, filename) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
89
|
+
if (projectRoot) {
|
|
90
|
+
try {
|
|
91
|
+
const req = (0, import_node_module.createRequire)(import_node_path.default.resolve(projectRoot, "package.json"));
|
|
92
|
+
try {
|
|
93
|
+
const ver = req("react-native-worklets/package.json")?.version;
|
|
94
|
+
if (ver) return ver;
|
|
95
|
+
} catch {}
|
|
96
|
+
try {
|
|
97
|
+
const ver = req("react-native-reanimated/package.json")?.version;
|
|
98
|
+
if (ver) return ver;
|
|
99
|
+
} catch {}
|
|
100
|
+
} catch {}
|
|
101
|
+
throw new Error(`[@vxrn/compiler] Unable to resolve "react-native-worklets" or "react-native-reanimated" version from project root "${projectRoot}". Please ensure react-native-worklets is installed in your project.`);
|
|
102
|
+
}
|
|
103
|
+
if (filename && !filename.startsWith("\0") && import_node_fs.default.existsSync(filename)) {
|
|
104
|
+
try {
|
|
105
|
+
const req = (0, import_node_module.createRequire)(filename);
|
|
106
|
+
try {
|
|
107
|
+
const ver = req("react-native-worklets/package.json")?.version;
|
|
108
|
+
if (ver) return ver;
|
|
109
|
+
} catch {}
|
|
110
|
+
try {
|
|
111
|
+
const ver = req("react-native-reanimated/package.json")?.version;
|
|
112
|
+
if (ver) return ver;
|
|
113
|
+
} catch {}
|
|
114
|
+
} catch {}
|
|
115
|
+
}
|
|
116
|
+
const fallbacks = [() => (0, import_node_module.createRequire)(import_node_path.default.resolve(process.cwd(), "package.json")), () => (0, import_node_module.createRequire)(import_meta.url)];
|
|
117
|
+
for (const getReq of fallbacks) {
|
|
118
|
+
try {
|
|
119
|
+
const req = getReq();
|
|
120
|
+
try {
|
|
121
|
+
const ver = req("react-native-worklets/package.json")?.version;
|
|
122
|
+
if (ver) return ver;
|
|
123
|
+
} catch {}
|
|
124
|
+
try {
|
|
125
|
+
const ver = req("react-native-reanimated/package.json")?.version;
|
|
126
|
+
if (ver) return ver;
|
|
127
|
+
} catch {}
|
|
128
|
+
} catch {}
|
|
129
|
+
}
|
|
130
|
+
const target = filename || process.cwd();
|
|
131
|
+
throw new Error(`[@vxrn/compiler] Unable to resolve "react-native-worklets" or "react-native-reanimated" version from "${target}". Please ensure react-native-worklets is installed in your project.`);
|
|
120
132
|
}
|
|
121
133
|
async function transformWorklets(id, code, sourceMaps = false, options) {
|
|
122
|
-
|
|
123
|
-
}
|
|
134
|
+
return (0, import_transform.executeWorkletTransform)(id, code, sourceMaps, options, getWorkletsVersion);
|
|
135
|
+
}
|
package/dist/cjs/types.cjs
CHANGED
|
@@ -3,16 +3,14 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
8
|
+
get: () => from[key],
|
|
9
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
13
|
};
|
|
14
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
15
|
-
value: true
|
|
16
|
-
}), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
17
15
|
var types_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(types_exports);
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|