From d9ccbaff818f7a2a72f5a13fd94b4a283e1a1925 Mon Sep 17 00:00:00 2001 From: ahmdshrif Date: Tue, 9 Jun 2026 13:22:57 +0300 Subject: [PATCH 1/2] Import interopRequireWildcard helper from @babel/runtime instead of inlining it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When no explicit runtime version was given, @react-native/babel-preset enabled @babel/plugin-transform-runtime without a `version`, so it defaulted to 7.0.0. Helpers added to @babel/runtime after 7.0.0 — most notably the modern `interopRequireWildcard` used for every `import * as X` — were therefore inlined into every module instead of being imported once from @babel/runtime, needlessly bloating the bundle. Default the transform-runtime `version` to 7.14.0 (the floor at which `interopRequireWildcard` is available) when a version isn't explicitly provided. The helper is now imported from @babel/runtime and deduplicated. Fixes #57123 --- .../__tests__/__fixtures__/output/default-dev.js | 8 ++++---- .../__tests__/__fixtures__/output/default-prod.js | 8 ++++---- .../__fixtures__/output/hermes-canary-dev.js | 10 ++++------ .../__fixtures__/output/hermes-canary-prod.js | 4 ++-- .../output/hermes-stable-dev-preserve-async.js | 10 ++++------ .../hermes-stable-dev-preserve-block-scoping.js | 10 ++++------ .../hermes-stable-dev-preserve-class-private.js | 10 ++++------ .../hermes-stable-dev-preserve-destructuring.js | 10 ++++------ .../__fixtures__/output/hermes-stable-dev.js | 10 ++++------ .../__fixtures__/output/hermes-stable-prod.js | 4 ++-- .../output/no-import-export-transform.js | 2 +- .../src/__tests__/transform-snapshot-test.js | 14 ++++++++++++++ .../react-native-babel-preset/src/configs/main.js | 13 ++++++++++--- 13 files changed, 61 insertions(+), 52 deletions(-) diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js index fd6db645265f..6541efdf7b98 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js @@ -17,7 +17,8 @@ * - Options: {"dev":true} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -42,6 +43,7 @@ exports.sumPairs = sumPairs; var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); +var _isNativeReflectConstruct2 = _interopRequireDefault(require("@babel/runtime/helpers/isNativeReflectConstruct")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); @@ -56,10 +58,8 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, (0, _isNativeReflectConstruct2.default)() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js index 190d8969be82..114220bedf32 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js @@ -17,7 +17,8 @@ * - Options: {"dev":false} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -42,6 +43,7 @@ exports.sumPairs = sumPairs; var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); +var _isNativeReflectConstruct2 = _interopRequireDefault(require("@babel/runtime/helpers/isNativeReflectConstruct")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); @@ -55,10 +57,8 @@ var _react = _interopRequireWildcard(require("react")); var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, (0, _isNativeReflectConstruct2.default)() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js index 32630641c169..83d338a67289 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js @@ -17,7 +17,8 @@ * - Options: {"dev":true,"unstable_transformProfile":"hermes-canary"} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -41,6 +42,7 @@ exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -52,11 +54,7 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -168,7 +166,7 @@ function mergeConfigs(base, ...overrides) { } function sumPairs(pairs) { var total = 0; - for (var _iterator = _createForOfIteratorHelperLoose(pairs), _step; !(_step = _iterator()).done;) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(pairs), _step; !(_step = _iterator()).done;) { var _ref = _step.value; var _ref2 = (0, _slicedToArray2.default)(_ref, 2); var a = _ref2[0]; diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js index 510b81b7af52..d1f5187c9f1e 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js @@ -17,7 +17,8 @@ * - Options: {"dev":false,"unstable_transformProfile":"hermes-canary"} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -51,7 +52,6 @@ var _react = _interopRequireWildcard(require("react")); var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js index 7e3b8f9dd522..ab811e873a87 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js @@ -17,7 +17,8 @@ * - Options: {"dev":true,"unstable_transformProfile":"hermes-stable","customTransformOptions":{"unstable_preserveAsync":true}} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -41,6 +42,7 @@ exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey")); @@ -49,11 +51,7 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -151,7 +149,7 @@ function mergeConfigs(base, ...overrides) { } function sumPairs(pairs) { var total = 0; - for (var _iterator = _createForOfIteratorHelperLoose(pairs), _step; !(_step = _iterator()).done;) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(pairs), _step; !(_step = _iterator()).done;) { var _ref = _step.value; var _ref2 = (0, _slicedToArray2.default)(_ref, 2); var a = _ref2[0]; diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js index 5d27ff0833e0..11c57e3f0c18 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js @@ -17,7 +17,8 @@ * - Options: {"dev":true,"unstable_transformProfile":"hermes-stable","customTransformOptions":{"unstable_preserveBlockScoping":true}} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -41,6 +42,7 @@ exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -52,11 +54,7 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -168,7 +166,7 @@ function mergeConfigs(base, ...overrides) { } function sumPairs(pairs) { let total = 0; - for (var _iterator = _createForOfIteratorHelperLoose(pairs), _step; !(_step = _iterator()).done;) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(pairs), _step; !(_step = _iterator()).done;) { const _ref = _step.value; var _ref2 = (0, _slicedToArray2.default)(_ref, 2); const a = _ref2[0]; diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js index 19a611a05c87..29bb5d42aaad 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js @@ -17,7 +17,8 @@ * - Options: {"dev":true,"unstable_transformProfile":"hermes-stable","customTransformOptions":{"unstable_preserveClassPrivate":true}} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -41,6 +42,7 @@ exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator")); @@ -50,11 +52,7 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } class Counter { #count = 0; static #instances = 0; @@ -154,7 +152,7 @@ function mergeConfigs(base, ...overrides) { } function sumPairs(pairs) { var total = 0; - for (var _iterator = _createForOfIteratorHelperLoose(pairs), _step; !(_step = _iterator()).done;) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(pairs), _step; !(_step = _iterator()).done;) { var _ref = _step.value; var _ref2 = (0, _slicedToArray2.default)(_ref, 2); var a = _ref2[0]; diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js index fdcccf4f987d..da815d139412 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js @@ -17,7 +17,8 @@ * - Options: {"dev":true,"unstable_transformProfile":"hermes-stable","customTransformOptions":{"unstable_preserveDestructuring":true}} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -41,6 +42,7 @@ exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey")); @@ -51,11 +53,7 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -168,7 +166,7 @@ function mergeConfigs(base, ...overrides) { } function sumPairs(pairs) { var total = 0; - for (var _iterator = _createForOfIteratorHelperLoose(pairs), _step; !(_step = _iterator()).done;) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(pairs), _step; !(_step = _iterator()).done;) { var [a, b] = _step.value; total += a + b; } diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js index c1c360cb3a47..65e7916d0628 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js @@ -17,7 +17,8 @@ * - Options: {"dev":true,"unstable_transformProfile":"hermes-stable"} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -41,6 +42,7 @@ exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -52,11 +54,7 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -168,7 +166,7 @@ function mergeConfigs(base, ...overrides) { } function sumPairs(pairs) { var total = 0; - for (var _iterator = _createForOfIteratorHelperLoose(pairs), _step; !(_step = _iterator()).done;) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(pairs), _step; !(_step = _iterator()).done;) { var _ref = _step.value; var _ref2 = (0, _slicedToArray2.default)(_ref, 2); var a = _ref2[0]; diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js index 383e6ed5c83a..2b0824009275 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js @@ -17,7 +17,8 @@ * - Options: {"dev":false,"unstable_transformProfile":"hermes-stable"} */ -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); @@ -51,7 +52,6 @@ var _react = _interopRequireWildcard(require("react")); var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js index f50ff8f413cf..9a2681f602e5 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js @@ -20,6 +20,7 @@ import _setPrototypeOf from "@babel/runtime/helpers/setPrototypeOf"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; +import _isNativeReflectConstruct from "@babel/runtime/helpers/isNativeReflectConstruct"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; import _inherits from "@babel/runtime/helpers/inherits"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; @@ -31,7 +32,6 @@ import _awaitAsyncGenerator from "@babel/runtime/helpers/awaitAsyncGenerator"; import _wrapAsyncGenerator from "@babel/runtime/helpers/wrapAsyncGenerator"; function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); } import * as React from 'react'; import { useEffect, useState } from 'react'; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; diff --git a/packages/react-native-babel-preset/src/__tests__/transform-snapshot-test.js b/packages/react-native-babel-preset/src/__tests__/transform-snapshot-test.js index 93c3173165fd..eef85ec2e7b5 100644 --- a/packages/react-native-babel-preset/src/__tests__/transform-snapshot-test.js +++ b/packages/react-native-babel-preset/src/__tests__/transform-snapshot-test.js @@ -290,6 +290,20 @@ describe('react-native-babel-preset transform snapshots', () => { expect(result).toContain('_wrapAsyncGenerator'); }); + it('imports interopRequireWildcard from @babel/runtime instead of inlining it', () => { + // Regression test: previously the `interopRequireWildcard` helper injected + // for `import * as ...` was inlined into every module, bloating the bundle. + const code = ` + import * as React from 'react'; + console.log(React); + `; + const result = transformCode(code, {dev: false}); + // The helper is imported from @babel/runtime (deduplicated)... + expect(result).toContain('@babel/runtime/helpers/interopRequireWildcard'); + // ...rather than inlined as a per-module function definition. + expect(result).not.toContain('function _interopRequireWildcard'); + }); + it('handles optional chaining', () => { const code = `const x = obj?.a?.b?.c;`; const result = transformCode(code, { diff --git a/packages/react-native-babel-preset/src/configs/main.js b/packages/react-native-babel-preset/src/configs/main.js index 836d00b651c8..e029cf58a0f0 100644 --- a/packages/react-native-babel-preset/src/configs/main.js +++ b/packages/react-native-babel-preset/src/configs/main.js @@ -204,15 +204,22 @@ const getPreset = (src, options, babel) => { } if (!options || options.enableBabelRuntime !== false) { - // Allows configuring a specific runtime version to optimize output - const isVersion = typeof options?.enableBabelRuntime === 'string'; + // Allows configuring a specific runtime version to optimize output. When a + // version isn't provided we default to a recent one so that helpers added to + // `@babel/runtime` after 7.0.0 (such as the modern `interopRequireWildcard`) + // are imported from `@babel/runtime` instead of being inlined into every + // module that uses them, which needlessly bloats the bundle. + const runtimeVersion = + typeof options?.enableBabelRuntime === 'string' + ? options.enableBabelRuntime + : '7.14.0'; extraPlugins.push([ require('@babel/plugin-transform-runtime'), { helpers: true, regenerator: enableRegenerator, - ...(isVersion && {version: options.enableBabelRuntime}), + version: runtimeVersion, }, ]); } else if (enableRegenerator) { From c29d137fd2fad2d55f9c1cb816c4a84c51a0c498 Mon Sep 17 00:00:00 2001 From: ahmdshrif Date: Tue, 9 Jun 2026 17:41:44 +0300 Subject: [PATCH 2/2] Resolve @babel/runtime version dynamically instead of hardcoding Per review feedback: derive the transform-runtime version from the installed @babel/runtime (matching babel-preset-expo) so all helpers available in it are imported rather than only those up to a hardcoded floor. Falls back to a conservative version when @babel/runtime can't be resolved. --- .../__fixtures__/output/default-dev.js | 12 +++---- .../__fixtures__/output/default-prod.js | 12 +++---- .../__fixtures__/output/hermes-canary-dev.js | 6 ++-- .../__fixtures__/output/hermes-canary-prod.js | 6 ++-- .../hermes-stable-dev-preserve-async.js | 6 ++-- ...ermes-stable-dev-preserve-block-scoping.js | 6 ++-- ...ermes-stable-dev-preserve-class-private.js | 6 ++-- ...ermes-stable-dev-preserve-destructuring.js | 6 ++-- .../__fixtures__/output/hermes-stable-dev.js | 6 ++-- ...-stable-prod-no-import-export-transform.js | 4 +-- .../__fixtures__/output/hermes-stable-prod.js | 6 ++-- .../output/no-import-export-transform.js | 8 ++--- .../src/configs/main.js | 33 +++++++++++++------ 13 files changed, 50 insertions(+), 67 deletions(-) diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js index 6541efdf7b98..a6466b78c3b0 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-dev.js @@ -40,11 +40,9 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); -var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); -var _isNativeReflectConstruct2 = _interopRequireDefault(require("@babel/runtime/helpers/isNativeReflectConstruct")); -var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); @@ -58,8 +56,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, (0, _isNativeReflectConstruct2.default)() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -154,7 +150,7 @@ var Dog = exports.Dog = function (_Animal2) { function Dog(name, age, breed) { var _this; (0, _classCallCheck2.default)(this, Dog); - _this = _callSuper(this, Dog, [name, age]); + _this = (0, _callSuper2.default)(this, Dog, [name, age]); _this.breed = breed; return _this; } @@ -207,7 +203,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js index 114220bedf32..6e7a07b06fb4 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/default-prod.js @@ -40,11 +40,9 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); -var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); -var _isNativeReflectConstruct2 = _interopRequireDefault(require("@babel/runtime/helpers/isNativeReflectConstruct")); -var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); @@ -57,8 +55,6 @@ var _react = _interopRequireWildcard(require("react")); var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, (0, _isNativeReflectConstruct2.default)() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -153,7 +149,7 @@ var Dog = exports.Dog = function (_Animal2) { function Dog(name, age, breed) { var _this; (0, _classCallCheck2.default)(this, Dog); - _this = _callSuper(this, Dog, [name, age]); + _this = (0, _callSuper2.default)(this, Dog, [name, age]); _this.breed = breed; return _this; } @@ -206,7 +202,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js index 83d338a67289..15b4c773232c 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-dev.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); @@ -54,7 +53,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -176,7 +174,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js index d1f5187c9f1e..b382a8561e38 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-canary-prod.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -52,7 +51,6 @@ var _react = _interopRequireWildcard(require("react")); var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -172,7 +170,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js index ab811e873a87..3f9d205c283a 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-async.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -51,7 +50,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -159,7 +157,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js index 11c57e3f0c18..e78395a71325 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-block-scoping.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); @@ -54,7 +53,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -176,7 +174,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - const regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + const regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js index 29bb5d42aaad..4f958558f2c1 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-class-private.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); @@ -52,7 +51,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } class Counter { #count = 0; static #instances = 0; @@ -162,7 +160,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js index da815d139412..0a6909e84005 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev-preserve-destructuring.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -53,7 +52,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -173,7 +171,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js index 65e7916d0628..d8b1d339260a 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-dev.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); @@ -54,7 +53,6 @@ var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); var _jsxFileName = "/absolute/path/to/input.js"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -176,7 +174,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod-no-import-export-transform.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod-no-import-export-transform.js index 1ac6b64b825f..8cbe3b24b4ee 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod-no-import-export-transform.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod-no-import-export-transform.js @@ -17,15 +17,13 @@ * - Options: {"dev":false,"unstable_transformProfile":"hermes-stable","disableImportExportTransform":true} */ -import _inherits from "@babel/runtime/helpers/inherits"; -import _setPrototypeOf from "@babel/runtime/helpers/setPrototypeOf"; +import _wrapRegExp from "@babel/runtime/helpers/wrapRegExp"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase"; import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey"; import _awaitAsyncGenerator from "@babel/runtime/helpers/awaitAsyncGenerator"; import _wrapAsyncGenerator from "@babel/runtime/helpers/wrapAsyncGenerator"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } import * as React from 'react'; import { useEffect, useState } from 'react'; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js index 2b0824009275..bcf3084d37f1 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/hermes-stable-prod.js @@ -40,8 +40,7 @@ exports.parseDate = parseDate; exports.processUser = processUser; exports.safeJsonParse = safeJsonParse; exports.sumPairs = sumPairs; -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); -var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); +var _wrapRegExp2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapRegExp")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); @@ -52,7 +51,6 @@ var _react = _interopRequireWildcard(require("react")); var React = _react; var _jsxRuntime = require("react/jsx-runtime"); var _dataUtils = require("./data-utils"); -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } var _count = (0, _classPrivateFieldLooseKey2.default)("count"); var _instances = (0, _classPrivateFieldLooseKey2.default)("instances"); var _increment = (0, _classPrivateFieldLooseKey2.default)("increment"); @@ -172,7 +170,7 @@ function sumPairs(pairs) { return total; } function parseDate(dateString) { - var regex = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { + var regex = (0, _wrapRegExp2.default)(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 diff --git a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js index 9a2681f602e5..5a760c43b121 100644 --- a/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js +++ b/packages/react-native-babel-preset/src/__tests__/__fixtures__/output/no-import-export-transform.js @@ -17,11 +17,9 @@ * - Options: {"dev":false,"disableImportExportTransform":true} */ -import _setPrototypeOf from "@babel/runtime/helpers/setPrototypeOf"; +import _wrapRegExp from "@babel/runtime/helpers/wrapRegExp"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; -import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; -import _isNativeReflectConstruct from "@babel/runtime/helpers/isNativeReflectConstruct"; -import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _callSuper from "@babel/runtime/helpers/callSuper"; import _inherits from "@babel/runtime/helpers/inherits"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; @@ -30,8 +28,6 @@ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFiel import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey"; import _awaitAsyncGenerator from "@babel/runtime/helpers/awaitAsyncGenerator"; import _wrapAsyncGenerator from "@babel/runtime/helpers/wrapAsyncGenerator"; -function _wrapRegExp() { _wrapRegExp = function (e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } -function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } import * as React from 'react'; import { useEffect, useState } from 'react'; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; diff --git a/packages/react-native-babel-preset/src/configs/main.js b/packages/react-native-babel-preset/src/configs/main.js index e029cf58a0f0..33f7eefe79c8 100644 --- a/packages/react-native-babel-preset/src/configs/main.js +++ b/packages/react-native-babel-preset/src/configs/main.js @@ -204,22 +204,35 @@ const getPreset = (src, options, babel) => { } if (!options || options.enableBabelRuntime !== false) { - // Allows configuring a specific runtime version to optimize output. When a - // version isn't provided we default to a recent one so that helpers added to - // `@babel/runtime` after 7.0.0 (such as the modern `interopRequireWildcard`) - // are imported from `@babel/runtime` instead of being inlined into every - // module that uses them, which needlessly bloats the bundle. - const runtimeVersion = - typeof options?.enableBabelRuntime === 'string' - ? options.enableBabelRuntime - : '7.14.0'; + // Pass a runtime version to `@babel/plugin-transform-runtime` so that + // helpers added to `@babel/runtime` after 7.0.0 (such as the modern + // `interopRequireWildcard`) are imported from `@babel/runtime` instead of + // being inlined into every module that uses them, which needlessly bloats + // the bundle. Without a version the plugin assumes 7.0.0 and inlines them. + // + // Prefer an explicitly-provided version, otherwise resolve the installed + // `@babel/runtime` version (the same approach as babel-preset-expo). + let runtimeVersion; + if (typeof options?.enableBabelRuntime === 'string') { + runtimeVersion = options.enableBabelRuntime; + } else { + try { + runtimeVersion = require('@babel/runtime/package.json').version; + } catch (error) { + if (error.code !== 'MODULE_NOT_FOUND') { + throw error; + } + } + } extraPlugins.push([ require('@babel/plugin-transform-runtime'), { helpers: true, regenerator: enableRegenerator, - version: runtimeVersion, + // Fall back to a conservative version when `@babel/runtime` can't be + // resolved (it is a runtime dependency of the app, not this preset). + version: runtimeVersion ?? '7.25.0', }, ]); } else if (enableRegenerator) {