@vkontakte/vkui-codemods 0.0.3

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 (46) hide show
  1. package/README.md +63 -0
  2. package/dist/cli.js +113 -0
  3. package/dist/codemod-helpers.js +76 -0
  4. package/dist/getAvailableCodemods.js +19 -0
  5. package/dist/helpers/logger.js +30 -0
  6. package/dist/index.js +193 -0
  7. package/dist/report.js +13 -0
  8. package/dist/transforms/accordion.js +25 -0
  9. package/dist/transforms/action-sheet-item.js +33 -0
  10. package/dist/transforms/action-sheet.js +45 -0
  11. package/dist/transforms/alert.js +48 -0
  12. package/dist/transforms/appearance-provider.js +19 -0
  13. package/dist/transforms/banner.js +22 -0
  14. package/dist/transforms/calendar-range.js +21 -0
  15. package/dist/transforms/calendar.js +23 -0
  16. package/dist/transforms/chip.js +17 -0
  17. package/dist/transforms/chips-input.js +17 -0
  18. package/dist/transforms/config-provider.js +68 -0
  19. package/dist/transforms/content-card.js +19 -0
  20. package/dist/transforms/custom-scroll-view.js +26 -0
  21. package/dist/transforms/date-input.js +25 -0
  22. package/dist/transforms/date-range-input.js +29 -0
  23. package/dist/transforms/fixed-layout.js +32 -0
  24. package/dist/transforms/forbid-imports.js +25 -0
  25. package/dist/transforms/form-item.js +23 -0
  26. package/dist/transforms/gradient-prop-change.js +29 -0
  27. package/dist/transforms/horizontal-cell-show-more.js +22 -0
  28. package/dist/transforms/modal-card.js +32 -0
  29. package/dist/transforms/modal-page-header.js +32 -0
  30. package/dist/transforms/pagination.js +31 -0
  31. package/dist/transforms/panel-header-content.js +32 -0
  32. package/dist/transforms/popover.js +118 -0
  33. package/dist/transforms/popper.js +95 -0
  34. package/dist/transforms/range-slider.js +49 -0
  35. package/dist/transforms/rich-tooltip.js +24 -0
  36. package/dist/transforms/search.js +18 -0
  37. package/dist/transforms/simple-cell.js +47 -0
  38. package/dist/transforms/split-col.js +33 -0
  39. package/dist/transforms/tappable.js +30 -0
  40. package/dist/transforms/text-tooltip.js +139 -0
  41. package/dist/transforms/tooltip.js +162 -0
  42. package/dist/transforms/typography.js +68 -0
  43. package/dist/transforms/users-stack.js +33 -0
  44. package/dist/transforms/visually-hidden-input.js +42 -0
  45. package/dist/types.js +2 -0
  46. package/package.json +44 -0
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var codemod_helpers_1 = require("../codemod-helpers");
4
+ function transformer(file, api, options) {
5
+ var alias = options.alias;
6
+ var j = api.jscodeshift;
7
+ var source = j(file.source);
8
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'AppearanceProvider', alias).localName;
9
+ source
10
+ .find(j.JSXOpeningElement)
11
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
12
+ .find(j.JSXAttribute)
13
+ .filter(function (attribute) { return attribute.node.name.name === 'appearance'; })
14
+ .forEach(function (attribute) {
15
+ return j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier('value'), attribute.node.value));
16
+ });
17
+ return source.toSource();
18
+ }
19
+ exports.default = transformer;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var chalk_1 = __importDefault(require("chalk"));
7
+ var codemod_helpers_1 = require("../codemod-helpers");
8
+ var report_1 = require("../report");
9
+ function transformer(file, api, options) {
10
+ var alias = options.alias;
11
+ var j = api.jscodeshift;
12
+ var source = j(file.source);
13
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Banner', alias).localName;
14
+ var bannerComponent = source
15
+ .find(j.JSXOpeningElement)
16
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; });
17
+ if (bannerComponent.length > 0) {
18
+ (0, report_1.report)(api, ": ".concat(chalk_1.default.white.bgBlue('noPadding'), " prop in ").concat(chalk_1.default.white.bgBlue('Banner'), " component is no longer available. Manual changes required."));
19
+ }
20
+ return source.toSource();
21
+ }
22
+ exports.default = transformer;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ var RENAME_MAP = {
7
+ prevMonthAriaLabel: 'prevMonthLabel',
8
+ nextMonthAriaLabel: 'nextMonthLabel',
9
+ changeDayAriaLabel: 'changeDayLabel',
10
+ changeMonthAriaLabel: 'changeMonthLabel',
11
+ changeYearAriaLabel: 'changeYearLabel',
12
+ };
13
+ function transformer(file, api, options) {
14
+ var alias = options.alias;
15
+ var j = api.jscodeshift;
16
+ var source = j(file.source);
17
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'CalendarRange', alias).localName;
18
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
19
+ return source.toSource();
20
+ }
21
+ exports.default = transformer;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ var RENAME_MAP = {
7
+ prevMonthAriaLabel: 'prevMonthLabel',
8
+ nextMonthAriaLabel: 'nextMonthLabel',
9
+ changeDayAriaLabel: 'changeDayLabel',
10
+ changeMonthAriaLabel: 'changeMonthLabel',
11
+ changeYearAriaLabel: 'changeYearLabel',
12
+ changeMinutesAriaLabel: 'changeMinutesLabel',
13
+ changeHoursAriaLabel: 'changeHoursLabel',
14
+ };
15
+ function transformer(file, api, options) {
16
+ var alias = options.alias;
17
+ var j = api.jscodeshift;
18
+ var source = j(file.source);
19
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Calendar', alias).localName;
20
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
21
+ return source.toSource();
22
+ }
23
+ exports.default = transformer;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ var RENAME_MAP = {
7
+ removeAriaLabel: 'removeLabel',
8
+ };
9
+ function transformer(file, api, options) {
10
+ var alias = options.alias;
11
+ var j = api.jscodeshift;
12
+ var source = j(file.source);
13
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Chip', alias).localName;
14
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
15
+ return source.toSource();
16
+ }
17
+ exports.default = transformer;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ var RENAME_MAP = {
7
+ inputAriaLabel: 'inputLabel',
8
+ };
9
+ function transformer(file, api, options) {
10
+ var alias = options.alias;
11
+ var j = api.jscodeshift;
12
+ var source = j(file.source);
13
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'ChipsInput', alias).localName;
14
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
15
+ return source.toSource();
16
+ }
17
+ exports.default = transformer;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ function transformer(file, api, options) {
7
+ var alias = options.alias;
8
+ var j = api.jscodeshift;
9
+ var source = j(file.source);
10
+ var changed = false;
11
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'ConfigProvider', alias).localName;
12
+ source
13
+ .find(j.JSXOpeningElement)
14
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
15
+ .find(j.JSXAttribute)
16
+ .filter(function (attribute) { return attribute.node.name.name === 'webviewType'; })
17
+ .forEach(function (attribute) {
18
+ var node = attribute.node.value;
19
+ if (node) {
20
+ if (node.type === 'JSXExpressionContainer' && node.expression.type === 'MemberExpression') {
21
+ var property = node.expression.property;
22
+ if (property.type === 'Identifier') {
23
+ if (property.name === 'INTERNAL') {
24
+ j(attribute).remove();
25
+ changed = true;
26
+ }
27
+ if (property.name === 'VKAPPS') {
28
+ j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier('hasCustomPanelHeaderAfter')));
29
+ changed = true;
30
+ }
31
+ }
32
+ }
33
+ if (node.type === 'JSXExpressionContainer' && node.expression.type === 'TSAsExpression') {
34
+ var expression = node.expression.expression;
35
+ if (expression.type === 'Literal' || expression.type === 'StringLiteral') {
36
+ if (expression.value === 'internal') {
37
+ j(attribute).remove();
38
+ changed = true;
39
+ }
40
+ if (expression.value === 'vkapps') {
41
+ j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier('hasCustomPanelHeaderAfter')));
42
+ changed = true;
43
+ }
44
+ }
45
+ }
46
+ if (node.type === 'Literal' || node.type === 'StringLiteral') {
47
+ if (node.value === 'internal') {
48
+ j(attribute).remove();
49
+ changed = true;
50
+ }
51
+ if (node.value === 'vkapps') {
52
+ j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier('hasCustomPanelHeaderAfter')));
53
+ changed = true;
54
+ }
55
+ }
56
+ }
57
+ });
58
+ if (changed) {
59
+ source
60
+ .find(j.ImportDeclaration)
61
+ .filter(function (path) { return path.node.source.value === alias; })
62
+ .find(j.ImportSpecifier)
63
+ .filter(function (path) { return path.node.imported.name === 'WebviewType'; })
64
+ .remove();
65
+ }
66
+ return source.toSource();
67
+ }
68
+ exports.default = transformer;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var codemod_helpers_1 = require("../codemod-helpers");
4
+ function transformer(file, api, options) {
5
+ var alias = options.alias;
6
+ var j = api.jscodeshift;
7
+ var source = j(file.source);
8
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'ContentCard', alias).localName;
9
+ source
10
+ .find(j.JSXOpeningElement)
11
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
12
+ .forEach(function (path) {
13
+ if (path.node.attributes) {
14
+ path.node.attributes.push(j.jsxAttribute(j.jsxIdentifier('headerComponent'), j.stringLiteral('h4')));
15
+ }
16
+ });
17
+ return source.toSource();
18
+ }
19
+ exports.default = transformer;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var chalk_1 = __importDefault(require("chalk"));
7
+ var codemod_helpers_1 = require("../codemod-helpers");
8
+ var report_1 = require("../report");
9
+ function transformer(file, api, options) {
10
+ var alias = options.alias;
11
+ var j = api.jscodeshift;
12
+ var source = j(file.source);
13
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'CustomScrollView', alias).localName;
14
+ var unusedProps = source
15
+ .find(j.JSXOpeningElement)
16
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
17
+ .find(j.JSXAttribute)
18
+ .filter(function (attribute) {
19
+ return attribute.node.name.name === 'window' || attribute.node.name.name === 'document';
20
+ });
21
+ if (unusedProps.size() > 0) {
22
+ (0, report_1.report)(api, ": ".concat(chalk_1.default.white.bgBlue('window'), " and ").concat(chalk_1.default.white.bgBlue('document'), " props in ").concat(chalk_1.default.white.bgBlue('CustomScrollView'), " component are no longer available. Manual changes required."));
23
+ }
24
+ return source.toSource();
25
+ }
26
+ exports.default = transformer;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ var RENAME_MAP = {
7
+ prevMonthAriaLabel: 'prevMonthLabel',
8
+ nextMonthAriaLabel: 'nextMonthLabel',
9
+ changeMinutesAriaLabel: 'changeMinutesLabel',
10
+ changeHoursAriaLabel: 'changeHoursLabel',
11
+ changeDayAriaLabel: 'changeDayLabel',
12
+ changeMonthAriaLabel: 'changeMonthLabel',
13
+ changeYearAriaLabel: 'changeYearLabel',
14
+ clearFieldAriaLabel: 'clearFieldLabel',
15
+ showCalendarAriaLabel: 'showCalendarLabel',
16
+ };
17
+ function transformer(file, api, options) {
18
+ var alias = options.alias;
19
+ var j = api.jscodeshift;
20
+ var source = j(file.source);
21
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'DateInput', alias).localName;
22
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
23
+ return source.toSource();
24
+ }
25
+ exports.default = transformer;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ var RENAME_MAP = {
7
+ prevMonthAriaLabel: 'prevMonthLabel',
8
+ nextMonthAriaLabel: 'nextMonthLabel',
9
+ changeDayAriaLabel: 'changeDayLabel',
10
+ changeMonthAriaLabel: 'changeMonthLabel',
11
+ changeYearAriaLabel: 'changeYearLabel',
12
+ changeStartDayAriaLabel: 'changeStartDayLabel',
13
+ changeStartMonthAriaLabel: 'changeStartMonthLabel',
14
+ changeStartYearAriaLabel: 'changeStartYearLabel',
15
+ changeEndDayAriaLabel: 'changeEndDayLabel',
16
+ changeEndMonthAriaLabel: 'changeEndMonthLabel',
17
+ changeEndYearAriaLabel: 'changeEndYearLabel',
18
+ clearFieldAriaLabel: 'clearFieldLabel',
19
+ showCalendarAriaLabel: 'showCalendarLabel',
20
+ };
21
+ function transformer(file, api, options) {
22
+ var alias = options.alias;
23
+ var j = api.jscodeshift;
24
+ var source = j(file.source);
25
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'DateRangeInput', alias).localName;
26
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
27
+ return source.toSource();
28
+ }
29
+ exports.default = transformer;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ function transformer(file, api, options) {
7
+ var alias = options.alias;
8
+ var j = api.jscodeshift;
9
+ var source = j(file.source);
10
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'FixedLayout', alias).localName;
11
+ source
12
+ .find(j.JSXOpeningElement)
13
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
14
+ .forEach(function (element) {
15
+ var attributes = element.value.attributes;
16
+ if (attributes) {
17
+ var getRefIndex = attributes.findIndex(function (attribute) { return attribute.type === 'JSXAttribute' && attribute.name.name === 'getRef'; });
18
+ var getRootRefIndex = attributes.findIndex(function (attribute) { return attribute.type === 'JSXAttribute' && attribute.name.name === 'getRootRef'; });
19
+ if (getRefIndex !== -1 && getRootRefIndex === -1) {
20
+ var attribute = attributes[getRefIndex];
21
+ if (attribute.type === 'JSXAttribute') {
22
+ attribute.name.name = 'getRootRef';
23
+ }
24
+ }
25
+ if (getRootRefIndex !== -1 && getRefIndex !== -1) {
26
+ attributes.splice(getRefIndex, 1);
27
+ }
28
+ }
29
+ });
30
+ return source.toSource();
31
+ }
32
+ exports.default = transformer;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parser = void 0;
7
+ var chalk_1 = __importDefault(require("chalk"));
8
+ var report_1 = require("../report");
9
+ exports.parser = 'tsx';
10
+ function transformer(file, api, options) {
11
+ var alias = options.alias;
12
+ var j = api.jscodeshift;
13
+ var source = j(file.source);
14
+ source
15
+ .find(j.ImportDeclaration)
16
+ .filter(function (path) { return path.node.source.value === alias; })
17
+ .find(j.ImportSpecifier)
18
+ .forEach(function (path) {
19
+ if (['withInsets', 'useInsets', 'PromoBanner', 'getPlatformClassName'].includes(path.value.imported.name)) {
20
+ (0, report_1.report)(api, ": import of ".concat(chalk_1.default.white.bgBlue(path.value.imported.name), " are forbidden."));
21
+ }
22
+ });
23
+ return source.toSource();
24
+ }
25
+ exports.default = transformer;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var codemod_helpers_1 = require("../codemod-helpers");
4
+ function transformer(file, api, options) {
5
+ var alias = options.alias;
6
+ var j = api.jscodeshift;
7
+ var source = j(file.source);
8
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'FormItem', alias).localName;
9
+ source
10
+ .find(j.JSXOpeningElement)
11
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
12
+ .forEach(function (path) {
13
+ var topAttribute = j(path).find(j.JSXAttribute, { name: { name: 'top' } });
14
+ var htmlForAttribute = j(path).find(j.JSXAttribute, { name: { name: 'htmlFor' } });
15
+ if (topAttribute.length > 0 && htmlForAttribute.length === 0) {
16
+ if (path.node.attributes) {
17
+ path.node.attributes.push(j.jsxAttribute(j.jsxIdentifier('topComponent'), j.stringLiteral('h5')));
18
+ }
19
+ }
20
+ });
21
+ return source.toSource();
22
+ }
23
+ exports.default = transformer;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var chalk_1 = __importDefault(require("chalk"));
7
+ var codemod_helpers_1 = require("../codemod-helpers");
8
+ var report_1 = require("../report");
9
+ function transformer(file, api, options) {
10
+ var alias = options.alias;
11
+ var j = api.jscodeshift;
12
+ var source = j(file.source);
13
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Gradient', alias).localName;
14
+ source
15
+ .find(j.JSXOpeningElement)
16
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
17
+ .find(j.JSXAttribute)
18
+ .filter(function (attribute) { return attribute.node.name.name === 'mode'; })
19
+ .forEach(function (attribute) {
20
+ var node = attribute.node;
21
+ if (node.value && node.value.type === 'StringLiteral') {
22
+ if (node.value.value === 'black' || node.value.value === 'white') {
23
+ (0, report_1.report)(api, ": value ".concat(chalk_1.default.white.bgBlue(node.value.value), " in \"mode\" prop in ").concat(chalk_1.default.white.bgBlue('Gradient'), " component is no longer available. Manual changes required."));
24
+ }
25
+ }
26
+ });
27
+ return source.toSource();
28
+ }
29
+ exports.default = transformer;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ exports.parser = 'tsx';
5
+ var componentName = 'unstable_HorizontalCellShowMore';
6
+ var componentNameTo = 'HorizontalCellShowMore';
7
+ function transformer(file, api, options) {
8
+ var alias = options.alias;
9
+ var j = api.jscodeshift;
10
+ var source = j(file.source);
11
+ source
12
+ .find(j.ImportDeclaration)
13
+ .filter(function (path) { return path.node.source.value === alias; })
14
+ .find(j.ImportSpecifier, { imported: { name: componentName } })
15
+ .forEach(function (path) {
16
+ return j(path).replaceWith(function (path) {
17
+ return j.importSpecifier(j.identifier(componentNameTo), path.node.local);
18
+ });
19
+ });
20
+ return source.toSource();
21
+ }
22
+ exports.default = transformer;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var codemod_helpers_1 = require("../codemod-helpers");
4
+ function transformer(file, api, options) {
5
+ var alias = options.alias;
6
+ var j = api.jscodeshift;
7
+ var source = j(file.source);
8
+ var localNameModalCard = (0, codemod_helpers_1.getImportInfo)(j, file, 'ModalCard', alias).localName;
9
+ var localNameModalCardBase = (0, codemod_helpers_1.getImportInfo)(j, file, 'ModalCardBase', alias).localName;
10
+ source
11
+ .find(j.JSXOpeningElement)
12
+ .filter(function (path) {
13
+ return path.value.name.type === 'JSXIdentifier' &&
14
+ [localNameModalCard, localNameModalCardBase].includes(path.value.name.name);
15
+ })
16
+ .forEach(function (path) {
17
+ var headerAttribute = j(path).find(j.JSXAttribute, { name: { name: 'header' } });
18
+ var subheaderAttribute = j(path).find(j.JSXAttribute, { name: { name: 'subheader' } });
19
+ if (subheaderAttribute.length > 0) {
20
+ if (path.node.attributes) {
21
+ path.node.attributes.push(j.jsxAttribute(j.jsxIdentifier('subheaderComponent'), j.stringLiteral('h5')));
22
+ }
23
+ }
24
+ if (headerAttribute.length > 0) {
25
+ if (path.node.attributes) {
26
+ path.node.attributes.push(j.jsxAttribute(j.jsxIdentifier('headerComponent'), j.stringLiteral('h2')));
27
+ }
28
+ }
29
+ });
30
+ return source.toSource();
31
+ }
32
+ exports.default = transformer;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parser = void 0;
4
+ var codemod_helpers_1 = require("../codemod-helpers");
5
+ exports.parser = 'tsx';
6
+ function transformer(file, api, options) {
7
+ var alias = options.alias;
8
+ var j = api.jscodeshift;
9
+ var source = j(file.source);
10
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'ModalPageHeader', alias).localName;
11
+ source
12
+ .find(j.JSXOpeningElement)
13
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
14
+ .forEach(function (element) {
15
+ var attributes = element.value.attributes;
16
+ if (attributes) {
17
+ var getRefIndex = attributes.findIndex(function (attribute) { return attribute.type === 'JSXAttribute' && attribute.name.name === 'getRef'; });
18
+ var getRootRefIndex = attributes.findIndex(function (attribute) { return attribute.type === 'JSXAttribute' && attribute.name.name === 'getRootRef'; });
19
+ if (getRefIndex !== -1 && getRootRefIndex === -1) {
20
+ var attribute = attributes[getRefIndex];
21
+ if (attribute.type === 'JSXAttribute') {
22
+ attribute.name.name = 'getRootRef';
23
+ }
24
+ }
25
+ if (getRootRefIndex !== -1 && getRefIndex !== -1) {
26
+ attributes.splice(getRefIndex, 1);
27
+ }
28
+ }
29
+ });
30
+ return source.toSource();
31
+ }
32
+ exports.default = transformer;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parser = void 0;
7
+ var chalk_1 = __importDefault(require("chalk"));
8
+ var codemod_helpers_1 = require("../codemod-helpers");
9
+ var report_1 = require("../report");
10
+ exports.parser = 'tsx';
11
+ var RENAME_MAP = {
12
+ prevButtonAriaLabel: 'prevButtonLabel',
13
+ nextButtonAriaLabel: 'nextButtonLabel',
14
+ };
15
+ function transformer(file, api, options) {
16
+ var alias = options.alias;
17
+ var j = api.jscodeshift;
18
+ var source = j(file.source);
19
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'Pagination', alias).localName;
20
+ (0, codemod_helpers_1.renameProp)(j, source, localName, RENAME_MAP);
21
+ source
22
+ .find(j.JSXOpeningElement)
23
+ .filter(function (path) { return path.value.name.type === 'JSXIdentifier' && path.value.name.name === localName; })
24
+ .find(j.JSXAttribute)
25
+ .filter(function (attribute) { return attribute.node.name.name === 'getPageAriaLabel'; })
26
+ .forEach(function () {
27
+ (0, report_1.report)(api, ": ".concat(chalk_1.default.white.bgBlue('getPageAriaLabel'), " prop in ").concat(chalk_1.default.white.bgBlue('Pagination'), " component is no longer available. Manual changes required."));
28
+ });
29
+ return source.toSource();
30
+ }
31
+ exports.default = transformer;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parser = void 0;
7
+ var chalk_1 = __importDefault(require("chalk"));
8
+ var codemod_helpers_1 = require("../codemod-helpers");
9
+ var report_1 = require("../report");
10
+ exports.parser = 'tsx';
11
+ function transformer(file, api, options) {
12
+ var alias = options.alias;
13
+ var j = api.jscodeshift;
14
+ var source = j(file.source);
15
+ var localName = (0, codemod_helpers_1.getImportInfo)(j, file, 'PanelHeader', alias).localName;
16
+ var elements = source.find(j.JSXOpeningElement).filter(function (path) {
17
+ if (path.value.name.type === 'JSXMemberExpression') {
18
+ var property = path.value.name;
19
+ if (property.object.type === 'JSXIdentifier' &&
20
+ property.object.name === localName &&
21
+ property.property.name === 'Content') {
22
+ return true;
23
+ }
24
+ }
25
+ return false;
26
+ });
27
+ if (elements.size() > 0) {
28
+ (0, report_1.report)(api, ": ".concat(chalk_1.default.white.bgBlue('<PanelHeader.Content>'), " is no longer available. Manual changes required."));
29
+ }
30
+ return source.toSource();
31
+ }
32
+ exports.default = transformer;