@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.46.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 (95) hide show
  1. package/dist/cjs/cache.cjs +112 -109
  2. package/dist/cjs/configure.cjs +26 -28
  3. package/dist/cjs/constants.cjs +56 -60
  4. package/dist/cjs/index.cjs +420 -438
  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 +278 -218
  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 +96 -89
  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 -420
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/index.mjs +417 -420
  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 +261 -194
  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/cache.ts +37 -7
  63. package/src/index.ts +33 -18
  64. package/src/transformBabel.test.ts +311 -1
  65. package/src/transformBabel.ts +110 -13
  66. package/src/transformWorklets.test.ts +7 -1
  67. package/types/cache.d.ts +2 -2
  68. package/types/cache.d.ts.map +1 -1
  69. package/types/index.d.ts.map +1 -1
  70. package/types/transformBabel.d.ts +16 -1
  71. package/types/transformBabel.d.ts.map +1 -1
  72. package/types/transformSWC.d.ts +1 -4
  73. package/types/transformSWC.d.ts.map +1 -1
  74. package/dist/cjs/transformBabel.test.cjs +0 -360
  75. package/dist/cjs/transformHermesLoops.test.cjs +0 -257
  76. package/dist/cjs/transformSWC.test.cjs +0 -117
  77. package/dist/cjs/transformWorklets.test.cjs +0 -604
  78. package/dist/esm/transformBabel.test.mjs +0 -337
  79. package/dist/esm/transformBabel.test.mjs.map +0 -1
  80. package/dist/esm/transformHermesLoops.test.mjs +0 -234
  81. package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
  82. package/dist/esm/transformSWC.test.mjs +0 -118
  83. package/dist/esm/transformSWC.test.mjs.map +0 -1
  84. package/dist/esm/transformWorklets.test.mjs +0 -581
  85. package/dist/esm/transformWorklets.test.mjs.map +0 -1
  86. package/dist/esm/types.mjs.map +0 -1
  87. package/dist/esm/worklets/types.mjs.map +0 -1
  88. package/types/transformBabel.test.d.ts +0 -2
  89. package/types/transformBabel.test.d.ts.map +0 -1
  90. package/types/transformHermesLoops.test.d.ts +0 -2
  91. package/types/transformHermesLoops.test.d.ts.map +0 -1
  92. package/types/transformSWC.test.d.ts +0 -2
  93. package/types/transformSWC.test.d.ts.map +0 -1
  94. package/types/transformWorklets.test.d.ts +0 -2
  95. package/types/transformWorklets.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["REACT_FORWARD_REF_TYPE","Symbol","for","REACT_MEMO_TYPE","allFamiliesByID","Map","allFamiliesByType","WeakMap","allSignaturesByType","updatedFamiliesByType","pendingUpdates","helpersByRendererID","helpersByRoot","mountedRoots","Set","failedRoots","rootElements","isPerformingRefresh","computeFullKey","signature","fullKey","ownKey","hooks","getCustomHooks","err","forceReset","i","length","hook","nestedHookSignature","get","nestedHookKey","haveEqualSignatures","prevType","nextType","prevSignature","nextSignature","isReactClass","type","prototype","isReactComponent","canPreserveStateBetween","resolveFamily","getProperty","object","property","performReactRefresh","staleFamilies","updatedFamilies","updates","forEach","family","current","set","add","update","helpers","setRefreshHandler","didError","firstError","failedRootsSnapshot","mountedRootsSnapshot","helpersByRootSnapshot","root","Error","has","element","scheduleRoot","scheduleRefresh","register","id","push","render","setSignature","key","collectCustomHooksForSignature","injectIntoGlobalHook","globalObject","__REACT_DEVTOOLS_GLOBAL_HOOK__","nextID","renderers","supportsFiber","inject","injected","onScheduleFiberRoot","children","onCommitFiberRoot","maybePriorityLevel","onCommitFiberUnmount","isDisabled","console","oldInject","apply","arguments","oldOnCommitFiberRoot","oldOnScheduleFiberRoot","delete","alternate","wasMounted","memoizedState","isMounted","createSignatureFunctionForTransform","savedType","hasCustomHooks","didCollectHooks","isLikelyComponentType","ownNames","Object","getOwnPropertyNames","__proto__","name","displayName","test","getRefreshReg","filename","registerExportsForReactRefresh","moduleExports","exportValue","debounce","fn","delay","handle","clearTimeout","setTimeout","window","__registerBeforePerformReactRefresh","cb","enqueueUpdate","Promise","all","map","validateRefreshBoundaryAndEnqueueUpdate","prevExports","nextExports","ignoredExports","predicateOnExport","hasExports","allExportsAreComponentsOrUnchanged","value","predicate","includes","desc","getOwnPropertyDescriptor","__hmr_import","module","refresh_runtime_default"],"sources":["../../src/refresh-runtime.js"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"refresh-runtime.js","names":[],"sources":["esm/refresh-runtime.js"],"sourcesContent":["/*! Copyright (c) Meta Platforms, Inc. and affiliates. **/\nconst REACT_FORWARD_REF_TYPE = /* @__PURE__ */ Symbol.for(\"react.forward_ref\");\nconst REACT_MEMO_TYPE = /* @__PURE__ */ Symbol.for(\"react.memo\");\nlet allFamiliesByID = /* @__PURE__ */ new Map();\nlet allFamiliesByType = /* @__PURE__ */ new WeakMap();\nlet allSignaturesByType = /* @__PURE__ */ new WeakMap();\nconst updatedFamiliesByType = /* @__PURE__ */ new WeakMap();\nlet pendingUpdates = [];\nconst helpersByRendererID = /* @__PURE__ */ new Map();\nconst helpersByRoot = /* @__PURE__ */ new Map();\nconst mountedRoots = /* @__PURE__ */ new Set();\nconst failedRoots = /* @__PURE__ */ new Set();\nlet rootElements = /* @__PURE__ */ new WeakMap();\nlet isPerformingRefresh = false;\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n let fullKey = signature.ownKey;\n let hooks2;\n try {\n hooks2 = signature.getCustomHooks();\n } catch (err) {\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n for (let i = 0; i < hooks2.length; i++) {\n const hook = hooks2[i];\n if (typeof hook !== \"function\") {\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n const nestedHookSignature = allSignaturesByType.get(hook);\n if (nestedHookSignature === void 0) {\n continue;\n }\n const nestedHookKey = computeFullKey(nestedHookSignature);\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n fullKey += \"\\n---\\n\" + nestedHookKey;\n }\n signature.fullKey = fullKey;\n return fullKey;\n}\nfunction haveEqualSignatures(prevType, nextType) {\n const prevSignature = allSignaturesByType.get(prevType);\n const nextSignature = allSignaturesByType.get(nextType);\n if (prevSignature === void 0 && nextSignature === void 0) {\n return true;\n }\n if (prevSignature === void 0 || nextSignature === void 0) {\n return false;\n }\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n if (nextSignature.forceReset) {\n return false;\n }\n return true;\n}\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n return false;\n}\nfunction resolveFamily(type) {\n return updatedFamiliesByType.get(type);\n}\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n return void 0;\n }\n}\nfunction performReactRefresh() {\n if (pendingUpdates.length === 0) {\n return null;\n }\n if (isPerformingRefresh) {\n return null;\n }\n isPerformingRefresh = true;\n try {\n const staleFamilies = /* @__PURE__ */ new Set();\n const updatedFamilies = /* @__PURE__ */ new Set();\n const updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(([family, nextType]) => {\n const prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType;\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n });\n const update = {\n updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies\n // Families that will be remounted\n };\n helpersByRendererID.forEach((helpers) => {\n helpers.setRefreshHandler(resolveFamily);\n });\n let didError = false;\n let firstError = null;\n const failedRootsSnapshot = new Set(failedRoots);\n const mountedRootsSnapshot = new Set(mountedRoots);\n const helpersByRootSnapshot = new Map(helpersByRoot);\n failedRootsSnapshot.forEach((root) => {\n const helpers = helpersByRootSnapshot.get(root);\n if (helpers === void 0) {\n throw new Error(\n \"Could not find helpers for a root. This is a bug in React Refresh.\"\n );\n }\n if (!failedRoots.has(root)) {\n }\n if (rootElements === null) {\n return;\n }\n if (!rootElements.has(root)) {\n return;\n }\n const element = rootElements.get(root);\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n }\n }\n });\n mountedRootsSnapshot.forEach((root) => {\n const helpers = helpersByRootSnapshot.get(root);\n if (helpers === void 0) {\n throw new Error(\n \"Could not find helpers for a root. This is a bug in React Refresh.\"\n );\n }\n if (!mountedRoots.has(root)) {\n }\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n }\n }\n });\n if (didError) {\n throw firstError;\n }\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n if (type === null) {\n return;\n }\n if (typeof type !== \"function\" && typeof type !== \"object\") {\n return;\n }\n if (allFamiliesByType.has(type)) {\n return;\n }\n let family = allFamiliesByID.get(id);\n if (family === void 0) {\n family = { current: type };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n allFamiliesByType.set(type, family);\n if (typeof type === \"object\" && type !== null) {\n switch (getProperty(type, \"$$typeof\")) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + \"$render\");\n break;\n case REACT_MEMO_TYPE:\n register(type.type, id + \"$type\");\n break;\n }\n }\n}\nfunction setSignature(type, key, forceReset, getCustomHooks) {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || (() => [])\n });\n }\n if (typeof type === \"object\" && type !== null) {\n switch (getProperty(type, \"$$typeof\")) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n}\nfunction collectCustomHooksForSignature(type) {\n const signature = allSignaturesByType.get(type);\n if (signature !== void 0) {\n computeFullKey(signature);\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n let hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook === void 0) {\n let nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: /* @__PURE__ */ new Map(),\n supportsFiber: true,\n inject: (injected) => nextID++,\n onScheduleFiberRoot: (id, root, children) => {\n },\n onCommitFiberRoot: (id, root, maybePriorityLevel, didError) => {\n },\n onCommitFiberUnmount() {\n }\n };\n }\n if (hook.isDisabled) {\n console[\"warn\"](\n \"Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). Fast Refresh is not compatible with this shim and will be disabled.\"\n );\n return;\n }\n const oldInject = hook.inject;\n hook.inject = function(injected) {\n const id = oldInject.apply(this, arguments);\n if (typeof injected.scheduleRefresh === \"function\" && typeof injected.setRefreshHandler === \"function\") {\n helpersByRendererID.set(id, injected);\n }\n return id;\n };\n hook.renderers.forEach((injected, id) => {\n if (typeof injected.scheduleRefresh === \"function\" && typeof injected.setRefreshHandler === \"function\") {\n helpersByRendererID.set(id, injected);\n }\n });\n const oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n const oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || (() => {\n });\n hook.onScheduleFiberRoot = function(id, root, children) {\n if (!isPerformingRefresh) {\n failedRoots.delete(root);\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n hook.onCommitFiberRoot = function(id, root, maybePriorityLevel, didError) {\n const helpers = helpersByRendererID.get(id);\n if (helpers !== void 0) {\n helpersByRoot.set(root, helpers);\n const current = root.current;\n const alternate = current.alternate;\n if (alternate !== null) {\n const wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null && mountedRoots.has(root);\n const isMounted = current.memoizedState != null && current.memoizedState.element != null;\n if (!wasMounted && isMounted) {\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) {\n } else if (wasMounted && !isMounted) {\n mountedRoots.delete(root);\n if (didError) {\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n failedRoots.add(root);\n }\n }\n } else {\n mountedRoots.add(root);\n }\n }\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n}\nfunction createSignatureFunctionForTransform() {\n let savedType;\n let hasCustomHooks;\n let didCollectHooks = false;\n return (type, key, forceReset, getCustomHooks) => {\n if (typeof key === \"string\") {\n if (!savedType) {\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === \"function\";\n }\n if (type != null && (typeof type === \"function\" || typeof type === \"object\")) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n return type;\n }\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n };\n}\nfunction isLikelyComponentType(type) {\n switch (typeof type) {\n case \"function\": {\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n return true;\n }\n const ownNames = Object.getOwnPropertyNames(type.prototype);\n if (ownNames.length > 1 || ownNames[0] !== \"constructor\") {\n return false;\n }\n if (type.prototype.__proto__ !== Object.prototype) {\n return false;\n }\n }\n const name = type.name || type.displayName;\n return typeof name === \"string\" && /^[A-Z]/.test(name);\n }\n case \"object\": {\n if (type != null) {\n switch (getProperty(type, \"$$typeof\")) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n return true;\n default:\n return false;\n }\n }\n return false;\n }\n default: {\n return false;\n }\n }\n}\nfunction getRefreshReg(filename) {\n return (type, id) => register(type, filename + \" \" + id);\n}\nfunction registerExportsForReactRefresh(filename, moduleExports) {\n for (const key in moduleExports) {\n if (key === \"__esModule\") continue;\n const exportValue = moduleExports[key];\n if (isLikelyComponentType(exportValue)) {\n register(exportValue, filename + \" export \" + key);\n }\n }\n}\nfunction debounce(fn, delay) {\n let handle;\n return () => {\n clearTimeout(handle);\n handle = setTimeout(fn, delay);\n };\n}\nconst hooks = [];\nwindow.__registerBeforePerformReactRefresh = (cb) => {\n hooks.push(cb);\n};\nconst enqueueUpdate = debounce(async () => {\n if (hooks.length) await Promise.all(hooks.map((cb) => cb()));\n performReactRefresh();\n}, 16);\nfunction validateRefreshBoundaryAndEnqueueUpdate(id, prevExports, nextExports) {\n const ignoredExports = [\"sitemap\", \"loader\", \"generateStaticParams\"];\n if (predicateOnExport(ignoredExports, prevExports, (key) => key in nextExports) !== true) {\n return \"Could not Fast Refresh (export removed)\";\n }\n if (predicateOnExport(ignoredExports, nextExports, (key) => key in prevExports) !== true) {\n return \"Could not Fast Refresh (new export)\";\n }\n let hasExports = false;\n const allExportsAreComponentsOrUnchanged = predicateOnExport(\n ignoredExports,\n nextExports,\n (key, value) => {\n hasExports = true;\n if (isLikelyComponentType(value)) return true;\n return prevExports[key] === nextExports[key];\n }\n );\n if (hasExports && allExportsAreComponentsOrUnchanged === true) {\n enqueueUpdate();\n } else {\n return `Could not Fast Refresh (\"${allExportsAreComponentsOrUnchanged}\" export is incompatible). Learn more at https://github.com/vitejs/vite-plugin-react-swc#consistent-components-exports`;\n }\n}\nfunction predicateOnExport(ignoredExports, moduleExports, predicate) {\n for (const key in moduleExports) {\n if (key === \"__esModule\") continue;\n if (ignoredExports.includes(key)) continue;\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) return key;\n if (!predicate(key, moduleExports[key])) return key;\n }\n return true;\n}\nconst __hmr_import = (module) => import(\n /* @vite-ignore */\n module\n);\nvar refresh_runtime_default = { injectIntoGlobalHook };\nexport {\n __hmr_import,\n createSignatureFunctionForTransform,\n refresh_runtime_default as default,\n getRefreshReg,\n injectIntoGlobalHook,\n registerExportsForReactRefresh,\n validateRefreshBoundaryAndEnqueueUpdate\n};\n//# sourceMappingURL=refresh-runtime.js.map\n"],"mappings":"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"}
@@ -1,216 +1,283 @@
1
- import { extname, relative } from "node:path";
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { extname, join, relative } from "node:path";
2
3
  import { resolvePath } from "@vxrn/utils";
3
4
  import { normalizePath } from "vite";
4
5
  import { configuration } from "./configure.mjs";
5
6
  import { asyncGeneratorRegex, debug } from "./constants.mjs";
7
+
8
+ const USER_BABEL_CONFIG_FILES = [
9
+ "babel.config.js",
10
+ "babel.config.cjs",
11
+ "babel.config.mjs",
12
+ "babel.config.json",
13
+ ".babelrc",
14
+ ".babelrc.js",
15
+ ".babelrc.json"
16
+ ];
17
+ const ONE_GENERATED_MARKER = "@one/generated bundler-config";
18
+ function findUserBabelConfig(projectRoot) {
19
+ if (!projectRoot) return null;
20
+ for (const name of USER_BABEL_CONFIG_FILES) {
21
+ const fullPath = join(projectRoot, name);
22
+ if (existsSync(fullPath)) {
23
+ try {
24
+ const content = readFileSync(fullPath, "utf8");
25
+ if (content.includes(ONE_GENERATED_MARKER)) {
26
+ continue;
27
+ }
28
+ } catch {
29
+ continue;
30
+ }
31
+ return fullPath;
32
+ }
33
+ }
34
+ return null;
35
+ }
6
36
  function getBabelOptions(props) {
7
- props = {
8
- ...props,
9
- id: normalizePath(props.id.split("?")[0])
10
- };
11
- if (props.userSetting === "babel") {
12
- return getOptions(props, true);
13
- }
14
- if (typeof props.userSetting === "undefined" || typeof props.userSetting === "object" && props.userSetting.transform === "babel") {
15
- if (props.userSetting?.excludeDefaultPlugins) {
16
- return props.userSetting;
17
- }
18
- return getOptions(props);
19
- }
20
- return null;
37
+ props = {
38
+ ...props,
39
+ id: normalizePath(props.id.split("?")[0])
40
+ };
41
+ const isProjectFile = !props.id.includes("node_modules");
42
+ const userBabelConfig = isProjectFile && props.projectRoot ? findUserBabelConfig(props.projectRoot) : null;
43
+ if (props.userSetting === "babel") {
44
+ return getOptions(props, true, userBabelConfig);
45
+ }
46
+ if (typeof props.userSetting === "undefined" || typeof props.userSetting === "object" && props.userSetting.transform === "babel") {
47
+ if (props.userSetting?.excludeDefaultPlugins) {
48
+ return {
49
+ ...props.userSetting,
50
+ ...userBabelConfig ? {
51
+ configFile: userBabelConfig,
52
+ babelrc: true
53
+ } : {}
54
+ };
55
+ }
56
+ return getOptions(props, false, userBabelConfig);
57
+ }
58
+ const userSetting = props.userSetting;
59
+ if (userSetting === "swc" || userSetting === "oxc" || userSetting === false || typeof userSetting === "object" && userSetting !== null && (userSetting.transform === "swc" || userSetting.transform === "oxc")) {
60
+ return null;
61
+ }
62
+ if (userBabelConfig) {
63
+ return getOptions(props, false, userBabelConfig);
64
+ }
65
+ return null;
21
66
  }
22
- const getOptions = (props, force = false) => {
23
- let plugins = [];
24
- if (force || shouldBabelGenerators(props)) {
25
- plugins = getBasePlugins(props);
26
- }
27
- const enableNativewind = configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") &&
28
- // if reanimated gets wrapped in transform it causes circular dep issues
29
- !/node_modules/.test(props.id) &&
30
- // only needed for createElement calls, so be a bit conservative
31
- props.code.includes("createElement");
32
- if (enableNativewind) {
33
- if (!props.id.includes("node_modules")) {
34
- plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"));
35
- }
36
- }
37
- if (enableNativewind || shouldBabelReanimated(props)) {
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 {}
43
- }
44
- if (shouldBabelReactCompiler(props)) {
45
- debug?.(`Using babel react compiler on file`);
46
- plugins.push(getBabelReactCompilerPlugin(props));
47
- }
48
- if (plugins.length) {
49
- return {
50
- plugins
51
- };
52
- }
53
- return null;
67
+ const getOptions = (props, force = false, userBabelConfig = null) => {
68
+ let plugins = [];
69
+ if (force || shouldBabelGenerators(props)) {
70
+ plugins = getBasePlugins(props);
71
+ }
72
+ const enableNativewind = configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") && !/node_modules/.test(props.id) && props.code.includes("createElement");
73
+ if (enableNativewind) {
74
+ if (!props.id.includes("node_modules")) {
75
+ plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"));
76
+ }
77
+ }
78
+ if (enableNativewind || shouldBabelReanimated(props)) {
79
+ try {
80
+ const workletsPlugin = resolvePath("react-native-worklets/plugin", props.projectRoot);
81
+ debug?.(`Using babel worklets on file ${props.id}`);
82
+ plugins.push(workletsPlugin);
83
+ } catch {}
84
+ }
85
+ if (shouldBabelReactCompiler(props)) {
86
+ debug?.(`Using babel react compiler on file`);
87
+ plugins.push(getBabelReactCompilerPlugin(props));
88
+ }
89
+ if (plugins.length || userBabelConfig) {
90
+ return {
91
+ plugins,
92
+ ...userBabelConfig ? {
93
+ configFile: userBabelConfig,
94
+ babelrc: true
95
+ } : {}
96
+ };
97
+ }
98
+ return null;
54
99
  };
55
- async function transformOxcReactCompiler(id, code, target, sourceMap = false) {
56
- const {
57
- transform
58
- } = await import("oxc-transform-react");
59
- const result = await transform(id, code, {
60
- jsx: "preserve",
61
- sourcemap: sourceMap,
62
- reactCompiler: {
63
- target
64
- }
65
- });
66
- if (result.fatal) {
67
- throw new Error(`[vxrn:compiler] oxc react compiler failed on ${id}: ${(result.errors ?? []).map(e => e.message ?? String(e)).join(", ")}`);
68
- }
69
- if (result.errors?.length) {
70
- debug?.(`[compiler/bailout] ${id}: ${result.errors.map(e => e.message ?? String(e)).join(", ")}`);
71
- }
72
- return {
73
- code: result.code,
74
- map: sourceMap ? result.map : void 0
75
- };
100
+ async function transformOxcReactCompiler(id, code, optionsOrTarget = "19", sourceMap = false) {
101
+ const { transform } = await import("oxc-transform-react");
102
+ const compilerOptions = typeof optionsOrTarget === "string" ? { target: optionsOrTarget } : optionsOrTarget || {};
103
+ const target = compilerOptions.target ?? "19";
104
+ const result = await transform(id, code, {
105
+ jsx: "preserve",
106
+ sourcemap: sourceMap,
107
+ reactCompiler: {
108
+ target,
109
+ ...compilerOptions,
110
+ environment: {
111
+ enableCustomTypeDefinitionForReanimated: true,
112
+ ...compilerOptions.environment
113
+ }
114
+ }
115
+ });
116
+ if (result.fatal) {
117
+ throw new Error(`[vxrn:compiler] oxc react compiler failed on ${id}: ${(result.errors ?? []).map((e) => e.message ?? String(e)).join(", ")}`);
118
+ }
119
+ if (result.errors?.length) {
120
+ debug?.(`[compiler/bailout] ${id}: ${result.errors.map((e) => e.message ?? String(e)).join(", ")}`);
121
+ }
122
+ return {
123
+ code: result.code,
124
+ map: sourceMap ? result.map : void 0
125
+ };
76
126
  }
77
127
  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")]);
83
- const extension = extname(id);
84
- const isTSX = extension === ".tsx";
85
- const isTS = isTSX || extension === ".ts";
86
- const babelOptions = {
87
- filename: id,
88
- compact: false,
89
- babelrc: false,
90
- configFile: false,
91
- sourceMaps: false,
92
- minified: false,
93
- ...options,
94
- presets: [isTS ? ["@babel/preset-typescript", {
95
- isTSX,
96
- allExtensions: isTSX
97
- }] : "", ...(options.presets || [])].filter(Boolean),
98
- // non-TS files use React Native's Flow dialect. RN's own component specs are
99
- // Flow `.js` (`import type`, `codegenNativeComponent<T>(…)`, `(expr: Type)` casts).
100
- // enable Hermes Flow parsing + stripping, mirroring the TypeScript preset above
101
- // (`@react-native/babel-preset` uses the same parser for JS). without it babel
102
- // can't parse current RN Flow syntax such as `call<T>(...) as HostComponent<T>`, so
103
- // plugins like
104
- // @react-native/babel-plugin-codegen silently fail on RN specs and the runtime
105
- // "Codegen didn't run" warning fires. TS path is byte-identical (empty slice).
106
- plugins: [...(isTS ? [] : [[hermesParserPlugin, {
107
- parseLangTypes: "flow",
108
- reactRuntimeTarget: "19"
109
- }]]), ...(options.plugins || []), ...(isTS ? [] : ["@babel/plugin-transform-flow-strip-types"])]
110
- };
111
- return await new Promise((res, rej) => {
112
- babelCore.transform(code, babelOptions, (err, result) => {
113
- if (!result || err) {
114
- return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));
115
- }
116
- res(result);
117
- });
118
- });
128
+ const [{ default: babelCore }, { default: hermesParserPlugin }] = await Promise.all([import("@babel/core"), import("babel-plugin-syntax-hermes-parser")]);
129
+ const extension = extname(id);
130
+ const isTSX = extension === ".tsx";
131
+ const isTS = isTSX || extension === ".ts";
132
+ const babelOptions = {
133
+ filename: id,
134
+ compact: false,
135
+ babelrc: options.babelrc ?? false,
136
+ configFile: options.configFile ?? false,
137
+ sourceMaps: false,
138
+ minified: false,
139
+ ...options,
140
+ caller: {
141
+ name: "vxrn",
142
+ supportsStaticESM: true,
143
+ supportsDynamicImport: true
144
+ },
145
+ presets: [isTS ? ["@babel/preset-typescript", {
146
+ isTSX,
147
+ allExtensions: isTSX
148
+ }] : "", ...options.presets || []].filter(Boolean),
149
+ plugins: [
150
+ ...isTS ? [] : [[hermesParserPlugin, {
151
+ parseLangTypes: "flow",
152
+ reactRuntimeTarget: "19"
153
+ }], "babel-plugin-transform-flow-enums"],
154
+ ...options.plugins || [],
155
+ ...isTS ? [] : ["@babel/plugin-transform-flow-strip-types"]
156
+ ]
157
+ };
158
+ return await new Promise((res, rej) => {
159
+ babelCore.transform(code, babelOptions, (err, result) => {
160
+ if (!result || err) {
161
+ return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));
162
+ }
163
+ res(result);
164
+ });
165
+ });
166
+ }
167
+ async function stripFlowTypes(id, code, sourceMaps = true) {
168
+ const result = await transformBabel(id, code, { sourceMaps });
169
+ return {
170
+ code: result.code,
171
+ map: result.map
172
+ };
119
173
  }
120
- const getBasePlugins = ({
121
- development
122
- }) => [["@babel/plugin-transform-destructuring"], ["@babel/plugin-transform-react-jsx", {
123
- development
124
- }], ["@babel/plugin-transform-async-generator-functions"], ["@babel/plugin-transform-async-to-generator"], ["@babel/plugin-transform-runtime", {
125
- helpers: true,
126
- // NOTE THIS WAS SPELLED WRONG BEFOER THIS COMMIT MAYBE IT WAS UNINTENTIONALLY WORKING
127
- regenerator: false
128
- }]];
129
- const shouldBabelReactCompiler = props => {
130
- if (props.environment === "ssr") {
131
- return false;
132
- }
133
- if (!configuration.enableCompiler) {
134
- return false;
135
- }
136
- const {
137
- enableCompiler
138
- } = configuration;
139
- if (typeof enableCompiler === "object" && !Array.isArray(enableCompiler) && !(enableCompiler instanceof RegExp)) {
140
- const isNative = props.environment === "ios" || props.environment === "android";
141
- const filter = isNative ? enableCompiler.native : enableCompiler.web;
142
- if (!filter) return false;
143
- return applyCompilerFilter(filter, props);
144
- }
145
- if (typeof enableCompiler === "function") {
146
- return enableCompiler(props.id, props.environment);
147
- }
148
- if (enableCompiler instanceof RegExp) {
149
- return enableCompiler.test(props.id);
150
- }
151
- if (Array.isArray(enableCompiler)) {
152
- if (!enableCompiler.includes(props.environment)) {
153
- return false;
154
- }
155
- }
156
- return applyDefaultFilters(props);
174
+ const getBasePlugins = ({ development }) => [
175
+ ["@babel/plugin-transform-destructuring"],
176
+ ["@babel/plugin-transform-react-jsx", { development }],
177
+ ["@babel/plugin-transform-async-generator-functions"],
178
+ ["@babel/plugin-transform-async-to-generator"],
179
+ ["@babel/plugin-transform-runtime", {
180
+ helpers: true,
181
+ regenerator: false
182
+ }]
183
+ ];
184
+ const shouldBabelReactCompiler = (props) => {
185
+ if (props.environment === "ssr") {
186
+ return false;
187
+ }
188
+ if (!configuration.enableCompiler) {
189
+ return false;
190
+ }
191
+ const { enableCompiler } = configuration;
192
+ if (typeof enableCompiler === "object" && !Array.isArray(enableCompiler) && !(enableCompiler instanceof RegExp)) {
193
+ const isNative = props.environment === "ios" || props.environment === "android";
194
+ const filter = isNative ? enableCompiler.native : enableCompiler.web;
195
+ if (!filter) return false;
196
+ return applyCompilerFilter(filter, props);
197
+ }
198
+ if (typeof enableCompiler === "function") {
199
+ return enableCompiler(props.id, props.environment);
200
+ }
201
+ if (enableCompiler instanceof RegExp) {
202
+ return enableCompiler.test(props.id);
203
+ }
204
+ if (Array.isArray(enableCompiler)) {
205
+ if (!enableCompiler.includes(props.environment)) {
206
+ return false;
207
+ }
208
+ }
209
+ return applyDefaultFilters(props);
157
210
  };
158
211
  function applyCompilerFilter(filter, props) {
159
- if (typeof filter === "function") {
160
- return filter(props.id, props.environment);
161
- }
162
- if (filter instanceof RegExp) {
163
- return filter.test(props.id);
164
- }
165
- if (filter === true) {
166
- return applyDefaultFilters(props);
167
- }
168
- return false;
212
+ if (typeof filter === "function") {
213
+ return filter(props.id, props.environment);
214
+ }
215
+ if (filter instanceof RegExp) {
216
+ return filter.test(props.id);
217
+ }
218
+ if (filter === true) {
219
+ return applyDefaultFilters(props);
220
+ }
221
+ return false;
169
222
  }
170
223
  function applyDefaultFilters(props) {
171
- if (!/(\.tsx?)$/.test(props.id)) return false;
172
- if (props.id.includes("node_modules")) return false;
173
- if (props.id.includes("+api.")) return false;
174
- if (props.code.startsWith("// disable-compiler")) return false;
175
- return true;
224
+ if (!/(\.tsx?)$/.test(props.id)) return false;
225
+ if (props.id.includes("node_modules")) return false;
226
+ if (props.id.includes("+api.")) return false;
227
+ if (props.code.startsWith("// disable-compiler")) return false;
228
+ return true;
176
229
  }
177
- const getBabelReactCompilerPlugin = props => {
178
- const target = props.reactForRNVersion === "18" && (props.environment === "ios" || props.environment === "android") ? "18" : "19";
179
- return ["babel-plugin-react-compiler", {
180
- target
181
- }];
230
+ const getBabelReactCompilerPlugin = (props) => {
231
+ const target = props.reactForRNVersion === "18" && (props.environment === "ios" || props.environment === "android") ? "18" : "19";
232
+ return ["babel-plugin-react-compiler", { target }];
182
233
  };
183
- function shouldBabelGenerators({
184
- code
185
- }) {
186
- if (process.env.VXRN_USE_BABEL_FOR_GENERATORS) {
187
- return asyncGeneratorRegex.test(code);
188
- }
234
+ function shouldBabelGenerators({ code }) {
235
+ if (process.env.VXRN_USE_BABEL_FOR_GENERATORS) {
236
+ return asyncGeneratorRegex.test(code);
237
+ }
189
238
  }
190
- const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = ["worklet", "useAnimatedGestureHandler", "useAnimatedScrollHandler", "useFrameCallback", "useAnimatedStyle", "useAnimatedProps", "createAnimatedPropAdapter", "useDerivedValue", "useAnimatedReaction", "useWorkletCallback", "withTiming", "withSpring", "withDecay", "withRepeat", "runOnUI", "executeOnUIRuntimeSync"];
239
+ const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [
240
+ "worklet",
241
+ "useAnimatedGestureHandler",
242
+ "useAnimatedScrollHandler",
243
+ "useFrameCallback",
244
+ "useAnimatedStyle",
245
+ "useAnimatedProps",
246
+ "createAnimatedPropAdapter",
247
+ "useDerivedValue",
248
+ "useAnimatedReaction",
249
+ "useWorkletCallback",
250
+ "withTiming",
251
+ "withSpring",
252
+ "withDecay",
253
+ "withRepeat",
254
+ "runOnUI",
255
+ "executeOnUIRuntimeSync"
256
+ ];
191
257
  const REANIMATED_REGEX = new RegExp(REANIMATED_AUTOWORKLETIZATION_KEYWORDS.join("|"));
192
258
  const REANIMATED_IGNORED_PATHS = [
193
- // Prebuilt/vendored react-native that shouldn't be transformed
194
- "react-native-prebuilt", "node_modules/.vxrn/react-native",
195
- // Known false positives - they mention worklet keywords in comments/strings but don't use them
196
- "node_modules/react/", "node_modules/react-dom/", "node_modules/react-native/", "node_modules/react-native-web/"];
259
+ "react-native-prebuilt",
260
+ "node_modules/.vxrn/react-native",
261
+ "node_modules/react/",
262
+ "node_modules/react-dom/",
263
+ "node_modules/react-native/",
264
+ "node_modules/react-native-web/"
265
+ ];
197
266
  const REANIMATED_IGNORED_PATHS_REGEX = new RegExp(REANIMATED_IGNORED_PATHS.join("|"));
198
- function shouldBabelReanimated({
199
- code,
200
- id
201
- }) {
202
- if (!configuration.enableReanimated) {
203
- return false;
204
- }
205
- if (REANIMATED_IGNORED_PATHS_REGEX.test(id)) {
206
- return false;
207
- }
208
- if (REANIMATED_REGEX.test(code)) {
209
- const location = id.includes("node_modules") ? "node_modules" : "user-code";
210
- debug?.(` \u{1FA84} [reanimated/${location}] ${relative(process.cwd(), id)}`);
211
- return true;
212
- }
213
- return false;
267
+ function shouldBabelReanimated({ code, id }) {
268
+ if (!configuration.enableReanimated) {
269
+ return false;
270
+ }
271
+ if (REANIMATED_IGNORED_PATHS_REGEX.test(id)) {
272
+ return false;
273
+ }
274
+ if (REANIMATED_REGEX.test(code)) {
275
+ const location = id.includes("node_modules") ? "node_modules" : "user-code";
276
+ debug?.(` \u{1FA84} [reanimated/${location}] ${relative(process.cwd(), id)}`);
277
+ return true;
278
+ }
279
+ return false;
214
280
  }
215
- export { getBabelOptions, transformBabel, transformOxcReactCompiler };
281
+
282
+ export { findUserBabelConfig, getBabelOptions, stripFlowTypes, transformBabel, transformOxcReactCompiler };
216
283
  //# sourceMappingURL=transformBabel.mjs.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"file":"transformBabel.js","names":[],"sources":["esm/transformBabel.js"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { extname, join, relative } from \"node:path\";\nimport { resolvePath } from \"@vxrn/utils\";\nimport { normalizePath } from \"vite\";\nimport { configuration } from \"./configure\";\nimport { asyncGeneratorRegex, debug } from \"./constants\";\nconst USER_BABEL_CONFIG_FILES = [\n \"babel.config.js\",\n \"babel.config.cjs\",\n \"babel.config.mjs\",\n \"babel.config.json\",\n \".babelrc\",\n \".babelrc.js\",\n \".babelrc.json\"\n];\nconst ONE_GENERATED_MARKER = \"@one/generated bundler-config\";\nfunction findUserBabelConfig(projectRoot) {\n if (!projectRoot) return null;\n for (const name of USER_BABEL_CONFIG_FILES) {\n const fullPath = join(projectRoot, name);\n if (existsSync(fullPath)) {\n try {\n const content = readFileSync(fullPath, \"utf8\");\n if (content.includes(ONE_GENERATED_MARKER)) {\n continue;\n }\n } catch {\n continue;\n }\n return fullPath;\n }\n }\n return null;\n}\nfunction getBabelOptions(props) {\n props = { ...props, id: normalizePath(props.id.split(\"?\")[0]) };\n const isProjectFile = !props.id.includes(\"node_modules\");\n const userBabelConfig = isProjectFile && props.projectRoot ? findUserBabelConfig(props.projectRoot) : null;\n if (props.userSetting === \"babel\") {\n return getOptions(props, true, userBabelConfig);\n }\n if (typeof props.userSetting === \"undefined\" || typeof props.userSetting === \"object\" && props.userSetting.transform === \"babel\") {\n if (props.userSetting?.excludeDefaultPlugins) {\n return {\n ...props.userSetting,\n ...userBabelConfig ? { configFile: userBabelConfig, babelrc: true } : {}\n };\n }\n return getOptions(props, false, userBabelConfig);\n }\n const userSetting = props.userSetting;\n if (userSetting === \"swc\" || userSetting === \"oxc\" || userSetting === false || typeof userSetting === \"object\" && userSetting !== null && (userSetting.transform === \"swc\" || userSetting.transform === \"oxc\")) {\n return null;\n }\n if (userBabelConfig) {\n return getOptions(props, false, userBabelConfig);\n }\n return null;\n}\nconst getOptions = (props, force = false, userBabelConfig = null) => {\n let plugins = [];\n if (force || shouldBabelGenerators(props)) {\n plugins = getBasePlugins(props);\n }\n const enableNativewind = configuration.enableNativewind && (props.environment === \"ios\" || props.environment === \"android\") && // if reanimated gets wrapped in transform it causes circular dep issues\n !/node_modules/.test(props.id) && // only needed for createElement calls, so be a bit conservative\n props.code.includes(\"createElement\");\n if (enableNativewind) {\n if (!props.id.includes(\"node_modules\")) {\n plugins.push(resolvePath(\"react-native-css-interop/dist/babel-plugin.js\"));\n }\n }\n if (enableNativewind || shouldBabelReanimated(props)) {\n try {\n const workletsPlugin = resolvePath(\n \"react-native-worklets/plugin\",\n props.projectRoot\n );\n debug?.(`Using babel worklets on file ${props.id}`);\n plugins.push(workletsPlugin);\n } catch {\n }\n }\n if (shouldBabelReactCompiler(props)) {\n debug?.(`Using babel react compiler on file`);\n plugins.push(getBabelReactCompilerPlugin(props));\n }\n if (plugins.length || userBabelConfig) {\n return {\n plugins,\n ...userBabelConfig ? { configFile: userBabelConfig, babelrc: true } : {}\n };\n }\n return null;\n};\nasync function transformOxcReactCompiler(id, code, optionsOrTarget = \"19\", sourceMap = false) {\n const { transform } = await import(\"oxc-transform-react\");\n const compilerOptions = typeof optionsOrTarget === \"string\" ? { target: optionsOrTarget } : optionsOrTarget || {};\n const target = compilerOptions.target ?? \"19\";\n const result = await transform(id, code, {\n jsx: \"preserve\",\n sourcemap: sourceMap,\n reactCompiler: {\n target,\n ...compilerOptions,\n environment: {\n enableCustomTypeDefinitionForReanimated: true,\n ...compilerOptions.environment\n }\n }\n });\n if (result.fatal) {\n throw new Error(\n `[vxrn:compiler] oxc react compiler failed on ${id}: ${(result.errors ?? []).map((e) => e.message ?? String(e)).join(\", \")}`\n );\n }\n if (result.errors?.length) {\n debug?.(\n `[compiler/bailout] ${id}: ${result.errors.map((e) => e.message ?? String(e)).join(\", \")}`\n );\n }\n return {\n code: result.code,\n map: sourceMap ? result.map : void 0\n };\n}\nasync function transformBabel(id, code, options) {\n const [{ default: babelCore }, { default: hermesParserPlugin }] = await Promise.all([\n import(\"@babel/core\"),\n import(\"babel-plugin-syntax-hermes-parser\")\n ]);\n const extension = extname(id);\n const isTSX = extension === \".tsx\";\n const isTS = isTSX || extension === \".ts\";\n const babelOptions = {\n filename: id,\n compact: false,\n babelrc: options.babelrc ?? false,\n configFile: options.configFile ?? false,\n sourceMaps: false,\n minified: false,\n ...options,\n // vite and rolldown own module syntax and import.meta, so presets written for\n // metro (babel-preset-expo) must keep esm instead of rewriting it for metro's runtime\n caller: {\n name: \"vxrn\",\n supportsStaticESM: true,\n supportsDynamicImport: true\n },\n presets: [\n isTS ? [\n \"@babel/preset-typescript\",\n {\n isTSX,\n allExtensions: isTSX\n }\n ] : \"\",\n ...options.presets || []\n ].filter(Boolean),\n // non-TS files use React Native's Flow dialect. RN's own component specs are\n // Flow `.js` (`import type`, `codegenNativeComponent<T>(…)`, `(expr: Type)` casts).\n // enable Hermes Flow parsing + stripping, mirroring the TypeScript preset above\n // (`@react-native/babel-preset` uses the same parser for JS). without it babel\n // can't parse current RN Flow syntax such as `call<T>(...) as HostComponent<T>`, so\n // plugins like\n // @react-native/babel-plugin-codegen silently fail on RN specs and the runtime\n // \"Codegen didn't run\" warning fires. TS path is byte-identical (empty slice).\n plugins: [\n ...isTS ? [] : [\n [hermesParserPlugin, { parseLangTypes: \"flow\", reactRuntimeTarget: \"19\" }],\n \"babel-plugin-transform-flow-enums\"\n ],\n ...options.plugins || [],\n ...isTS ? [] : [\"@babel/plugin-transform-flow-strip-types\"]\n ]\n };\n return await new Promise((res, rej) => {\n babelCore.transform(code, babelOptions, (err, result) => {\n if (!result || err) {\n return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));\n }\n res(result);\n });\n });\n}\nasync function stripFlowTypes(id, code, sourceMaps = true) {\n const result = await transformBabel(id, code, { sourceMaps });\n return {\n code: result.code,\n map: result.map\n };\n}\nconst getBasePlugins = ({ development }) => [\n [\"@babel/plugin-transform-destructuring\"],\n [\"@babel/plugin-transform-react-jsx\", { development }],\n [\"@babel/plugin-transform-async-generator-functions\"],\n [\"@babel/plugin-transform-async-to-generator\"],\n [\n \"@babel/plugin-transform-runtime\",\n {\n helpers: true,\n // NOTE THIS WAS SPELLED WRONG BEFOER THIS COMMIT MAYBE IT WAS UNINTENTIONALLY WORKING\n regenerator: false\n }\n ]\n];\nconst shouldBabelReactCompiler = (props) => {\n if (props.environment === \"ssr\") {\n return false;\n }\n if (!configuration.enableCompiler) {\n return false;\n }\n const { enableCompiler } = configuration;\n if (typeof enableCompiler === \"object\" && !Array.isArray(enableCompiler) && !(enableCompiler instanceof RegExp)) {\n const isNative = props.environment === \"ios\" || props.environment === \"android\";\n const filter = isNative ? enableCompiler.native : enableCompiler.web;\n if (!filter) return false;\n return applyCompilerFilter(filter, props);\n }\n if (typeof enableCompiler === \"function\") {\n return enableCompiler(props.id, props.environment);\n }\n if (enableCompiler instanceof RegExp) {\n return enableCompiler.test(props.id);\n }\n if (Array.isArray(enableCompiler)) {\n if (!enableCompiler.includes(props.environment)) {\n return false;\n }\n }\n return applyDefaultFilters(props);\n};\nfunction applyCompilerFilter(filter, props) {\n if (typeof filter === \"function\") {\n return filter(props.id, props.environment);\n }\n if (filter instanceof RegExp) {\n return filter.test(props.id);\n }\n if (filter === true) {\n return applyDefaultFilters(props);\n }\n return false;\n}\nfunction applyDefaultFilters(props) {\n if (!/(\\.tsx?)$/.test(props.id)) return false;\n if (props.id.includes(\"node_modules\")) return false;\n if (props.id.includes(\"+api.\")) return false;\n if (props.code.startsWith(\"// disable-compiler\")) return false;\n return true;\n}\nconst getBabelReactCompilerPlugin = (props) => {\n const target = props.reactForRNVersion === \"18\" && (props.environment === \"ios\" || props.environment === \"android\") ? \"18\" : \"19\";\n return [\"babel-plugin-react-compiler\", { target }];\n};\nfunction shouldBabelGenerators({ code }) {\n if (process.env.VXRN_USE_BABEL_FOR_GENERATORS) {\n return asyncGeneratorRegex.test(code);\n }\n}\nconst REANIMATED_AUTOWORKLETIZATION_KEYWORDS = [\n \"worklet\",\n \"useAnimatedGestureHandler\",\n \"useAnimatedScrollHandler\",\n \"useFrameCallback\",\n \"useAnimatedStyle\",\n \"useAnimatedProps\",\n \"createAnimatedPropAdapter\",\n \"useDerivedValue\",\n \"useAnimatedReaction\",\n \"useWorkletCallback\",\n \"withTiming\",\n \"withSpring\",\n \"withDecay\",\n \"withRepeat\",\n \"runOnUI\",\n \"executeOnUIRuntimeSync\"\n];\nconst REANIMATED_REGEX = new RegExp(REANIMATED_AUTOWORKLETIZATION_KEYWORDS.join(\"|\"));\nconst REANIMATED_IGNORED_PATHS = [\n // Prebuilt/vendored react-native that shouldn't be transformed\n \"react-native-prebuilt\",\n \"node_modules/.vxrn/react-native\",\n // Known false positives - they mention worklet keywords in comments/strings but don't use them\n \"node_modules/react/\",\n \"node_modules/react-dom/\",\n \"node_modules/react-native/\",\n \"node_modules/react-native-web/\"\n];\nconst REANIMATED_IGNORED_PATHS_REGEX = new RegExp(REANIMATED_IGNORED_PATHS.join(\"|\"));\nfunction shouldBabelReanimated({ code, id }) {\n if (!configuration.enableReanimated) {\n return false;\n }\n if (REANIMATED_IGNORED_PATHS_REGEX.test(id)) {\n return false;\n }\n if (REANIMATED_REGEX.test(code)) {\n const location = id.includes(\"node_modules\") ? \"node_modules\" : \"user-code\";\n debug?.(` \\u{1FA84} [reanimated/${location}] ${relative(process.cwd(), id)}`);\n return true;\n }\n return false;\n}\nexport {\n findUserBabelConfig,\n getBabelOptions,\n stripFlowTypes,\n transformBabel,\n transformOxcReactCompiler\n};\n//# sourceMappingURL=transformBabel.js.map\n"],"mappings":"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"}