@vkontakte/vkui-codemods 1.1.0-beta.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/autoDetectVKUIVersion.js +16 -24
  2. package/dist/cli.js +97 -160
  3. package/dist/codemod-helpers.js +41 -43
  4. package/dist/getAvailableCodemods.js +13 -14
  5. package/dist/helpers/logger.js +17 -17
  6. package/dist/index.js +76 -147
  7. package/dist/report.js +4 -4
  8. package/dist/testHelpers/testHelper.js +17 -88
  9. package/dist/transforms/v6/accordion.js +10 -10
  10. package/dist/transforms/v6/action-sheet-item.js +5 -5
  11. package/dist/transforms/v6/action-sheet.js +15 -15
  12. package/dist/transforms/v6/alert.js +14 -14
  13. package/dist/transforms/v6/appearance-provider.js +8 -10
  14. package/dist/transforms/v6/banner.js +10 -10
  15. package/dist/transforms/v6/calendar-range.js +6 -6
  16. package/dist/transforms/v6/calendar.js +6 -6
  17. package/dist/transforms/v6/card-scroll.js +5 -5
  18. package/dist/transforms/v6/chip.js +6 -6
  19. package/dist/transforms/v6/chips-input.js +6 -6
  20. package/dist/transforms/v6/config-provider.js +20 -20
  21. package/dist/transforms/v6/content-card.js +7 -7
  22. package/dist/transforms/v6/custom-scroll-view.js +11 -13
  23. package/dist/transforms/v6/date-input.js +6 -6
  24. package/dist/transforms/v6/date-range-input.js +6 -6
  25. package/dist/transforms/v6/fixed-layout.js +11 -11
  26. package/dist/transforms/v6/forbid-imports.js +8 -8
  27. package/dist/transforms/v6/form-item.js +9 -9
  28. package/dist/transforms/v6/form-layout.js +10 -10
  29. package/dist/transforms/v6/gallery.js +5 -5
  30. package/dist/transforms/v6/gradient-prop-change.js +12 -12
  31. package/dist/transforms/v6/horizontal-cell-show-more.js +7 -11
  32. package/dist/transforms/v6/image-base.js +7 -7
  33. package/dist/transforms/v6/modal-card.js +16 -18
  34. package/dist/transforms/v6/modal-page-header.js +11 -11
  35. package/dist/transforms/v6/pagination.js +12 -12
  36. package/dist/transforms/v6/panel-header-content.js +10 -10
  37. package/dist/transforms/v6/panel-header.js +11 -11
  38. package/dist/transforms/v6/placeholder.js +5 -5
  39. package/dist/transforms/v6/popout-wrapper.js +9 -9
  40. package/dist/transforms/v6/popover.js +45 -54
  41. package/dist/transforms/v6/popper.js +35 -44
  42. package/dist/transforms/v6/range-slider.js +14 -25
  43. package/dist/transforms/v6/rich-tooltip.js +10 -10
  44. package/dist/transforms/v6/search.js +6 -6
  45. package/dist/transforms/v6/select.js +7 -7
  46. package/dist/transforms/v6/simple-cell.js +13 -15
  47. package/dist/transforms/v6/split-col.js +9 -9
  48. package/dist/transforms/v6/tabbar.js +5 -5
  49. package/dist/transforms/v6/tappable.js +13 -15
  50. package/dist/transforms/v6/text-tooltip.js +47 -58
  51. package/dist/transforms/v6/tooltip-container.js +14 -14
  52. package/dist/transforms/v6/tooltip.js +63 -72
  53. package/dist/transforms/v6/typography.js +19 -21
  54. package/dist/transforms/v6/users-stack.js +13 -13
  55. package/dist/transforms/v6/visually-hidden-input.js +13 -24
  56. package/dist/transforms/v7/action-sheet.js +5 -5
  57. package/dist/transforms/v7/alert.js +5 -5
  58. package/dist/transforms/v7/appearance-provider.js +12 -12
  59. package/dist/transforms/v7/appearance.js +16 -16
  60. package/dist/transforms/v7/banner.js +13 -14
  61. package/dist/transforms/v7/calendar.js +5 -5
  62. package/dist/transforms/v7/card-grid.js +5 -5
  63. package/dist/transforms/v7/card-scroll.js +17 -18
  64. package/dist/transforms/v7/cell-button.js +13 -13
  65. package/dist/transforms/v7/cell.js +5 -5
  66. package/dist/transforms/v7/chips-select.js +8 -8
  67. package/dist/transforms/v7/common/moveFromChildrenToLabel.js +19 -21
  68. package/dist/transforms/v7/common/remapSizePropValue.js +14 -16
  69. package/dist/transforms/v7/common/removeChildrenFromComponent.js +6 -6
  70. package/dist/transforms/v7/common/swapGapPropElements.js +7 -7
  71. package/dist/transforms/v7/config-provider.js +32 -36
  72. package/dist/transforms/v7/content-card.js +5 -5
  73. package/dist/transforms/v7/counter.js +12 -12
  74. package/dist/transforms/v7/custom-scroll-view.js +8 -8
  75. package/dist/transforms/v7/custom-select.js +8 -8
  76. package/dist/transforms/v7/date-picker.js +8 -8
  77. package/dist/transforms/v7/flex.js +6 -6
  78. package/dist/transforms/v7/form-item.js +29 -35
  79. package/dist/transforms/v7/form-status.js +5 -5
  80. package/dist/transforms/v7/header.js +21 -21
  81. package/dist/transforms/v7/horizontal-cell-show-more.js +16 -19
  82. package/dist/transforms/v7/horizontal-cell.js +5 -5
  83. package/dist/transforms/v7/horizontal-scroll.js +12 -12
  84. package/dist/transforms/v7/image-overlay.js +30 -32
  85. package/dist/transforms/v7/mini-info-cell.js +5 -5
  86. package/dist/transforms/v7/modal-card.js +7 -7
  87. package/dist/transforms/v7/onboarding-tooltip.js +5 -5
  88. package/dist/transforms/v7/panel-header-back.js +6 -6
  89. package/dist/transforms/v7/panel-header-close.js +6 -6
  90. package/dist/transforms/v7/panel-header-content.js +5 -5
  91. package/dist/transforms/v7/panel-header-edit.js +6 -6
  92. package/dist/transforms/v7/panel-header-submit.js +6 -6
  93. package/dist/transforms/v7/panel-spinner.js +10 -10
  94. package/dist/transforms/v7/placeholder.js +5 -5
  95. package/dist/transforms/v7/rich-cell.js +5 -5
  96. package/dist/transforms/v7/screen-spinner.js +7 -7
  97. package/dist/transforms/v7/scroll-arrow.js +20 -23
  98. package/dist/transforms/v7/select.js +8 -8
  99. package/dist/transforms/v7/separator.js +6 -6
  100. package/dist/transforms/v7/simple-cell.js +5 -5
  101. package/dist/transforms/v7/simple-grid.js +6 -6
  102. package/dist/transforms/v7/spacing.js +9 -9
  103. package/dist/transforms/v7/spinner.js +9 -9
  104. package/dist/transforms/v7/subnavigation-bar.js +10 -10
  105. package/dist/transforms/v7/subnavigation-button.js +5 -5
  106. package/dist/transforms/v7/tabbar-item.js +5 -5
  107. package/dist/transforms/v7/tooltip.js +5 -5
  108. package/dist/transforms/v7/typography.js +16 -17
  109. package/dist/transforms/v7/users-stack.js +13 -13
  110. package/dist/transforms/v8/action-sheet.js +6 -6
  111. package/dist/transforms/v8/alert.js +5 -5
  112. package/dist/transforms/v8/checkbox.js +12 -12
  113. package/dist/transforms/v8/chips-input.js +7 -7
  114. package/dist/transforms/v8/chips-select.js +7 -7
  115. package/dist/transforms/v8/common/moveAllPropsIntoSlotProp.js +6 -16
  116. package/dist/transforms/v8/common/moveInputPropsIntoSlotProps.js +8 -8
  117. package/dist/transforms/v8/common/movePropIntoSlotProps.js +44 -63
  118. package/dist/transforms/v8/custom-select.js +7 -7
  119. package/dist/transforms/v8/file.js +7 -7
  120. package/dist/transforms/v8/input.js +8 -7
  121. package/dist/transforms/v8/native-select.js +7 -7
  122. package/dist/transforms/v8/popout-wrapper.js +12 -12
  123. package/dist/transforms/v8/radio.js +12 -12
  124. package/dist/transforms/v8/rich-cell.js +11 -11
  125. package/dist/transforms/v8/search.js +8 -7
  126. package/dist/transforms/v8/select.js +7 -7
  127. package/dist/transforms/v8/snackbar.js +6 -6
  128. package/dist/transforms/v8/split-layout.js +7 -7
  129. package/dist/transforms/v8/switch.js +7 -7
  130. package/dist/transforms/v8/text-area.js +7 -7
  131. package/dist/transforms/v8/write-bar.js +7 -7
  132. package/package.json +6 -5
@@ -1,21 +1,12 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.parser = void 0;
13
4
  exports.default = transformer;
14
- var codemod_helpers_1 = require("../../codemod-helpers");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
15
6
  exports.parser = 'tsx';
16
- var componentName = 'Tooltip';
17
- var componentNameTo = 'OnboardingTooltip';
18
- var ATTRIBUTE_REPLACER = {
7
+ const componentName = 'Tooltip';
8
+ const componentNameTo = 'OnboardingTooltip';
9
+ const ATTRIBUTE_REPLACER = {
19
10
  isShown: {
20
11
  keyTo: 'shown',
21
12
  },
@@ -26,14 +17,12 @@ var ATTRIBUTE_REPLACER = {
26
17
  keyTo: 'offsetByCrossAxis',
27
18
  },
28
19
  };
29
- var CORNER_OFFSET = { from: 'cornerOffset', to: 'arrowOffset' };
30
- var CORNER_ABSOLUTE_OFFSET = { from: 'cornerAbsoluteOffset', to: 'isStaticArrowOffset' };
31
- var PLACEMENT = 'placement';
32
- var ALIGN_X = { from: 'alignX', to: PLACEMENT };
33
- var ALIGN_Y = { from: 'alignY', to: PLACEMENT };
34
- var isStringLiteral = function (v) {
35
- return v ? v.type === 'StringLiteral' : false;
36
- };
20
+ const CORNER_OFFSET = { from: 'cornerOffset', to: 'arrowOffset' };
21
+ const CORNER_ABSOLUTE_OFFSET = { from: 'cornerAbsoluteOffset', to: 'isStaticArrowOffset' };
22
+ const PLACEMENT = 'placement';
23
+ const ALIGN_X = { from: 'alignX', to: PLACEMENT };
24
+ const ALIGN_Y = { from: 'alignY', to: PLACEMENT };
25
+ const isStringLiteral = (v) => v ? v.type === 'StringLiteral' : false;
37
26
  function mapAlignX(x) {
38
27
  switch (x) {
39
28
  case 'left':
@@ -44,20 +33,20 @@ function mapAlignX(x) {
44
33
  return '';
45
34
  }
46
35
  }
47
- var replaceAttribute = function (j, attributeReplacer, attribute) {
48
- var foundFix = attributeReplacer.getReplacers(attribute.node.name.name);
36
+ const replaceAttribute = (j, attributeReplacer, attribute) => {
37
+ const foundFix = attributeReplacer.getReplacers(attribute.node.name.name);
49
38
  if (foundFix) {
50
- var value = attribute.node.value;
39
+ const value = attribute.node.value;
51
40
  j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(foundFix.keyTo()), foundFix.valueTo(value)));
52
41
  }
53
42
  };
54
43
  function transformer(file, api, options) {
55
- var alias = options.alias;
56
- var j = api.jscodeshift;
57
- var source = j(file.source);
58
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, componentName, alias).localName;
59
- var attributeReplacer = (0, codemod_helpers_1.createAttributeManipulator)(ATTRIBUTE_REPLACER, api);
60
- var needRename = true;
44
+ const { alias } = options;
45
+ const j = api.jscodeshift;
46
+ const source = j(file.source);
47
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, componentName, alias);
48
+ const attributeReplacer = (0, codemod_helpers_1.createAttributeManipulator)(ATTRIBUTE_REPLACER, api);
49
+ let needRename = true;
61
50
  if (!localName) {
62
51
  return source.toSource();
63
52
  }
@@ -65,10 +54,10 @@ function transformer(file, api, options) {
65
54
  // подменяем импорт
66
55
  source
67
56
  .find(j.ImportDeclaration)
68
- .filter(function (path) { return path.node.source.value === alias; })
57
+ .filter((path) => path.node.source.value === alias)
69
58
  .find(j.ImportSpecifier, { imported: { name: componentName } })
70
- .forEach(function (path) {
71
- j(path).replaceWith(function (path) {
59
+ .forEach((path) => {
60
+ j(path).replaceWith((path) => {
72
61
  if (path.node.local && path.node.local.name !== path.node.imported.name) {
73
62
  needRename = false;
74
63
  }
@@ -78,87 +67,89 @@ function transformer(file, api, options) {
78
67
  // переименовываем без проблемные св-ва
79
68
  source
80
69
  .find(j.JSXOpeningElement)
81
- .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
82
- .find(j.JSXAttribute, function (attribute) { return attributeReplacer.has(attribute.name.name); })
83
- .forEach(function (attribute) {
70
+ .filter((path) => path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName)
71
+ .find(j.JSXAttribute, (attribute) => attributeReplacer.has(attribute.name.name))
72
+ .forEach((attribute) => {
84
73
  replaceAttribute(j, attributeReplacer, attribute);
85
74
  });
86
- source.findJSXElements(localName).forEach(function (element) {
75
+ source.findJSXElements(localName).forEach((element) => {
87
76
  // меняем название компонента в JSX на переименованный в импорте (если нужно)
88
- j(element).replaceWith(function (path) {
89
- var renamedLocalName = needRename ? componentNameTo : localName;
77
+ j(element).replaceWith((path) => {
78
+ const renamedLocalName = needRename ? componentNameTo : localName;
90
79
  return j.jsxElement(j.jsxOpeningElement(j.jsxIdentifier(renamedLocalName), path.node.openingElement.attributes, path.node.closingElement ? false : true), path.node.closingElement ? j.jsxClosingElement(j.jsxIdentifier(renamedLocalName)) : null, path.node.children);
91
80
  });
92
81
  // разрешаем arrowOffsets
93
- var _a = [
82
+ const [cornerOffsetAttr, cornerAbsoluteOffsetAttr] = [
94
83
  j(element)
95
- .find(j.JSXAttribute, function (attribute) { return attribute.name.name === CORNER_OFFSET.from; })
84
+ .find(j.JSXAttribute, (attribute) => attribute.name.name === CORNER_OFFSET.from)
96
85
  .at(0),
97
86
  j(element)
98
- .find(j.JSXAttribute, function (attribute) { return attribute.name.name === CORNER_ABSOLUTE_OFFSET.from; })
87
+ .find(j.JSXAttribute, (attribute) => attribute.name.name === CORNER_ABSOLUTE_OFFSET.from)
99
88
  .at(0),
100
- ], cornerOffsetAttr = _a[0], cornerAbsoluteOffsetAttr = _a[1];
89
+ ];
101
90
  if (cornerOffsetAttr.length === 1 && cornerAbsoluteOffsetAttr.length === 0) {
102
- cornerOffsetAttr.forEach(function (attribute) {
91
+ cornerOffsetAttr.forEach((attribute) => {
103
92
  j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(CORNER_OFFSET.to), attribute.node.value));
104
93
  });
105
94
  }
106
95
  else if (cornerOffsetAttr.length === 0 && cornerAbsoluteOffsetAttr.length === 1) {
107
- var valueByCornerAbsolute_1;
108
- cornerAbsoluteOffsetAttr.forEach(function (attribute) {
109
- valueByCornerAbsolute_1 = attribute.node.value;
96
+ let valueByCornerAbsolute;
97
+ cornerAbsoluteOffsetAttr.forEach((attribute) => {
98
+ valueByCornerAbsolute = attribute.node.value;
110
99
  j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(CORNER_ABSOLUTE_OFFSET.to)));
111
100
  });
112
101
  // добавляем новое св-во
113
- var prevAttributes = element.node.openingElement.attributes || [];
114
- element.node.openingElement.attributes = __spreadArray(__spreadArray([], prevAttributes, true), [
115
- j.jsxAttribute(j.jsxIdentifier(CORNER_OFFSET.to), valueByCornerAbsolute_1),
116
- ], false);
102
+ const prevAttributes = element.node.openingElement.attributes || [];
103
+ element.node.openingElement.attributes = [
104
+ ...prevAttributes,
105
+ j.jsxAttribute(j.jsxIdentifier(CORNER_OFFSET.to), valueByCornerAbsolute),
106
+ ];
117
107
  }
118
108
  else if (cornerOffsetAttr.length === 1 && cornerAbsoluteOffsetAttr.length === 1) {
119
- var valueByCornerAbsolute_2;
120
- cornerAbsoluteOffsetAttr.forEach(function (attribute) {
121
- valueByCornerAbsolute_2 = attribute.node.value;
109
+ let valueByCornerAbsolute;
110
+ cornerAbsoluteOffsetAttr.forEach((attribute) => {
111
+ valueByCornerAbsolute = attribute.node.value;
122
112
  j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(CORNER_ABSOLUTE_OFFSET.to)));
123
113
  });
124
- cornerOffsetAttr.forEach(function (attribute) {
125
- j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(CORNER_OFFSET.to), valueByCornerAbsolute_2));
114
+ cornerOffsetAttr.forEach((attribute) => {
115
+ j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(CORNER_OFFSET.to), valueByCornerAbsolute));
126
116
  });
127
117
  }
128
118
  // разрешаем alignX/alignY/placement
129
- var placementAttr = j(element).find(j.JSXAttribute, function (attribute) { return attribute.name.name === PLACEMENT; });
130
- var alignX;
131
- var alignY;
119
+ const placementAttr = j(element).find(j.JSXAttribute, (attribute) => attribute.name.name === PLACEMENT);
120
+ let alignX;
121
+ let alignY;
132
122
  j(element)
133
- .find(j.JSXAttribute, function (attribute) { return attribute.name.name === ALIGN_X.from; })
134
- .forEach(function (attribute) {
123
+ .find(j.JSXAttribute, (attribute) => attribute.name.name === ALIGN_X.from)
124
+ .forEach((attribute) => {
135
125
  alignX = attribute.node.value;
136
126
  j(attribute).remove();
137
127
  });
138
128
  j(element)
139
- .find(j.JSXAttribute, function (attribute) { return attribute.name.name === ALIGN_Y.from; })
140
- .forEach(function (attribute) {
129
+ .find(j.JSXAttribute, (attribute) => attribute.name.name === ALIGN_Y.from)
130
+ .forEach((attribute) => {
141
131
  alignY = attribute.node.value;
142
132
  j(attribute).remove();
143
133
  });
144
134
  if (placementAttr.length === 0) {
145
- var placement = void 0;
135
+ let placement;
146
136
  if (isStringLiteral(alignX) && !isStringLiteral(alignY)) {
147
- var convertedAlignX = mapAlignX(alignX.value);
148
- placement = "bottom-".concat(convertedAlignX);
137
+ const convertedAlignX = mapAlignX(alignX.value);
138
+ placement = `bottom-${convertedAlignX}`;
149
139
  }
150
140
  else if (!isStringLiteral(alignX) && isStringLiteral(alignY)) {
151
- placement = "".concat(alignY.value, "-start");
141
+ placement = `${alignY.value}-start`;
152
142
  }
153
143
  else if (isStringLiteral(alignX) && isStringLiteral(alignY)) {
154
- var convertedAlignX = mapAlignX(alignX.value);
155
- placement = "".concat(alignY.value, "-").concat(convertedAlignX);
144
+ const convertedAlignX = mapAlignX(alignX.value);
145
+ placement = `${alignY.value}-${convertedAlignX}`;
156
146
  }
157
147
  if (placement) {
158
- var prevAttributes = element.node.openingElement.attributes || [];
159
- element.node.openingElement.attributes = __spreadArray(__spreadArray([], prevAttributes, true), [
148
+ const prevAttributes = element.node.openingElement.attributes || [];
149
+ element.node.openingElement.attributes = [
150
+ ...prevAttributes,
160
151
  j.jsxAttribute(j.jsxIdentifier(PLACEMENT), j.stringLiteral(placement)),
161
- ], false);
152
+ ];
162
153
  }
163
154
  }
164
155
  });
@@ -5,28 +5,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parser = void 0;
7
7
  exports.default = transformer;
8
- var chalk_1 = __importDefault(require("chalk"));
9
- var codemod_helpers_1 = require("../../codemod-helpers");
10
- var report_1 = require("../../report");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const codemod_helpers_1 = require("../../codemod-helpers");
10
+ const report_1 = require("../../report");
11
11
  exports.parser = 'tsx';
12
12
  function transformer(file, api, options) {
13
- var alias = options.alias;
14
- var j = api.jscodeshift;
15
- var source = j(file.source);
16
- var componentLocalNames = ['Title', 'Headline', 'Subhead'].map(function (name) {
17
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, name, alias).localName;
13
+ const { alias } = options;
14
+ const j = api.jscodeshift;
15
+ const source = j(file.source);
16
+ const componentLocalNames = ['Title', 'Headline', 'Subhead'].map((name) => {
17
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, name, alias);
18
18
  return localName;
19
19
  });
20
20
  source
21
21
  .find(j.JSXOpeningElement)
22
- .filter(function (path) {
23
- return path.value.name.type === 'JSXIdentifier' &&
24
- componentLocalNames.includes(path.value.name.name);
25
- })
26
- .forEach(function (path) {
27
- var componentAttribute = j(path).find(j.JSXAttribute, { name: { name: 'Component' } });
22
+ .filter((path) => path.value.name.type === 'JSXIdentifier' &&
23
+ componentLocalNames.includes(path.value.name.name))
24
+ .forEach((path) => {
25
+ const componentAttribute = j(path).find(j.JSXAttribute, { name: { name: 'Component' } });
28
26
  if (componentAttribute.length > 0) {
29
- var componentValue = componentAttribute.get('value');
27
+ const componentValue = componentAttribute.get('value');
30
28
  if (componentValue.value &&
31
29
  (componentValue.value.type === 'StringLiteral' ||
32
30
  componentValue.value.type === 'Literal') &&
@@ -35,8 +33,8 @@ function transformer(file, api, options) {
35
33
  }
36
34
  }
37
35
  else {
38
- var newValue = void 0;
39
- var componentName = path.node.name.type === 'JSXIdentifier' && path.node.name.name;
36
+ let newValue;
37
+ const componentName = path.node.name.type === 'JSXIdentifier' && path.node.name.name;
40
38
  switch (componentName) {
41
39
  case componentLocalNames[1]:
42
40
  newValue = 'h4';
@@ -45,18 +43,18 @@ function transformer(file, api, options) {
45
43
  newValue = 'h5';
46
44
  break;
47
45
  case componentLocalNames[0]:
48
- var levelAttribute = j(path).find(j.JSXAttribute, { name: { name: 'level' } });
46
+ const levelAttribute = j(path).find(j.JSXAttribute, { name: { name: 'level' } });
49
47
  if (levelAttribute.length === 0) {
50
48
  newValue = 'h1';
51
49
  }
52
50
  else {
53
- var att = levelAttribute.get(0);
51
+ const att = levelAttribute.get(0);
54
52
  if (att.node.value &&
55
53
  (att.node.value.type === 'StringLiteral' || att.node.value.type === 'Literal')) {
56
- newValue = "h".concat(att.node.value.value);
54
+ newValue = `h${att.node.value.value}`;
57
55
  }
58
56
  else {
59
- (0, report_1.report)(api, ": prop ".concat(chalk_1.default.white.bgBlue('Component'), " has been changed in ").concat(chalk_1.default.white.bgBlue(componentLocalNames), " component. Manual changes required."));
57
+ (0, report_1.report)(api, `: prop ${chalk_1.default.white.bgBlue('Component')} has been changed in ${chalk_1.default.white.bgBlue(componentLocalNames)} component. Manual changes required.`);
60
58
  }
61
59
  }
62
60
  break;
@@ -5,31 +5,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parser = void 0;
7
7
  exports.default = transformer;
8
- var chalk_1 = __importDefault(require("chalk"));
9
- var codemod_helpers_1 = require("../../codemod-helpers");
10
- var report_1 = require("../../report");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const codemod_helpers_1 = require("../../codemod-helpers");
10
+ const report_1 = require("../../report");
11
11
  exports.parser = 'tsx';
12
12
  function transformer(file, api, options) {
13
- var alias = options.alias;
14
- var j = api.jscodeshift;
15
- var source = j(file.source);
16
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'UsersStack', alias).localName;
13
+ const { alias } = options;
14
+ const j = api.jscodeshift;
15
+ const source = j(file.source);
16
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, 'UsersStack', alias);
17
17
  if (!localName) {
18
18
  return source.toSource();
19
19
  }
20
20
  source
21
21
  .find(j.JSXOpeningElement)
22
- .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
22
+ .filter((path) => path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName)
23
23
  .find(j.JSXAttribute)
24
- .filter(function (attribute) { return attribute.node.name.name === 'layout'; })
25
- .forEach(function (attribute) {
26
- var node = attribute.node;
24
+ .filter((attribute) => attribute.node.name.name === 'layout')
25
+ .forEach((attribute) => {
26
+ const node = attribute.node;
27
27
  if (node.value && node.value.type === 'StringLiteral') {
28
- var newValue = node.value.value === 'vertical' ? 'column' : 'row';
28
+ const newValue = node.value.value === 'vertical' ? 'column' : 'row';
29
29
  j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier('direction'), j.stringLiteral(newValue)));
30
30
  }
31
31
  else {
32
- (0, report_1.report)(api, ": ".concat(chalk_1.default.white.bgBlue('layout'), " prop in ").concat(chalk_1.default.white.bgBlue('UsersStack'), " component is no longer available. Manual changes required."));
32
+ (0, report_1.report)(api, `: ${chalk_1.default.white.bgBlue('layout')} prop in ${chalk_1.default.white.bgBlue('UsersStack')} component is no longer available. Manual changes required.`);
33
33
  }
34
34
  });
35
35
  return source.toSource();
@@ -1,47 +1,36 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.parser = void 0;
13
4
  exports.default = transformer;
14
5
  exports.parser = 'tsx';
15
6
  function transformer(file, api, options) {
16
- var alias = options.alias;
17
- var j = api.jscodeshift;
18
- var source = j(file.source);
19
- var localImportName = 'VisuallyHiddenInput';
20
- var needRename = true;
21
- var componentImport = source
7
+ const { alias } = options;
8
+ const j = api.jscodeshift;
9
+ const source = j(file.source);
10
+ let localImportName = 'VisuallyHiddenInput';
11
+ let needRename = true;
12
+ const componentImport = source
22
13
  .find(j.ImportDeclaration)
23
- .filter(function (path) { return path.node.source.value === alias; })
14
+ .filter((path) => path.node.source.value === alias)
24
15
  .find(j.ImportSpecifier)
25
- .filter(function (path) { return path.node.imported.name === 'VisuallyHiddenInput'; })
16
+ .filter((path) => path.node.imported.name === 'VisuallyHiddenInput')
26
17
  .at(0);
27
18
  if (componentImport.length === 0) {
28
19
  return source.toSource();
29
20
  }
30
- componentImport.forEach(function (path) {
21
+ componentImport.forEach((path) => {
31
22
  if (path.node.local &&
32
23
  path.node.local.name !== path.node.imported.name &&
33
24
  typeof path.node.local.name === 'string') {
34
25
  localImportName = path.node.local.name;
35
26
  needRename = false;
36
27
  }
37
- j(path).replaceWith(function (path) {
38
- return j.importSpecifier(j.identifier('VisuallyHidden'), needRename ? null : path.node.local);
39
- });
28
+ j(path).replaceWith((path) => j.importSpecifier(j.identifier('VisuallyHidden'), needRename ? null : path.node.local));
40
29
  });
41
- source.findJSXElements(localImportName).replaceWith(function (path) {
30
+ source.findJSXElements(localImportName).replaceWith((path) => {
42
31
  localImportName = needRename ? 'VisuallyHidden' : localImportName;
43
- var props = path.node.openingElement.attributes;
44
- return j.jsxElement(j.jsxOpeningElement(j.jsxIdentifier(localImportName), __spreadArray([j.jsxAttribute(j.jsxIdentifier('Component'), j.stringLiteral('input'))], (props || []), true), path.node.closingElement ? false : true), path.node.closingElement ? j.jsxClosingElement(j.jsxIdentifier(localImportName)) : null, path.node.children);
32
+ const props = path.node.openingElement.attributes;
33
+ return j.jsxElement(j.jsxOpeningElement(j.jsxIdentifier(localImportName), [j.jsxAttribute(j.jsxIdentifier('Component'), j.stringLiteral('input')), ...(props || [])], path.node.closingElement ? false : true), path.node.closingElement ? j.jsxClosingElement(j.jsxIdentifier(localImportName)) : null, path.node.children);
45
34
  });
46
35
  return source.toSource();
47
36
  }
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parser = void 0;
4
4
  exports.default = transformer;
5
- var codemod_helpers_1 = require("../../codemod-helpers");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
6
6
  exports.parser = 'tsx';
7
7
  function transformer(file, api, options) {
8
- var alias = options.alias;
9
- var j = api.jscodeshift;
10
- var source = j(file.source);
11
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'ActionSheet', alias).localName;
8
+ const { alias } = options;
9
+ const j = api.jscodeshift;
10
+ const source = j(file.source);
11
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, 'ActionSheet', alias);
12
12
  if (localName) {
13
13
  (0, codemod_helpers_1.renameProp)(j, source, localName, { header: 'title', text: 'description' });
14
14
  }
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parser = void 0;
4
4
  exports.default = transformer;
5
- var codemod_helpers_1 = require("../../codemod-helpers");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
6
6
  exports.parser = 'tsx';
7
7
  function transformer(file, api, options) {
8
- var alias = options.alias;
9
- var j = api.jscodeshift;
10
- var source = j(file.source);
11
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Alert', alias).localName;
8
+ const { alias } = options;
9
+ const j = api.jscodeshift;
10
+ const source = j(file.source);
11
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, 'Alert', alias);
12
12
  if (localName) {
13
13
  (0, codemod_helpers_1.renameProp)(j, source, localName, { header: 'title', text: 'description' });
14
14
  }
@@ -2,30 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parser = void 0;
4
4
  exports.default = transformer;
5
- var codemod_helpers_1 = require("../../codemod-helpers");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
6
6
  exports.parser = 'tsx';
7
- var OLD_PROVIDER_NAME = 'AppearanceProvider';
8
- var OLD_PROVIDER_PROPS_NAME = 'AppearanceProviderProps';
9
- var NEW_PROVIDER_NAME = 'ColorSchemeProvider';
10
- var NEW_PROVIDER_PROPS_NAME = 'ColorSchemeProviderProps';
7
+ const OLD_PROVIDER_NAME = 'AppearanceProvider';
8
+ const OLD_PROVIDER_PROPS_NAME = 'AppearanceProviderProps';
9
+ const NEW_PROVIDER_NAME = 'ColorSchemeProvider';
10
+ const NEW_PROVIDER_PROPS_NAME = 'ColorSchemeProviderProps';
11
11
  function transformer(file, api, options) {
12
- var alias = options.alias;
13
- var j = api.jscodeshift;
14
- var source = j(file.source);
15
- var providerLocalName = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_PROVIDER_NAME, alias).localName;
16
- var providerPropsLocalName = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_PROVIDER_PROPS_NAME, alias).localName;
12
+ const { alias } = options;
13
+ const j = api.jscodeshift;
14
+ const source = j(file.source);
15
+ const { localName: providerLocalName } = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_PROVIDER_NAME, alias);
16
+ const { localName: providerPropsLocalName } = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_PROVIDER_PROPS_NAME, alias);
17
17
  if (!providerLocalName && !providerPropsLocalName) {
18
18
  return source.toSource();
19
19
  }
20
20
  if (providerLocalName) {
21
- var isAliasUsed = providerLocalName !== OLD_PROVIDER_NAME;
21
+ const isAliasUsed = providerLocalName !== OLD_PROVIDER_NAME;
22
22
  (0, codemod_helpers_1.renameImportName)(j, source, providerLocalName, NEW_PROVIDER_NAME, alias, isAliasUsed);
23
23
  if (!isAliasUsed) {
24
24
  (0, codemod_helpers_1.renameIdentifier)(j, source, providerLocalName, NEW_PROVIDER_NAME);
25
25
  }
26
26
  }
27
27
  if (providerPropsLocalName) {
28
- var isAliasUsed = providerPropsLocalName !== OLD_PROVIDER_PROPS_NAME;
28
+ const isAliasUsed = providerPropsLocalName !== OLD_PROVIDER_PROPS_NAME;
29
29
  (0, codemod_helpers_1.renameImportName)(j, source, providerPropsLocalName, NEW_PROVIDER_PROPS_NAME, alias, isAliasUsed);
30
30
  if (!isAliasUsed) {
31
31
  (0, codemod_helpers_1.renameTypeIdentifier)(j, source, providerPropsLocalName, NEW_PROVIDER_PROPS_NAME);
@@ -2,40 +2,40 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parser = void 0;
4
4
  exports.default = transformer;
5
- var codemod_helpers_1 = require("../../codemod-helpers");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
6
6
  exports.parser = 'tsx';
7
- var OLD_APPEARANCE_NAME = 'Appearance';
8
- var OLD_APPEARANCE_TYPE_NAME = 'AppearanceType';
9
- var OLD_HOOK_APPEARANCE_NAME = 'useAppearance';
10
- var NEW_APPEARANCE_NAME = 'ColorScheme';
11
- var NEW_APPEARANCE_TYPE_NAME = 'ColorSchemeType';
12
- var NEW_HOOK_APPEARANCE_NAME = 'useColorScheme';
7
+ const OLD_APPEARANCE_NAME = 'Appearance';
8
+ const OLD_APPEARANCE_TYPE_NAME = 'AppearanceType';
9
+ const OLD_HOOK_APPEARANCE_NAME = 'useAppearance';
10
+ const NEW_APPEARANCE_NAME = 'ColorScheme';
11
+ const NEW_APPEARANCE_TYPE_NAME = 'ColorSchemeType';
12
+ const NEW_HOOK_APPEARANCE_NAME = 'useColorScheme';
13
13
  function transformer(file, api, options) {
14
- var alias = options.alias;
15
- var j = api.jscodeshift;
16
- var source = j(file.source);
17
- var appearanceLocalName = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_APPEARANCE_NAME, alias).localName;
18
- var appearanceTypeLocalName = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_APPEARANCE_TYPE_NAME, alias).localName;
19
- var useAppearanceLocalName = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_HOOK_APPEARANCE_NAME, alias).localName;
14
+ const { alias } = options;
15
+ const j = api.jscodeshift;
16
+ const source = j(file.source);
17
+ const { localName: appearanceLocalName } = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_APPEARANCE_NAME, alias);
18
+ const { localName: appearanceTypeLocalName } = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_APPEARANCE_TYPE_NAME, alias);
19
+ const { localName: useAppearanceLocalName } = (0, codemod_helpers_1.getImportInfo)(j, file, OLD_HOOK_APPEARANCE_NAME, alias);
20
20
  if (!appearanceLocalName && !appearanceTypeLocalName && !useAppearanceLocalName) {
21
21
  return source.toSource();
22
22
  }
23
23
  if (appearanceLocalName) {
24
- var isAliasUsed = appearanceLocalName !== OLD_APPEARANCE_NAME;
24
+ const isAliasUsed = appearanceLocalName !== OLD_APPEARANCE_NAME;
25
25
  (0, codemod_helpers_1.renameImportName)(j, source, appearanceLocalName, NEW_APPEARANCE_NAME, alias, isAliasUsed);
26
26
  if (!isAliasUsed) {
27
27
  (0, codemod_helpers_1.renameIdentifier)(j, source, appearanceLocalName, NEW_APPEARANCE_NAME);
28
28
  }
29
29
  }
30
30
  if (appearanceTypeLocalName) {
31
- var isAliasUsed = appearanceTypeLocalName !== OLD_APPEARANCE_TYPE_NAME;
31
+ const isAliasUsed = appearanceTypeLocalName !== OLD_APPEARANCE_TYPE_NAME;
32
32
  (0, codemod_helpers_1.renameImportName)(j, source, appearanceTypeLocalName, NEW_APPEARANCE_TYPE_NAME, alias, isAliasUsed);
33
33
  if (!isAliasUsed) {
34
34
  (0, codemod_helpers_1.renameTypeIdentifier)(j, source, appearanceTypeLocalName, NEW_APPEARANCE_TYPE_NAME);
35
35
  }
36
36
  }
37
37
  if (useAppearanceLocalName) {
38
- var isAliasUsed = useAppearanceLocalName !== OLD_HOOK_APPEARANCE_NAME;
38
+ const isAliasUsed = useAppearanceLocalName !== OLD_HOOK_APPEARANCE_NAME;
39
39
  (0, codemod_helpers_1.renameImportName)(j, source, useAppearanceLocalName, NEW_HOOK_APPEARANCE_NAME, alias, isAliasUsed);
40
40
  if (!isAliasUsed) {
41
41
  (0, codemod_helpers_1.renameIdentifier)(j, source, useAppearanceLocalName, NEW_HOOK_APPEARANCE_NAME);
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parser = void 0;
4
4
  exports.default = transformer;
5
- var codemod_helpers_1 = require("../../codemod-helpers");
6
- var report_1 = require("../../report");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
6
+ const report_1 = require("../../report");
7
7
  exports.parser = 'tsx';
8
8
  function transformer(file, api, options) {
9
- var alias = options.alias;
10
- var j = api.jscodeshift;
11
- var source = j(file.source);
12
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Banner', alias).localName;
9
+ const { alias } = options;
10
+ const j = api.jscodeshift;
11
+ const source = j(file.source);
12
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, 'Banner', alias);
13
13
  if (!localName) {
14
14
  return source.toSource();
15
15
  }
@@ -21,19 +21,18 @@ function transformer(file, api, options) {
21
21
  });
22
22
  source
23
23
  .find(j.JSXOpeningElement)
24
- .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
24
+ .filter((path) => path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName)
25
25
  .find(j.JSXAttribute)
26
- .filter(function (attribute) { return attribute.node.name.name === 'after'; })
27
- .forEach(function (attribute) {
28
- var _a, _b;
29
- if (((_a = attribute.node.value) === null || _a === void 0 ? void 0 : _a.type) === 'StringLiteral') {
26
+ .filter((attribute) => attribute.node.name.name === 'after')
27
+ .forEach((attribute) => {
28
+ if (attribute.node.value?.type === 'StringLiteral') {
30
29
  if (attribute.node.value.value === 'expand') {
31
30
  attribute.node.value.value = 'chevron';
32
31
  }
33
32
  return;
34
33
  }
35
- if (((_b = attribute.node.value) === null || _b === void 0 ? void 0 : _b.type) === 'JSXExpressionContainer') {
36
- var expression = attribute.node.value.expression;
34
+ if (attribute.node.value?.type === 'JSXExpressionContainer') {
35
+ const expression = attribute.node.value.expression;
37
36
  if (expression.type === 'StringLiteral') {
38
37
  if (expression.value === 'expand') {
39
38
  expression.value = 'chevron';
@@ -41,7 +40,7 @@ function transformer(file, api, options) {
41
40
  return;
42
41
  }
43
42
  }
44
- (0, report_1.report)(api, "Manual changes required for ".concat(localName, "'s \"after\" (previously \"asideMode\") prop. Need to change \"expand\" value to \"chevron\"."));
43
+ (0, report_1.report)(api, `Manual changes required for ${localName}'s "after" (previously "asideMode") prop. Need to change "expand" value to "chevron".`);
45
44
  });
46
45
  return source.toSource();
47
46
  }
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parser = void 0;
4
4
  exports.default = transformer;
5
- var codemod_helpers_1 = require("../../codemod-helpers");
5
+ const codemod_helpers_1 = require("../../codemod-helpers");
6
6
  exports.parser = 'tsx';
7
7
  function transformer(file, api, options) {
8
- var alias = options.alias;
9
- var j = api.jscodeshift;
10
- var source = j(file.source);
11
- var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Calendar', alias).localName;
8
+ const { alias } = options;
9
+ const j = api.jscodeshift;
10
+ const source = j(file.source);
11
+ const { localName } = (0, codemod_helpers_1.getImportInfo)(j, file, 'Calendar', alias);
12
12
  if (!localName) {
13
13
  return source.toSource();
14
14
  }