@vxrn/compiler 1.27.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.
Files changed (89) hide show
  1. package/dist/cjs/cache.cjs +106 -117
  2. package/dist/cjs/configure.cjs +26 -28
  3. package/dist/cjs/constants.cjs +56 -60
  4. package/dist/cjs/index.cjs +420 -443
  5. package/dist/cjs/reactNativeCodegen.cjs +105 -114
  6. package/dist/cjs/reactNativeViewConfig.cjs +362 -381
  7. package/dist/cjs/refresh-runtime.cjs +390 -397
  8. package/dist/cjs/transformBabel.cjs +273 -263
  9. package/dist/cjs/transformHermesAsync.cjs +36 -47
  10. package/dist/cjs/transformHermesLoops.cjs +279 -281
  11. package/dist/cjs/transformSWC.cjs +183 -200
  12. package/dist/cjs/transformWorklets.cjs +107 -95
  13. package/dist/cjs/types.cjs +9 -11
  14. package/dist/cjs/worklets/autoworklet.cjs +277 -222
  15. package/dist/cjs/worklets/globals.cjs +124 -60
  16. package/dist/cjs/worklets/hash.cjs +23 -27
  17. package/dist/cjs/worklets/scope.cjs +338 -359
  18. package/dist/cjs/worklets/serialize.cjs +73 -75
  19. package/dist/cjs/worklets/transform.cjs +217 -222
  20. package/dist/cjs/worklets/types.cjs +9 -11
  21. package/dist/esm/cache.mjs +90 -97
  22. package/dist/esm/cache.mjs.map +1 -1
  23. package/dist/esm/configure.mjs +11 -10
  24. package/dist/esm/configure.mjs.map +1 -1
  25. package/dist/esm/constants.mjs +41 -41
  26. package/dist/esm/constants.mjs.map +1 -1
  27. package/dist/esm/index.js +417 -425
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/index.mjs +417 -425
  30. package/dist/esm/index.mjs.map +1 -1
  31. package/dist/esm/reactNativeCodegen.mjs +90 -88
  32. package/dist/esm/reactNativeCodegen.mjs.map +1 -1
  33. package/dist/esm/reactNativeViewConfig.mjs +347 -362
  34. package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
  35. package/dist/esm/refresh-runtime.mjs +372 -376
  36. package/dist/esm/refresh-runtime.mjs.map +1 -1
  37. package/dist/esm/transformBabel.mjs +255 -237
  38. package/dist/esm/transformBabel.mjs.map +1 -1
  39. package/dist/esm/transformHermesAsync.mjs +20 -21
  40. package/dist/esm/transformHermesAsync.mjs.map +1 -1
  41. package/dist/esm/transformHermesLoops.mjs +264 -255
  42. package/dist/esm/transformHermesLoops.mjs.map +1 -1
  43. package/dist/esm/transformSWC.mjs +163 -171
  44. package/dist/esm/transformSWC.mjs.map +1 -1
  45. package/dist/esm/transformWorklets.mjs +89 -69
  46. package/dist/esm/transformWorklets.mjs.map +1 -1
  47. package/dist/esm/types.mjs +0 -2
  48. package/dist/esm/worklets/autoworklet.mjs +258 -200
  49. package/dist/esm/worklets/autoworklet.mjs.map +1 -1
  50. package/dist/esm/worklets/globals.mjs +109 -42
  51. package/dist/esm/worklets/globals.mjs.map +1 -1
  52. package/dist/esm/worklets/hash.mjs +10 -9
  53. package/dist/esm/worklets/hash.mjs.map +1 -1
  54. package/dist/esm/worklets/scope.mjs +325 -341
  55. package/dist/esm/worklets/scope.mjs.map +1 -1
  56. package/dist/esm/worklets/serialize.mjs +60 -58
  57. package/dist/esm/worklets/serialize.mjs.map +1 -1
  58. package/dist/esm/worklets/transform.mjs +201 -197
  59. package/dist/esm/worklets/transform.mjs.map +1 -1
  60. package/dist/esm/worklets/types.mjs +0 -2
  61. package/package.json +7 -6
  62. package/src/transformBabel.test.ts +77 -17
  63. package/src/transformBabel.ts +28 -12
  64. package/types/transformBabel.d.ts +12 -0
  65. package/types/transformBabel.d.ts.map +1 -1
  66. package/types/transformSWC.d.ts +1 -4
  67. package/types/transformSWC.d.ts.map +1 -1
  68. package/dist/cjs/transformBabel.test.cjs +0 -652
  69. package/dist/cjs/transformHermesLoops.test.cjs +0 -257
  70. package/dist/cjs/transformSWC.test.cjs +0 -117
  71. package/dist/cjs/transformWorklets.test.cjs +0 -604
  72. package/dist/esm/transformBabel.test.mjs +0 -629
  73. package/dist/esm/transformBabel.test.mjs.map +0 -1
  74. package/dist/esm/transformHermesLoops.test.mjs +0 -234
  75. package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
  76. package/dist/esm/transformSWC.test.mjs +0 -118
  77. package/dist/esm/transformSWC.test.mjs.map +0 -1
  78. package/dist/esm/transformWorklets.test.mjs +0 -581
  79. package/dist/esm/transformWorklets.test.mjs.map +0 -1
  80. package/dist/esm/types.mjs.map +0 -1
  81. package/dist/esm/worklets/types.mjs.map +0 -1
  82. package/types/transformBabel.test.d.ts +0 -2
  83. package/types/transformBabel.test.d.ts.map +0 -1
  84. package/types/transformHermesLoops.test.d.ts +0 -2
  85. package/types/transformHermesLoops.test.d.ts.map +0 -1
  86. package/types/transformSWC.test.d.ts +0 -2
  87. package/types/transformSWC.test.d.ts.map +0 -1
  88. package/types/transformWorklets.test.d.ts +0 -2
  89. 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
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
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
- 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;
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
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
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
- REANIMATED_AUTOWORKLETIZATION_KEYWORDS: () => REANIMATED_AUTOWORKLETIZATION_KEYWORDS,
37
- getWorkletsVersion: () => getWorkletsVersion,
38
- prepareWorkletsForReactCompiler: () => import_transform2.prepareWorkletsForReactCompiler,
39
- shouldTransformWorklets: () => shouldTransformWorklets,
40
- transformWorklets: () => transformWorklets
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 = ["worklet", "useAnimatedGestureHandler", "useAnimatedScrollHandler", "useFrameCallback", "useAnimatedStyle", "useAnimatedProps", "createAnimatedPropAdapter", "useDerivedValue", "useAnimatedReaction", "useWorkletCallback", "withTiming", "withSpring", "withDecay", "withRepeat", "runOnUI", "executeOnUIRuntimeSync"];
52
- const REANIMATED_REGEX = new RegExp([... /* @__PURE__ */new Set([...REANIMATED_AUTOWORKLETIZATION_KEYWORDS, ...Object.keys(import_autoworklet.AUTOWORKLET_FUNCTION_ARGS),
53
- // gesture callbacks are only workletized on a `Gesture.<Kind>()` chain,
54
- // but this file gate has to be permissive or a file whose only worklets
55
- // are gesture callbacks never reaches the transform at all.
56
- ...import_autoworklet.GESTURE_BUILDER_METHODS, "withCallback"])].map(name => `\\b${name}\\b`).join("|"));
57
- const REANIMATED_IGNORED_PATHS = ["react-native-prebuilt", "node_modules/.vxrn/react-native", "node_modules/react/", "node_modules/react-dom/", "node_modules/react-native/",
58
- // react-native's own scoped packages are flow, and the worklets transform
59
- // runs before flow stripping in the vite pipeline. they never hold app
60
- // worklets, exactly like node_modules/react-native/ above.
61
- "node_modules/@react-native/", "node_modules/react-native-web/"];
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
- id,
65
- code
66
- }) {
67
- if (!(0, import_configure.isNativeWorkletsEnabled)() || !import_configure.configuration.enableReanimated) {
68
- return false;
69
- }
70
- const normalizedId = id.replace(/\\/g, "/");
71
- if (REANIMATED_IGNORED_PATHS_REGEX.test(normalizedId)) {
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
- if (projectRoot) {
78
- try {
79
- const req = (0, import_node_module.createRequire)(import_node_path.default.resolve(projectRoot, "package.json"));
80
- try {
81
- const ver = req("react-native-worklets/package.json")?.version;
82
- if (ver) return ver;
83
- } catch {}
84
- try {
85
- const ver = req("react-native-reanimated/package.json")?.version;
86
- if (ver) return ver;
87
- } catch {}
88
- } catch {}
89
- 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.`);
90
- }
91
- if (filename && !filename.startsWith("\0") && import_node_fs.default.existsSync(filename)) {
92
- try {
93
- const req = (0, import_node_module.createRequire)(filename);
94
- try {
95
- const ver = req("react-native-worklets/package.json")?.version;
96
- if (ver) return ver;
97
- } catch {}
98
- try {
99
- const ver = req("react-native-reanimated/package.json")?.version;
100
- if (ver) return ver;
101
- } catch {}
102
- } catch {}
103
- }
104
- const fallbacks = [() => (0, import_node_module.createRequire)(import_node_path.default.resolve(process.cwd(), "package.json")), () => (0, import_node_module.createRequire)(import_meta.url)];
105
- for (const getReq of fallbacks) {
106
- try {
107
- const req = getReq();
108
- try {
109
- const ver = req("react-native-worklets/package.json")?.version;
110
- if (ver) return ver;
111
- } catch {}
112
- try {
113
- const ver = req("react-native-reanimated/package.json")?.version;
114
- if (ver) return ver;
115
- } catch {}
116
- } catch {}
117
- }
118
- const target = filename || process.cwd();
119
- 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.`);
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
- return (0, import_transform.executeWorkletTransform)(id, code, sourceMaps, options, getWorkletsVersion);
123
- }
134
+ return (0, import_transform.executeWorkletTransform)(id, code, sourceMaps, options, getWorkletsVersion);
135
+ }
@@ -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
- 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;
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);