@vxrn/compiler 2.0.0-beta.33.1 → 2.0.0-beta.362.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 (115) 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 +428 -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 +247 -221
  9. package/dist/cjs/transformHermesAsync.cjs +36 -47
  10. package/dist/cjs/transformHermesClasses.cjs +51 -0
  11. package/dist/cjs/transformHermesLoops.cjs +279 -281
  12. package/dist/cjs/transformSWC.cjs +183 -200
  13. package/dist/cjs/transformWorklets.cjs +107 -95
  14. package/dist/cjs/types.cjs +9 -11
  15. package/dist/cjs/workletUtils.cjs +30 -0
  16. package/dist/cjs/worklets/autoworklet.cjs +277 -222
  17. package/dist/cjs/worklets/globals.cjs +145 -60
  18. package/dist/cjs/worklets/hash.cjs +23 -27
  19. package/dist/cjs/worklets/scope.cjs +338 -359
  20. package/dist/cjs/worklets/serialize.cjs +73 -75
  21. package/dist/cjs/worklets/transform.cjs +217 -222
  22. package/dist/cjs/worklets/types.cjs +9 -11
  23. package/dist/esm/cache.mjs +96 -89
  24. package/dist/esm/cache.mjs.map +1 -1
  25. package/dist/esm/configure.mjs +11 -10
  26. package/dist/esm/configure.mjs.map +1 -1
  27. package/dist/esm/constants.mjs +41 -41
  28. package/dist/esm/constants.mjs.map +1 -1
  29. package/dist/esm/index.js +426 -420
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/index.mjs +426 -420
  32. package/dist/esm/index.mjs.map +1 -1
  33. package/dist/esm/reactNativeCodegen.mjs +90 -88
  34. package/dist/esm/reactNativeCodegen.mjs.map +1 -1
  35. package/dist/esm/reactNativeViewConfig.mjs +347 -362
  36. package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
  37. package/dist/esm/refresh-runtime.mjs +372 -376
  38. package/dist/esm/refresh-runtime.mjs.map +1 -1
  39. package/dist/esm/transformBabel.mjs +231 -198
  40. package/dist/esm/transformBabel.mjs.map +1 -1
  41. package/dist/esm/transformHermesAsync.mjs +20 -21
  42. package/dist/esm/transformHermesAsync.mjs.map +1 -1
  43. package/dist/esm/transformHermesClasses.mjs +25 -0
  44. package/dist/esm/transformHermesClasses.mjs.map +1 -0
  45. package/dist/esm/transformHermesLoops.mjs +264 -255
  46. package/dist/esm/transformHermesLoops.mjs.map +1 -1
  47. package/dist/esm/transformSWC.mjs +163 -171
  48. package/dist/esm/transformSWC.mjs.map +1 -1
  49. package/dist/esm/transformWorklets.mjs +89 -69
  50. package/dist/esm/transformWorklets.mjs.map +1 -1
  51. package/dist/esm/types.mjs +0 -2
  52. package/dist/esm/workletUtils.mjs +5 -0
  53. package/dist/esm/worklets/autoworklet.mjs +258 -200
  54. package/dist/esm/worklets/autoworklet.mjs.map +1 -1
  55. package/dist/esm/worklets/globals.mjs +130 -42
  56. package/dist/esm/worklets/globals.mjs.map +1 -1
  57. package/dist/esm/worklets/hash.mjs +10 -9
  58. package/dist/esm/worklets/hash.mjs.map +1 -1
  59. package/dist/esm/worklets/scope.mjs +325 -341
  60. package/dist/esm/worklets/scope.mjs.map +1 -1
  61. package/dist/esm/worklets/serialize.mjs +60 -58
  62. package/dist/esm/worklets/serialize.mjs.map +1 -1
  63. package/dist/esm/worklets/transform.mjs +201 -197
  64. package/dist/esm/worklets/transform.mjs.map +1 -1
  65. package/dist/esm/worklets/types.mjs +0 -2
  66. package/package.json +15 -6
  67. package/src/cache.ts +37 -7
  68. package/src/index.ts +44 -19
  69. package/src/reactNativeViewConfig.ts +6 -1
  70. package/src/transformBabel.test.ts +351 -17
  71. package/src/transformBabel.ts +137 -96
  72. package/src/transformHermesClasses.ts +34 -0
  73. package/src/transformSWC.ts +12 -1
  74. package/src/transformWorklets.test.ts +80 -5
  75. package/src/workletUtils.ts +4 -0
  76. package/src/worklets/autoworklet.ts +5 -2
  77. package/src/worklets/globals.ts +23 -0
  78. package/src/worklets/serialize.ts +1 -1
  79. package/types/cache.d.ts +2 -2
  80. package/types/cache.d.ts.map +1 -1
  81. package/types/index.d.ts +1 -0
  82. package/types/index.d.ts.map +1 -1
  83. package/types/reactNativeViewConfig.d.ts.map +1 -1
  84. package/types/transformBabel.d.ts +16 -1
  85. package/types/transformBabel.d.ts.map +1 -1
  86. package/types/transformHermesClasses.d.ts +5 -0
  87. package/types/transformHermesClasses.d.ts.map +1 -0
  88. package/types/transformSWC.d.ts +1 -4
  89. package/types/transformSWC.d.ts.map +1 -1
  90. package/types/workletUtils.d.ts +4 -0
  91. package/types/workletUtils.d.ts.map +1 -0
  92. package/types/worklets/autoworklet.d.ts.map +1 -1
  93. package/types/worklets/globals.d.ts.map +1 -1
  94. package/dist/cjs/transformBabel.test.cjs +0 -360
  95. package/dist/cjs/transformHermesLoops.test.cjs +0 -257
  96. package/dist/cjs/transformSWC.test.cjs +0 -117
  97. package/dist/cjs/transformWorklets.test.cjs +0 -604
  98. package/dist/esm/transformBabel.test.mjs +0 -337
  99. package/dist/esm/transformBabel.test.mjs.map +0 -1
  100. package/dist/esm/transformHermesLoops.test.mjs +0 -234
  101. package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
  102. package/dist/esm/transformSWC.test.mjs +0 -118
  103. package/dist/esm/transformSWC.test.mjs.map +0 -1
  104. package/dist/esm/transformWorklets.test.mjs +0 -581
  105. package/dist/esm/transformWorklets.test.mjs.map +0 -1
  106. package/dist/esm/types.mjs.map +0 -1
  107. package/dist/esm/worklets/types.mjs.map +0 -1
  108. package/types/transformBabel.test.d.ts +0 -2
  109. package/types/transformBabel.test.d.ts.map +0 -1
  110. package/types/transformHermesLoops.test.d.ts +0 -2
  111. package/types/transformHermesLoops.test.d.ts.map +0 -1
  112. package/types/transformSWC.test.d.ts +0 -2
  113. package/types/transformSWC.test.d.ts.map +0 -1
  114. package/types/transformWorklets.test.d.ts +0 -2
  115. 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,249 @@
1
- import { extname, relative } from "node:path";
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { extname, join } 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
+ caller: getBabelCaller(props),
50
+ ...props.userSetting,
51
+ ...userBabelConfig ? {
52
+ configFile: userBabelConfig,
53
+ babelrc: true
54
+ } : {}
55
+ };
56
+ }
57
+ return getOptions(props, false, userBabelConfig);
58
+ }
59
+ const userSetting = props.userSetting;
60
+ if (userSetting === "swc" || userSetting === "oxc" || userSetting === false || typeof userSetting === "object" && userSetting !== null && (userSetting.transform === "swc" || userSetting.transform === "oxc")) {
61
+ return null;
62
+ }
63
+ if (userBabelConfig) {
64
+ return getOptions(props, false, userBabelConfig);
65
+ }
66
+ return null;
21
67
  }
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;
68
+ const getOptions = (props, force = false, userBabelConfig = null) => {
69
+ let plugins = [];
70
+ if (force || shouldBabelGenerators(props)) {
71
+ plugins = getBasePlugins(props);
72
+ }
73
+ const enableNativewind = configuration.enableNativewind && (props.environment === "ios" || props.environment === "android") && !/node_modules/.test(props.id) && props.code.includes("createElement");
74
+ if (enableNativewind) {
75
+ if (!props.id.includes("node_modules")) {
76
+ plugins.push(resolvePath("react-native-css-interop/dist/babel-plugin.js"));
77
+ }
78
+ }
79
+ if (shouldBabelReactCompiler(props)) {
80
+ debug?.(`Using babel react compiler on file`);
81
+ plugins.push(getBabelReactCompilerPlugin(props));
82
+ }
83
+ if (plugins.length || userBabelConfig) {
84
+ return {
85
+ plugins,
86
+ caller: getBabelCaller(props),
87
+ ...userBabelConfig ? {
88
+ configFile: userBabelConfig,
89
+ babelrc: true
90
+ } : {}
91
+ };
92
+ }
93
+ return null;
54
94
  };
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
- };
95
+ function getBabelCaller(props) {
96
+ const caller = {
97
+ name: "vxrn",
98
+ platform: props.environment === "ios" || props.environment === "android" ? props.environment : "web",
99
+ isDev: props.development
100
+ };
101
+ return caller;
102
+ }
103
+ async function transformOxcReactCompiler(id, code, optionsOrTarget = "19", sourceMap = false) {
104
+ const { transform } = await import("oxc-transform-react");
105
+ const compilerOptions = typeof optionsOrTarget === "string" ? { target: optionsOrTarget } : optionsOrTarget || {};
106
+ const target = compilerOptions.target ?? "19";
107
+ const result = await transform(id, code, {
108
+ jsx: "preserve",
109
+ sourcemap: sourceMap,
110
+ reactCompiler: {
111
+ target,
112
+ ...compilerOptions,
113
+ environment: {
114
+ enableCustomTypeDefinitionForReanimated: true,
115
+ ...compilerOptions.environment
116
+ }
117
+ }
118
+ });
119
+ if (result.fatal) {
120
+ throw new Error(`[vxrn:compiler] oxc react compiler failed on ${id}: ${(result.errors ?? []).map((e) => e.message ?? String(e)).join(", ")}`);
121
+ }
122
+ if (result.errors?.length) {
123
+ debug?.(`[compiler/bailout] ${id}: ${result.errors.map((e) => e.message ?? String(e)).join(", ")}`);
124
+ }
125
+ return {
126
+ code: result.code,
127
+ map: sourceMap ? result.map : void 0
128
+ };
76
129
  }
77
130
  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
- });
131
+ const [{ default: babelCore }, { default: hermesParserPlugin }] = await Promise.all([import("@babel/core"), import("babel-plugin-syntax-hermes-parser")]);
132
+ const extension = extname(id);
133
+ const isTSX = extension === ".tsx";
134
+ const isTS = isTSX || extension === ".ts";
135
+ const babelOptions = {
136
+ filename: id,
137
+ compact: false,
138
+ babelrc: options.babelrc ?? false,
139
+ configFile: options.configFile ?? false,
140
+ sourceMaps: false,
141
+ minified: false,
142
+ ...options,
143
+ ...!isTS ? { parserOpts: {
144
+ ...options.parserOpts,
145
+ plugins: [...options.parserOpts?.plugins || [], "jsx"]
146
+ } } : {},
147
+ caller: {
148
+ name: "vxrn",
149
+ ...options.caller,
150
+ supportsStaticESM: true,
151
+ supportsDynamicImport: true
152
+ },
153
+ presets: [isTS ? ["@babel/preset-typescript", {
154
+ isTSX,
155
+ allExtensions: isTSX
156
+ }] : "", ...options.presets || []].filter(Boolean),
157
+ plugins: [
158
+ ...isTS ? [] : [[hermesParserPlugin, {
159
+ parseLangTypes: "flow",
160
+ reactRuntimeTarget: "19"
161
+ }], "babel-plugin-transform-flow-enums"],
162
+ ...options.plugins || [],
163
+ ...isTS ? [] : ["@babel/plugin-transform-flow-strip-types"]
164
+ ]
165
+ };
166
+ return await new Promise((res, rej) => {
167
+ babelCore.transform(code, babelOptions, (err, result) => {
168
+ if (!result || err) {
169
+ return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));
170
+ }
171
+ res(result);
172
+ });
173
+ });
119
174
  }
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);
175
+ async function stripFlowTypes(id, code, sourceMaps = true) {
176
+ const result = await transformBabel(id, code, { sourceMaps });
177
+ return {
178
+ code: result.code,
179
+ map: result.map
180
+ };
181
+ }
182
+ const getBasePlugins = ({ development }) => [
183
+ ["@babel/plugin-transform-destructuring"],
184
+ ["@babel/plugin-transform-react-jsx", { development }],
185
+ ["@babel/plugin-transform-async-generator-functions"],
186
+ ["@babel/plugin-transform-async-to-generator"],
187
+ ["@babel/plugin-transform-runtime", {
188
+ helpers: true,
189
+ regenerator: false
190
+ }]
191
+ ];
192
+ const shouldBabelReactCompiler = (props) => {
193
+ if (props.environment === "ssr") {
194
+ return false;
195
+ }
196
+ if (!configuration.enableCompiler) {
197
+ return false;
198
+ }
199
+ const { enableCompiler } = configuration;
200
+ if (typeof enableCompiler === "object" && !Array.isArray(enableCompiler) && !(enableCompiler instanceof RegExp)) {
201
+ const isNative = props.environment === "ios" || props.environment === "android";
202
+ const filter = isNative ? enableCompiler.native : enableCompiler.web;
203
+ if (!filter) return false;
204
+ return applyCompilerFilter(filter, props);
205
+ }
206
+ if (typeof enableCompiler === "function") {
207
+ return enableCompiler(props.id, props.environment);
208
+ }
209
+ if (enableCompiler instanceof RegExp) {
210
+ return enableCompiler.test(props.id);
211
+ }
212
+ if (Array.isArray(enableCompiler)) {
213
+ if (!enableCompiler.includes(props.environment)) {
214
+ return false;
215
+ }
216
+ }
217
+ return applyDefaultFilters(props);
157
218
  };
158
219
  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;
220
+ if (typeof filter === "function") {
221
+ return filter(props.id, props.environment);
222
+ }
223
+ if (filter instanceof RegExp) {
224
+ return filter.test(props.id);
225
+ }
226
+ if (filter === true) {
227
+ return applyDefaultFilters(props);
228
+ }
229
+ return false;
169
230
  }
170
231
  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;
232
+ if (!/(\.tsx?)$/.test(props.id)) return false;
233
+ if (props.id.includes("node_modules")) return false;
234
+ if (props.id.includes("+api.")) return false;
235
+ if (props.code.startsWith("// disable-compiler")) return false;
236
+ return true;
176
237
  }
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
- }];
238
+ const getBabelReactCompilerPlugin = (props) => {
239
+ const target = props.reactForRNVersion === "18" && (props.environment === "ios" || props.environment === "android") ? "18" : "19";
240
+ return ["babel-plugin-react-compiler", { target }];
182
241
  };
183
- function shouldBabelGenerators({
184
- code
185
- }) {
186
- if (process.env.VXRN_USE_BABEL_FOR_GENERATORS) {
187
- return asyncGeneratorRegex.test(code);
188
- }
189
- }
190
- const REANIMATED_AUTOWORKLETIZATION_KEYWORDS = ["worklet", "useAnimatedGestureHandler", "useAnimatedScrollHandler", "useFrameCallback", "useAnimatedStyle", "useAnimatedProps", "createAnimatedPropAdapter", "useDerivedValue", "useAnimatedReaction", "useWorkletCallback", "withTiming", "withSpring", "withDecay", "withRepeat", "runOnUI", "executeOnUIRuntimeSync"];
191
- const REANIMATED_REGEX = new RegExp(REANIMATED_AUTOWORKLETIZATION_KEYWORDS.join("|"));
192
- 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/"];
197
- 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;
242
+ function shouldBabelGenerators({ code }) {
243
+ if (process.env.VXRN_USE_BABEL_FOR_GENERATORS) {
244
+ return asyncGeneratorRegex.test(code);
245
+ }
214
246
  }
215
- export { getBabelOptions, transformBabel, transformOxcReactCompiler };
247
+
248
+ export { findUserBabelConfig, getBabelOptions, stripFlowTypes, transformBabel, transformOxcReactCompiler };
216
249
  //# 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 } 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 caller: getBabelCaller(props),\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 (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 caller: getBabelCaller(props),\n ...userBabelConfig ? { configFile: userBabelConfig, babelrc: true } : {}\n };\n }\n return null;\n};\nfunction getBabelCaller(props) {\n const caller = {\n name: \"vxrn\",\n platform: props.environment === \"ios\" || props.environment === \"android\" ? props.environment : \"web\",\n isDev: props.development\n };\n return caller;\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 ...!isTS ? {\n parserOpts: {\n ...options.parserOpts,\n plugins: [...options.parserOpts?.plugins || [], \"jsx\"]\n }\n } : {},\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 ...options.caller,\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}\nexport {\n findUserBabelConfig,\n getBabelOptions,\n stripFlowTypes,\n transformBabel,\n transformOxcReactCompiler\n};\n//# sourceMappingURL=transformBabel.js.map\n"],"mappings":"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"}