babel-plugin-transform-modules-ui5 7.7.1 → 7.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [7.8.1](https://github.com/ui5-community/babel-plugin-transform-modules-ui5/compare/v7.8.0...v7.8.1) (2025-12-29)
7
+
8
+ **Note:** Version bump only for package babel-plugin-transform-modules-ui5
9
+
10
+
11
+
12
+
13
+
14
+ # [7.8.0](https://github.com/ui5-community/babel-plugin-transform-modules-ui5/compare/v7.7.1...v7.8.0) (2025-09-11)
15
+
16
+
17
+ ### Features
18
+
19
+ * support optional super call ([#143](https://github.com/ui5-community/babel-plugin-transform-modules-ui5/issues/143)) ([e09f561](https://github.com/ui5-community/babel-plugin-transform-modules-ui5/commit/e09f5617eb98b082e1630caa2d23801d3fc91650))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [7.7.1](https://github.com/ui5-community/babel-plugin-transform-modules-ui5/compare/v7.7.0...v7.7.1) (2025-05-13)
7
26
 
8
27
 
@@ -14,8 +14,7 @@ var ast = _interopRequireWildcard(require("../../utils/ast"));
14
14
  var _jsdoc = require("./jsdoc");
15
15
  var _decorators = require("./decorators");
16
16
  var _imports = require("./imports");
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ 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); }
19
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -8,8 +8,7 @@ var _core = require("@babel/core");
8
8
  var th = _interopRequireWildcard(require("../utils/templates"));
9
9
  var ast = _interopRequireWildcard(require("../utils/ast"));
10
10
  var classes = _interopRequireWildcard(require("./helpers/classes"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ 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); }
13
12
  const CONSTRUCTOR = "constructor";
14
13
  const ClassTransformVisitor = exports.ClassTransformVisitor = {
15
14
  ImportDeclaration(path) {
@@ -111,7 +110,7 @@ const ClassTransformVisitor = exports.ClassTransformVisitor = {
111
110
  /*!
112
111
  * Visits function calls.
113
112
  */
114
- CallExpression(path) {
113
+ "OptionalCallExpression|CallExpression"(path) {
115
114
  const {
116
115
  node
117
116
  } = path;
@@ -126,9 +125,9 @@ const ClassTransformVisitor = exports.ClassTransformVisitor = {
126
125
  if (_core.types.isSuper(callee)) {
127
126
  replaceConstructorSuperCall(path, node, this.superClassName);
128
127
  } else if (_core.types.isSuper(callee.object)) {
129
- replaceObjectSuperCall(path, node, this.superClassName);
128
+ replaceObjectSuperCall(path, node, this.superClassName, path.isOptionalCallExpression());
130
129
  } else if (isSuperApply(callee)) {
131
- replaceSuperApplyCall(path, node, this.superClassName);
130
+ replaceSuperApplyCall(path, node, this.superClassName, path.isOptionalCallExpression());
132
131
  }
133
132
  }
134
133
  },
@@ -169,25 +168,27 @@ function replaceConstructorSuperCall(path, node, superClassName) {
169
168
  /**
170
169
  * Replace super.method() call
171
170
  */
172
- function replaceObjectSuperCall(path, node, superClassName) {
173
- replaceSuperNamedCall(path, node, superClassName, node.callee.property.name);
171
+ function replaceObjectSuperCall(path, node, superClassName, optional = false) {
172
+ replaceSuperNamedCall(path, node, superClassName, node.callee.property.name, optional);
174
173
  }
175
174
 
176
175
  /**
177
176
  * Replace super.method.apply() call
178
177
  */
179
- function replaceSuperApplyCall(path, node, superClassName) {
178
+ function replaceSuperApplyCall(path, node, superClassName, optional = false) {
180
179
  const methodName = node.callee.object.property.name;
181
- path.replaceWith(_core.types.callExpression(_core.types.identifier(`${superClassName}.prototype.${methodName}.apply`), node.arguments));
180
+ const op = optional ? "?." : ".";
181
+ path.replaceWith(_core.types.callExpression(_core.types.identifier(`${superClassName}.prototype.${methodName}${op}apply`), node.arguments));
182
182
  }
183
- function replaceSuperNamedCall(path, node, superClassName, methodName) {
183
+ function replaceSuperNamedCall(path, node, superClassName, methodName, optional = false) {
184
184
  // .call() is better for simple args (or not args) but doesn't work right for spread args
185
185
  // if it gets further transpiled by babel spread args transform (will be .call.apply(...).
186
186
  const thisEx = _core.types.thisExpression();
187
187
  const hasSpread = node.arguments.some(_core.types.isSpreadElement);
188
188
  const caller = hasSpread ? "apply" : "call";
189
189
  const callArgs = hasSpread ? [thisEx, _core.types.arrayExpression(node.arguments)] : [thisEx, ...node.arguments];
190
- path.replaceWith(_core.types.callExpression(_core.types.identifier(`${superClassName}.prototype.${methodName}.${caller}`), callArgs));
190
+ const op = optional ? "?." : ".";
191
+ path.replaceWith(_core.types.callExpression(_core.types.identifier(`${superClassName}.prototype.${methodName}${op}${caller}`), callArgs));
191
192
  }
192
193
  function doesClassExtendFromImport(node, imports) {
193
194
  const superClass = node.superClass;
@@ -8,8 +8,7 @@ exports.getDefaultExportName = getDefaultExportName;
8
8
  var _core = require("@babel/core");
9
9
  var th = _interopRequireWildcard(require("../../utils/templates"));
10
10
  var ast = _interopRequireWildcard(require("../../utils/ast"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ 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); }
13
12
  /**
14
13
  * Collapse named exports onto the default export so that the default export can be returned directly,
15
14
  * so that exports can be easily used by code that does not include an import interop.
@@ -8,8 +8,7 @@ var _core = require("@babel/core");
8
8
  var eh = _interopRequireWildcard(require("./exports"));
9
9
  var th = _interopRequireWildcard(require("../../utils/templates"));
10
10
  var ast = _interopRequireWildcard(require("../../utils/ast"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ 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); }
13
12
  function wrap(visitor, programNode, opts) {
14
13
  var _body;
15
14
  let {
@@ -11,15 +11,14 @@ var th = _interopRequireWildcard(require("../utils/templates"));
11
11
  var ast = _interopRequireWildcard(require("../utils/ast"));
12
12
  var _jsdoc = require("../classes/helpers/jsdoc");
13
13
  const _excluded = ["filename", "opts"];
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ 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); }
16
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
17
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
20
19
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
22
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
20
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
21
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
23
22
  const resolveSource = (src, filename) => {
24
23
  src = src.replace(/\\/g, "/");
25
24
  const dir = (0, _path.dirname)(filename);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-plugin-transform-modules-ui5",
3
- "version": "7.7.1",
3
+ "version": "7.8.1",
4
4
  "description": "An unofficial babel plugin for SAP UI5.",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -9,7 +9,7 @@
9
9
  "directory": "packages/plugin"
10
10
  },
11
11
  "engines": {
12
- "node": ">=6"
12
+ "node": ">=18"
13
13
  },
14
14
  "scripts": {
15
15
  "clean": "rimraf dist",
@@ -60,41 +60,41 @@
60
60
  "array-flatten": "^3.0.0",
61
61
  "doctrine": "^3.0.0",
62
62
  "ignore-case": "^0.1.0",
63
- "object-assign-defined": "^1.0.2"
63
+ "object-assign-defined": "^1.2.0"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "@babel/core": "*"
67
67
  },
68
68
  "devDependencies": {
69
- "@babel/cli": "^7.25.6",
70
- "@babel/core": "^7.25.2",
71
- "@babel/eslint-parser": "^7.25.1",
72
- "@babel/plugin-proposal-decorators": "^7.24.7",
69
+ "@babel/cli": "^7.28.3",
70
+ "@babel/core": "^7.28.5",
71
+ "@babel/eslint-parser": "^7.28.5",
72
+ "@babel/plugin-proposal-decorators": "^7.28.0",
73
73
  "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
74
74
  "@babel/plugin-syntax-class-properties": "^7.12.13",
75
- "@babel/plugin-syntax-decorators": "^7.24.7",
75
+ "@babel/plugin-syntax-decorators": "^7.27.1",
76
76
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
77
77
  "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
78
- "@babel/plugin-transform-property-mutators": "^7.24.7",
79
- "@babel/plugin-transform-typescript": "^7.25.2",
80
- "@babel/preset-env": "^7.25.4",
81
- "@babel/preset-flow": "^7.24.7",
82
- "@babel/preset-typescript": "^7.24.7",
78
+ "@babel/plugin-transform-property-mutators": "^7.27.1",
79
+ "@babel/plugin-transform-typescript": "^7.28.5",
80
+ "@babel/preset-env": "^7.28.5",
81
+ "@babel/preset-flow": "^7.27.1",
82
+ "@babel/preset-typescript": "^7.28.5",
83
83
  "babel-eslint": "^10.1.0",
84
- "babel-jest": "^29.7.0",
85
- "core-js": "^3.38.1",
84
+ "babel-jest": "^30.2.0",
85
+ "core-js": "^3.47.0",
86
86
  "eslint": "^8.54.0",
87
87
  "eslint-config-standard": "^17.1.0",
88
- "eslint-plugin-import": "^2.30.0",
88
+ "eslint-plugin-import": "^2.32.0",
89
89
  "eslint-plugin-node": "^11.1.0",
90
- "eslint-plugin-prettier": "^5.2.1",
91
- "eslint-plugin-promise": "^7.1.0",
90
+ "eslint-plugin-prettier": "^5.5.4",
91
+ "eslint-plugin-promise": "^6.6.0",
92
92
  "eslint-plugin-standard": "^5.0.0",
93
- "husky": "^9.1.6",
94
- "jest": "^29.7.0",
95
- "lint-staged": "^15.2.10",
96
- "prettier": "^3.3.3",
97
- "rimraf": "^6.0.1"
93
+ "husky": "^9.1.7",
94
+ "jest": "^30.2.0",
95
+ "lint-staged": "^16.2.7",
96
+ "prettier": "^3.7.4",
97
+ "rimraf": "^6.1.2"
98
98
  },
99
- "gitHead": "68d15e65c70e6dd5f35fc0fe47660131bb3d1a34"
99
+ "gitHead": "484d1d764310571d67601b17ff0bbe1767599246"
100
100
  }