@vkontakte/vkui-codemods 0.0.7 → 1.0.0-beta.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.
- package/README.md +10 -5
- package/dist/autoDetectVKUIVersion.js +77 -0
- package/dist/cli.js +14 -6
- package/dist/codemod-helpers.js +8 -4
- package/dist/getAvailableCodemods.js +31 -4
- package/dist/index.js +24 -19
- package/dist/report.js +1 -2
- package/dist/testHelpers/testHelper.js +3 -3
- package/dist/transforms/{accordion.js → v6/accordion.js} +3 -3
- package/dist/transforms/{action-sheet-item.js → v6/action-sheet-item.js} +2 -2
- package/dist/transforms/{action-sheet.js → v6/action-sheet.js} +3 -3
- package/dist/transforms/{alert.js → v6/alert.js} +2 -2
- package/dist/transforms/{appearance-provider.js → v6/appearance-provider.js} +2 -2
- package/dist/transforms/{banner.js → v6/banner.js} +3 -3
- package/dist/transforms/{calendar-range.js → v6/calendar-range.js} +2 -2
- package/dist/transforms/{calendar.js → v6/calendar.js} +2 -2
- package/dist/transforms/{card-scroll.js → v6/card-scroll.js} +2 -2
- package/dist/transforms/{chip.js → v6/chip.js} +2 -2
- package/dist/transforms/{chips-input.js → v6/chips-input.js} +2 -2
- package/dist/transforms/{config-provider.js → v6/config-provider.js} +2 -2
- package/dist/transforms/{content-card.js → v6/content-card.js} +2 -2
- package/dist/transforms/{custom-scroll-view.js → v6/custom-scroll-view.js} +3 -3
- package/dist/transforms/{date-input.js → v6/date-input.js} +2 -2
- package/dist/transforms/{date-range-input.js → v6/date-range-input.js} +2 -2
- package/dist/transforms/{fixed-layout.js → v6/fixed-layout.js} +2 -2
- package/dist/transforms/{forbid-imports.js → v6/forbid-imports.js} +2 -2
- package/dist/transforms/{form-item.js → v6/form-item.js} +2 -2
- package/dist/transforms/{form-layout.js → v6/form-layout.js} +3 -3
- package/dist/transforms/{gallery.js → v6/gallery.js} +2 -2
- package/dist/transforms/{gradient-prop-change.js → v6/gradient-prop-change.js} +3 -3
- package/dist/transforms/{image-base.js → v6/image-base.js} +2 -2
- package/dist/transforms/{modal-card.js → v6/modal-card.js} +3 -3
- package/dist/transforms/{modal-page-header.js → v6/modal-page-header.js} +2 -2
- package/dist/transforms/{pagination.js → v6/pagination.js} +3 -3
- package/dist/transforms/{panel-header-content.js → v6/panel-header-content.js} +3 -3
- package/dist/transforms/{panel-header.js → v6/panel-header.js} +3 -3
- package/dist/transforms/{placeholder.js → v6/placeholder.js} +2 -2
- package/dist/transforms/{popout-wrapper.js → v6/popout-wrapper.js} +3 -3
- package/dist/transforms/{popover.js → v6/popover.js} +2 -2
- package/dist/transforms/{popper.js → v6/popper.js} +2 -2
- package/dist/transforms/{rich-tooltip.js → v6/rich-tooltip.js} +3 -3
- package/dist/transforms/{search.js → v6/search.js} +2 -2
- package/dist/transforms/{select.js → v6/select.js} +2 -2
- package/dist/transforms/{simple-cell.js → v6/simple-cell.js} +3 -3
- package/dist/transforms/{split-col.js → v6/split-col.js} +2 -2
- package/dist/transforms/{tabbar.js → v6/tabbar.js} +2 -2
- package/dist/transforms/{tappable.js → v6/tappable.js} +3 -3
- package/dist/transforms/{text-tooltip.js → v6/text-tooltip.js} +2 -2
- package/dist/transforms/{tooltip-container.js → v6/tooltip-container.js} +2 -2
- package/dist/transforms/{tooltip.js → v6/tooltip.js} +2 -2
- package/dist/transforms/{typography.js → v6/typography.js} +3 -3
- package/dist/transforms/{users-stack.js → v6/users-stack.js} +3 -3
- package/dist/transforms/v7/cell-button.js +49 -0
- package/dist/transforms/v7/common/remapSizePropValue.js +38 -0
- package/dist/transforms/v7/common/swapGapPropElements.js +25 -0
- package/dist/transforms/v7/flex.js +18 -0
- package/dist/transforms/v7/form-item.js +128 -0
- package/dist/transforms/v7/header.js +27 -0
- package/dist/transforms/v7/horizontal-cell-show-more.js +38 -0
- package/dist/transforms/v7/horizontal-scroll.js +38 -0
- package/dist/transforms/v7/image-overlay.js +125 -0
- package/dist/transforms/v7/screen-spinner.js +38 -0
- package/dist/transforms/v7/separator.js +17 -0
- package/dist/transforms/v7/simple-grid.js +18 -0
- package/dist/transforms/v7/spacing.js +26 -0
- package/dist/transforms/v7/spinner.js +29 -0
- package/dist/transforms/v7/typography.js +79 -0
- package/dist/transforms/v7/users-stack.js +50 -0
- package/package.json +6 -6
- package/dist/transforms/{horizontal-cell-show-more.js → v6/horizontal-cell-show-more.js} +1 -1
- package/dist/transforms/{range-slider.js → v6/range-slider.js} +1 -1
- package/dist/transforms/{visually-hidden-input.js → v6/visually-hidden-input.js} +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
# VKUI
|
|
1
|
+
# VKUI Codemods
|
|
2
2
|
|
|
3
3
|
Чтобы упростить переход на новую мажорную версию, можно воспользоваться инструментом по автоматической миграции ваших компонентов.
|
|
4
4
|
|
|
5
|
-
> Для начала обновите ваше приложение до
|
|
5
|
+
> Для начала обновите ваше приложение до необходимой мажорной версии (например, **v7**) в соответствии с требованиями вашего пакетного менеджера и среды
|
|
6
6
|
|
|
7
|
-
> Обратите внимание, минимальная поддерживаемая версия **React**
|
|
7
|
+
> Обратите внимание, минимальная поддерживаемая версия **React** `v18.2.0`
|
|
8
8
|
|
|
9
9
|
> Пока для перевода доступны только `Typescript`-файлы (_.ts/_.tsx)
|
|
10
10
|
|
|
11
11
|
> Из-за особенностей работы `jscodeshift` после применения миграции у вас могут появиться лишние скобки вокруг `JSX`-элементов, пожалуйста, запустите `prettier`, чтобы отформатировать код в соответствии с вашими настройками.
|
|
12
12
|
|
|
13
|
+
> Если вы хотите обновиться с `v5` на `v7` вам необходимо будет обновиться сначала на `v6`, а затем на `v7`, запустив скрипт последовательно для каждой из версий.
|
|
14
|
+
|
|
15
|
+
## Запуск
|
|
16
|
+
|
|
13
17
|
Перейдите в директорию с исходниками вашего проекта (обычно это `src/`) и запустите следующую команду:
|
|
14
18
|
|
|
15
19
|
```shell
|
|
16
20
|
npx @vkontakte/vkui-codemods
|
|
17
21
|
```
|
|
18
22
|
|
|
19
|
-
Инструмент представляет собой консольное приложение, с помощью которого вы можете выбрать необходимые изменения и применить
|
|
23
|
+
Инструмент представляет собой консольное приложение, с помощью которого вы можете выбрать необходимые изменения и применить их. Доступны следующие команды:
|
|
20
24
|
|
|
21
|
-
```
|
|
25
|
+
```console
|
|
22
26
|
$ npx @vkontakte/vkui-codemods --help
|
|
23
27
|
|
|
24
28
|
Usage: @vkontakte/vkui-codemod [codemod-name]
|
|
@@ -30,6 +34,7 @@ Options:
|
|
|
30
34
|
-V, --version output the version number
|
|
31
35
|
-l --list list available codemods
|
|
32
36
|
--all apply all available codemods
|
|
37
|
+
-tv --transforms-version <transformsVersion> vkui major version transforms (available versions: "6", "7")
|
|
33
38
|
-p --path <paths> path to files in which to apply the codemods (default: current directory)
|
|
34
39
|
--dry-run no changes are made to files
|
|
35
40
|
--ignore-config <config> ignore files if they match patterns sourced from a configuration file (e.g. a .gitignore)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.autoDetectVKUIVersion = autoDetectVKUIVersion;
|
|
41
|
+
var fs_1 = __importDefault(require("fs"));
|
|
42
|
+
var path = __importStar(require("path"));
|
|
43
|
+
var semver = __importStar(require("semver"));
|
|
44
|
+
function findPackageJsonWithVKUI(startDir) {
|
|
45
|
+
var currentDir = startDir;
|
|
46
|
+
while (currentDir !== path.parse(currentDir).root) {
|
|
47
|
+
var packageJsonPath = path.join(currentDir, 'package.json');
|
|
48
|
+
if (fs_1.default.existsSync(packageJsonPath)) {
|
|
49
|
+
var vkuiVersion = getVKUIVersion(packageJsonPath);
|
|
50
|
+
if (vkuiVersion) {
|
|
51
|
+
return packageJsonPath;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
currentDir = path.dirname(currentDir);
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
function getVKUIVersion(packageJsonPath) {
|
|
59
|
+
var packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
|
|
60
|
+
var dependencies = __assign(__assign({}, packageJson.dependencies), packageJson.devDependencies);
|
|
61
|
+
return dependencies['@vkontakte/vkui'];
|
|
62
|
+
}
|
|
63
|
+
function getMajorVersion(version) {
|
|
64
|
+
var parsed = semver.valid(semver.coerce(version));
|
|
65
|
+
return parsed ? semver.major(parsed) : null;
|
|
66
|
+
}
|
|
67
|
+
function autoDetectVKUIVersion() {
|
|
68
|
+
var startDir = process.cwd();
|
|
69
|
+
var packageJsonPath = findPackageJsonWithVKUI(startDir);
|
|
70
|
+
if (packageJsonPath) {
|
|
71
|
+
var vkuiVersion = getVKUIVersion(packageJsonPath);
|
|
72
|
+
if (vkuiVersion) {
|
|
73
|
+
return String(getMajorVersion(vkuiVersion));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
}
|
package/dist/cli.js
CHANGED
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g =
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -43,9 +43,10 @@ exports.runCli = void 0;
|
|
|
43
43
|
var chalk_1 = __importDefault(require("chalk"));
|
|
44
44
|
var commander_1 = require("commander");
|
|
45
45
|
var prompts_1 = __importDefault(require("prompts"));
|
|
46
|
+
var autoDetectVKUIVersion_1 = require("./autoDetectVKUIVersion");
|
|
46
47
|
var getAvailableCodemods_js_1 = __importDefault(require("./getAvailableCodemods.js"));
|
|
47
|
-
var logger_js_1 = __importDefault(require("./helpers/logger.js"));
|
|
48
48
|
var package_json_1 = __importDefault(require("../package.json"));
|
|
49
|
+
var logger_js_1 = __importDefault(require("./helpers/logger.js"));
|
|
49
50
|
var trimStringValue = function (value) {
|
|
50
51
|
return typeof value === 'string' ? value.trim() : value;
|
|
51
52
|
};
|
|
@@ -71,7 +72,7 @@ var promptAvailableCodemods = function (codemods) { return __awaiter(void 0, voi
|
|
|
71
72
|
});
|
|
72
73
|
}); };
|
|
73
74
|
var runCli = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
74
|
-
var program, options, codemodName, codemods, codemods;
|
|
75
|
+
var program, options, codemodName, transformsVersion, codemods, codemods;
|
|
75
76
|
return __generator(this, function (_a) {
|
|
76
77
|
switch (_a.label) {
|
|
77
78
|
case 0:
|
|
@@ -81,6 +82,7 @@ var runCli = function () { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
81
82
|
.usage("".concat(chalk_1.default.green('[codemod-name]')))
|
|
82
83
|
.option('-l --list', 'list available codemods')
|
|
83
84
|
.option('--all', 'apply all available codemods')
|
|
85
|
+
.option('-tv --transforms-version <transformsVersion>', 'vkui major version transforms (available versions: "6", "7")')
|
|
84
86
|
.option('-p --path <paths>', 'path to files in which to apply the codemods')
|
|
85
87
|
.option('--dry-run', 'no changes are made to files')
|
|
86
88
|
.option('--ignore-config <config>', 'ignore files if they match patterns sourced from a configuration file (e.g. a .gitignore)')
|
|
@@ -92,13 +94,18 @@ var runCli = function () { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
92
94
|
.parse(process.argv);
|
|
93
95
|
options = program.opts();
|
|
94
96
|
codemodName = program.args[0];
|
|
97
|
+
transformsVersion = options.transformsVersion || (0, autoDetectVKUIVersion_1.autoDetectVKUIVersion)();
|
|
98
|
+
if (!transformsVersion) {
|
|
99
|
+
logger_js_1.default.error('Problem determining the major version of vkui, try specifying it using the --transforms-version');
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
95
102
|
if (options.list) {
|
|
96
|
-
codemods = (0, getAvailableCodemods_js_1.default)();
|
|
103
|
+
codemods = (0, getAvailableCodemods_js_1.default)(transformsVersion);
|
|
97
104
|
logger_js_1.default.info(codemods);
|
|
98
105
|
process.exit(0);
|
|
99
106
|
}
|
|
100
107
|
if (!(!codemodName && !options.all)) return [3 /*break*/, 2];
|
|
101
|
-
codemods = (0, getAvailableCodemods_js_1.default)();
|
|
108
|
+
codemods = (0, getAvailableCodemods_js_1.default)(transformsVersion);
|
|
102
109
|
return [4 /*yield*/, promptAvailableCodemods(codemods)];
|
|
103
110
|
case 1:
|
|
104
111
|
codemodName = _a.sent();
|
|
@@ -106,6 +113,7 @@ var runCli = function () { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
106
113
|
case 2: return [2 /*return*/, {
|
|
107
114
|
flags: options,
|
|
108
115
|
codemodName: codemodName,
|
|
116
|
+
transformsVersion: transformsVersion,
|
|
109
117
|
}];
|
|
110
118
|
}
|
|
111
119
|
});
|
package/dist/codemod-helpers.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createAttributeManipulator = exports.
|
|
3
|
+
exports.createAttributeManipulator = exports.removeAttribute = void 0;
|
|
4
|
+
exports.getImportInfo = getImportInfo;
|
|
5
|
+
exports.renameProp = renameProp;
|
|
6
|
+
exports.swapBooleanValue = swapBooleanValue;
|
|
4
7
|
var report_1 = require("./report");
|
|
5
8
|
function getImportInfo(j, file, componentName, alias) {
|
|
6
9
|
var source = j(file.source);
|
|
@@ -15,7 +18,6 @@ function getImportInfo(j, file, componentName, alias) {
|
|
|
15
18
|
});
|
|
16
19
|
return { localName: localImportName };
|
|
17
20
|
}
|
|
18
|
-
exports.getImportInfo = getImportInfo;
|
|
19
21
|
function renameProp(j, source, componentName, renameMap) {
|
|
20
22
|
var from = Object.keys(renameMap);
|
|
21
23
|
return source
|
|
@@ -30,7 +32,6 @@ function renameProp(j, source, componentName, renameMap) {
|
|
|
30
32
|
j(attribute).replaceWith(j.jsxAttribute(j.jsxIdentifier(renameMap[attribute.node.name.name]), attribute.node.value));
|
|
31
33
|
});
|
|
32
34
|
}
|
|
33
|
-
exports.renameProp = renameProp;
|
|
34
35
|
function swapBooleanValue(api, source, componentName, previousPropName, currentPropName) {
|
|
35
36
|
var j = api.jscodeshift;
|
|
36
37
|
source
|
|
@@ -55,7 +56,10 @@ function swapBooleanValue(api, source, componentName, previousPropName, currentP
|
|
|
55
56
|
}
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
+
var removeAttribute = function (attributes, attribute) {
|
|
60
|
+
attributes === null || attributes === void 0 ? void 0 : attributes.splice(attributes === null || attributes === void 0 ? void 0 : attributes.indexOf(attribute), 1);
|
|
61
|
+
};
|
|
62
|
+
exports.removeAttribute = removeAttribute;
|
|
59
63
|
var createAttributeManipulator = function (props, api) {
|
|
60
64
|
var map = new Map(Object.entries(props));
|
|
61
65
|
return {
|
|
@@ -1,10 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.TRANSFORM_DIR = void 0;
|
|
30
|
+
exports.default = getAvailableCodemods;
|
|
7
31
|
var fs_1 = __importDefault(require("fs"));
|
|
32
|
+
var path = __importStar(require("path"));
|
|
8
33
|
exports.TRANSFORM_DIR = "".concat(__dirname, "/transforms");
|
|
9
34
|
var CODEMODS = [];
|
|
10
35
|
var swapElementsOfArray = function (a, b, array) {
|
|
@@ -16,15 +41,17 @@ var swapElementsOfArray = function (a, b, array) {
|
|
|
16
41
|
array[b] = valueA;
|
|
17
42
|
array[a] = valueB;
|
|
18
43
|
};
|
|
19
|
-
function getAvailableCodemods(dirname) {
|
|
44
|
+
function getAvailableCodemods(version, dirname) {
|
|
20
45
|
if (dirname === void 0) { dirname = exports.TRANSFORM_DIR; }
|
|
21
46
|
if (CODEMODS.length === 0) {
|
|
47
|
+
var transformsPath = path.join(dirname, "v".concat(version));
|
|
22
48
|
CODEMODS = fs_1.default
|
|
23
|
-
.readdirSync(
|
|
49
|
+
.readdirSync(transformsPath)
|
|
24
50
|
.filter(function (fname) { return fname.endsWith('.js') || fname.endsWith('.ts'); })
|
|
25
51
|
.map(function (fname) { return fname.slice(0, -3); });
|
|
26
|
-
|
|
52
|
+
if (version === '6') {
|
|
53
|
+
swapElementsOfArray(CODEMODS.findIndex(function (fname) { return fname === 'text-tooltip'; }), CODEMODS.findIndex(function (fname) { return fname === 'tooltip'; }), CODEMODS);
|
|
54
|
+
}
|
|
27
55
|
}
|
|
28
56
|
return CODEMODS;
|
|
29
57
|
}
|
|
30
|
-
exports.default = getAvailableCodemods;
|
package/dist/index.js
CHANGED
|
@@ -33,8 +33,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
35
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
-
return g =
|
|
36
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
37
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
38
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
39
|
function step(op) {
|
|
40
40
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -78,7 +78,7 @@ var prompts_1 = __importDefault(require("prompts"));
|
|
|
78
78
|
var cli_js_1 = require("./cli.js");
|
|
79
79
|
var getAvailableCodemods_js_1 = __importStar(require("./getAvailableCodemods.js"));
|
|
80
80
|
var logger_js_1 = __importDefault(require("./helpers/logger.js"));
|
|
81
|
-
function runJSCodeShift(codemodName, workingDirectory, flags) {
|
|
81
|
+
function runJSCodeShift(codemodName, transformsVersion, workingDirectory, flags) {
|
|
82
82
|
var args = ['--parser=tsx', '--extensions=tsx,ts', "--alias=".concat(flags.alias)];
|
|
83
83
|
if (flags.dryRun) {
|
|
84
84
|
args.push('--dry');
|
|
@@ -94,7 +94,7 @@ function runJSCodeShift(codemodName, workingDirectory, flags) {
|
|
|
94
94
|
'--no-babel',
|
|
95
95
|
'--fail-on-error',
|
|
96
96
|
'-t',
|
|
97
|
-
"".concat(getAvailableCodemods_js_1.TRANSFORM_DIR, "/").concat(codemodName, ".js")
|
|
97
|
+
"".concat(getAvailableCodemods_js_1.TRANSFORM_DIR, "/v").concat(transformsVersion, "/").concat(codemodName, ".js")
|
|
98
98
|
], args, true), [
|
|
99
99
|
workingDirectory,
|
|
100
100
|
], false), {
|
|
@@ -130,16 +130,17 @@ function promptConfirmation() {
|
|
|
130
130
|
});
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
|
-
function verifyConfiguration(
|
|
134
|
-
return __awaiter(this,
|
|
133
|
+
function verifyConfiguration(_a) {
|
|
134
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
135
135
|
var confirmed;
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
var workingDirectory = _b.workingDirectory, transformsVersion = _b.transformsVersion, codemodName = _b.codemodName;
|
|
137
|
+
return __generator(this, function (_c) {
|
|
138
|
+
switch (_c.label) {
|
|
138
139
|
case 0:
|
|
139
|
-
logger_js_1.default.info("Please ".concat(chalk_1.default.cyan('verify'), " the following information:\n working directory: ").concat(workingDirectory, "\n codemod to apply: ").concat(codemodName ? codemodName : chalk_1.default.red('all'), "\n "));
|
|
140
|
+
logger_js_1.default.info("Please ".concat(chalk_1.default.cyan('verify'), " the following information:\n working directory: ").concat(workingDirectory, "\n target major vkui version: ").concat(transformsVersion, "\n codemod to apply: ").concat(codemodName ? codemodName : chalk_1.default.red('all'), "\n "));
|
|
140
141
|
return [4 /*yield*/, promptConfirmation()];
|
|
141
142
|
case 1:
|
|
142
|
-
confirmed =
|
|
143
|
+
confirmed = _c.sent();
|
|
143
144
|
if (!confirmed) {
|
|
144
145
|
logger_js_1.default.info('Exiting without changes...');
|
|
145
146
|
process.exit(0);
|
|
@@ -150,21 +151,25 @@ function verifyConfiguration(workingDirectory, codemodName) {
|
|
|
150
151
|
});
|
|
151
152
|
}
|
|
152
153
|
var run = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
153
|
-
var _a, flags, codemodName, workingDirectory, codemodes, codemodes;
|
|
154
|
+
var _a, flags, codemodName, transformsVersion, workingDirectory, codemodes, codemodes;
|
|
154
155
|
return __generator(this, function (_b) {
|
|
155
156
|
switch (_b.label) {
|
|
156
157
|
case 0: return [4 /*yield*/, (0, cli_js_1.runCli)()];
|
|
157
158
|
case 1:
|
|
158
|
-
_a = _b.sent(), flags = _a.flags, codemodName = _a.codemodName;
|
|
159
|
+
_a = _b.sent(), flags = _a.flags, codemodName = _a.codemodName, transformsVersion = _a.transformsVersion;
|
|
159
160
|
workingDirectory = flags.path ? flags.path : process.cwd();
|
|
160
161
|
if (!(codemodName && workingDirectory)) return [3 /*break*/, 4];
|
|
161
|
-
codemodes = (0, getAvailableCodemods_js_1.default)();
|
|
162
|
+
codemodes = (0, getAvailableCodemods_js_1.default)(transformsVersion);
|
|
162
163
|
if (!codemodes.includes(codemodName)) return [3 /*break*/, 3];
|
|
163
|
-
return [4 /*yield*/, verifyConfiguration(
|
|
164
|
+
return [4 /*yield*/, verifyConfiguration({
|
|
165
|
+
workingDirectory: workingDirectory,
|
|
166
|
+
transformsVersion: transformsVersion,
|
|
167
|
+
codemodName: codemodName,
|
|
168
|
+
})];
|
|
164
169
|
case 2:
|
|
165
170
|
_b.sent();
|
|
166
171
|
logger_js_1.default.info("\n 🚀 Let's go!");
|
|
167
|
-
runJSCodeShift(codemodName, workingDirectory, flags);
|
|
172
|
+
runJSCodeShift(codemodName, transformsVersion, workingDirectory, flags);
|
|
168
173
|
return [3 /*break*/, 4];
|
|
169
174
|
case 3:
|
|
170
175
|
logger_js_1.default.error("Codemod ".concat(codemodName, " doesn't exist. Please check the available codemods by running with --list option"));
|
|
@@ -172,18 +177,18 @@ var run = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
|
172
177
|
_b.label = 4;
|
|
173
178
|
case 4:
|
|
174
179
|
if (!(flags.all && workingDirectory)) return [3 /*break*/, 6];
|
|
175
|
-
return [4 /*yield*/, verifyConfiguration(workingDirectory)];
|
|
180
|
+
return [4 /*yield*/, verifyConfiguration({ workingDirectory: workingDirectory, transformsVersion: transformsVersion })];
|
|
176
181
|
case 5:
|
|
177
182
|
_b.sent();
|
|
178
183
|
logger_js_1.default.info("\n 🚀 Let's go!");
|
|
179
|
-
codemodes = (0, getAvailableCodemods_js_1.default)();
|
|
184
|
+
codemodes = (0, getAvailableCodemods_js_1.default)(transformsVersion);
|
|
180
185
|
codemodes.forEach(function (codemod) {
|
|
181
186
|
logger_js_1.default.info("Codemod ".concat(codemod, " in process..."));
|
|
182
|
-
runJSCodeShift(codemod, workingDirectory, flags);
|
|
187
|
+
runJSCodeShift(codemod, transformsVersion, workingDirectory, flags);
|
|
183
188
|
});
|
|
184
189
|
_b.label = 6;
|
|
185
190
|
case 6:
|
|
186
|
-
logger_js_1.default.info("\n All done! Please check that everything is applied correctly
|
|
191
|
+
logger_js_1.default.info("\n All done! Please check that everything is applied correctly.\n If it's not the case - feel free to contact VKUI Team.\n Do not forget to run ".concat(chalk_1.default.cyan.bold('prettier'), " to eliminate unwanted code formatting after applying migrations.\n Happy coding with ").concat(chalk_1.default.green.bold("v".concat(transformsVersion)), "!"));
|
|
187
192
|
return [2 /*return*/];
|
|
188
193
|
}
|
|
189
194
|
});
|
package/dist/report.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.report =
|
|
6
|
+
exports.report = report;
|
|
7
7
|
var chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
var package_json_1 = __importDefault(require("../package.json"));
|
|
9
9
|
function report(api, message) {
|
|
@@ -16,4 +16,3 @@ function report(api, message) {
|
|
|
16
16
|
console.warn(finalMessage);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
exports.report = report;
|
|
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.applyTransform = void 0;
|
|
7
|
+
exports.getTestFixturesInputPath = getTestFixturesInputPath;
|
|
8
|
+
exports.defineSnapshotTestFromFixture = defineSnapshotTestFromFixture;
|
|
7
9
|
/**
|
|
8
10
|
* Файл для упрощенной работы с дефолтными функциями запуска `jscodeshift`
|
|
9
11
|
*/
|
|
@@ -15,7 +17,6 @@ function getTestFixturesInputPath(dirName, testFilePrefix, extension) {
|
|
|
15
17
|
var fixtureDir = path_1.default.join(dirName, '..', '__testfixtures__');
|
|
16
18
|
return path_1.default.join(fixtureDir, testFilePrefix + ".input.".concat(extension));
|
|
17
19
|
}
|
|
18
|
-
exports.getTestFixturesInputPath = getTestFixturesInputPath;
|
|
19
20
|
/**
|
|
20
21
|
* У оригинального defineSnapshotTestFromFixture нет типов
|
|
21
22
|
* Избавляемся от необходимости в тестах постоянно указывать `module`
|
|
@@ -25,4 +26,3 @@ function defineSnapshotTestFromFixture(dirName, transformName, options, testFile
|
|
|
25
26
|
var module = require(path_1.default.join(dirName, '..', transformName));
|
|
26
27
|
(0, testUtils_1.defineSnapshotTestFromFixture)(dirName, module, options, testFilePrefix, 'transforms correctly', { parser: 'tsx' });
|
|
27
28
|
}
|
|
28
|
-
exports.defineSnapshotTestFromFixture = defineSnapshotTestFromFixture;
|
|
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parser = void 0;
|
|
7
|
+
exports.default = transformer;
|
|
7
8
|
var chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
var codemod_helpers_1 = require("
|
|
9
|
-
var report_1 = require("
|
|
9
|
+
var codemod_helpers_1 = require("../../codemod-helpers");
|
|
10
|
+
var report_1 = require("../../report");
|
|
10
11
|
exports.parser = 'tsx';
|
|
11
12
|
function transformer(file, api, options) {
|
|
12
13
|
var alias = options.alias;
|
|
@@ -25,4 +26,3 @@ function transformer(file, api, options) {
|
|
|
25
26
|
}
|
|
26
27
|
return source.toSource();
|
|
27
28
|
}
|
|
28
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
function transformer(file, api, options) {
|
|
7
8
|
var alias = options.alias;
|
|
@@ -13,4 +14,3 @@ function transformer(file, api, options) {
|
|
|
13
14
|
}
|
|
14
15
|
return source.toSource();
|
|
15
16
|
}
|
|
16
|
-
exports.default = transformer;
|
|
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parser = void 0;
|
|
7
|
+
exports.default = transformer;
|
|
7
8
|
var chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
var codemod_helpers_1 = require("
|
|
9
|
-
var report_1 = require("
|
|
9
|
+
var codemod_helpers_1 = require("../../codemod-helpers");
|
|
10
|
+
var report_1 = require("../../report");
|
|
10
11
|
exports.parser = 'tsx';
|
|
11
12
|
function transformer(file, api, options) {
|
|
12
13
|
var alias = options.alias;
|
|
@@ -45,4 +46,3 @@ function transformer(file, api, options) {
|
|
|
45
46
|
});
|
|
46
47
|
return source.toSource();
|
|
47
48
|
}
|
|
48
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
function replaceInArrayExpression(j, path) {
|
|
7
8
|
j(path)
|
|
@@ -48,4 +49,3 @@ function transformer(file, api, options) {
|
|
|
48
49
|
});
|
|
49
50
|
return source.toSource();
|
|
50
51
|
}
|
|
51
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
function transformer(file, api, options) {
|
|
7
8
|
var alias = options.alias;
|
|
@@ -21,4 +22,3 @@ function transformer(file, api, options) {
|
|
|
21
22
|
});
|
|
22
23
|
return source.toSource();
|
|
23
24
|
}
|
|
24
|
-
exports.default = transformer;
|
|
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parser = void 0;
|
|
7
|
+
exports.default = transformer;
|
|
7
8
|
var chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
var codemod_helpers_1 = require("
|
|
9
|
-
var report_1 = require("
|
|
9
|
+
var codemod_helpers_1 = require("../../codemod-helpers");
|
|
10
|
+
var report_1 = require("../../report");
|
|
10
11
|
exports.parser = 'tsx';
|
|
11
12
|
function transformer(file, api, options) {
|
|
12
13
|
var alias = options.alias;
|
|
@@ -24,4 +25,3 @@ function transformer(file, api, options) {
|
|
|
24
25
|
}
|
|
25
26
|
return source.toSource();
|
|
26
27
|
}
|
|
27
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
var RENAME_MAP = {
|
|
7
8
|
prevMonthAriaLabel: 'prevMonthLabel',
|
|
@@ -20,4 +21,3 @@ function transformer(file, api, options) {
|
|
|
20
21
|
}
|
|
21
22
|
return source.toSource();
|
|
22
23
|
}
|
|
23
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
var RENAME_MAP = {
|
|
7
8
|
prevMonthAriaLabel: 'prevMonthLabel',
|
|
@@ -22,4 +23,3 @@ function transformer(file, api, options) {
|
|
|
22
23
|
}
|
|
23
24
|
return source.toSource();
|
|
24
25
|
}
|
|
25
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
function transformer(file, api, options) {
|
|
7
8
|
var alias = options.alias;
|
|
@@ -13,4 +14,3 @@ function transformer(file, api, options) {
|
|
|
13
14
|
}
|
|
14
15
|
return source.toSource();
|
|
15
16
|
}
|
|
16
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
var RENAME_MAP = {
|
|
7
8
|
removeAriaLabel: 'removeLabel',
|
|
@@ -16,4 +17,3 @@ function transformer(file, api, options) {
|
|
|
16
17
|
}
|
|
17
18
|
return source.toSource();
|
|
18
19
|
}
|
|
19
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
var RENAME_MAP = {
|
|
7
8
|
inputAriaLabel: 'placeholder',
|
|
@@ -16,4 +17,3 @@ function transformer(file, api, options) {
|
|
|
16
17
|
}
|
|
17
18
|
return source.toSource();
|
|
18
19
|
}
|
|
19
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
var ALLOWED_PLATFORM_LIST = ['android', 'ios', 'vkcom'];
|
|
6
7
|
var wrapUnknownPlatformToVKUITokensClassName = function (unknownPlatform, appearance) { return "vkui--".concat(unknownPlatform, "--").concat(appearance); };
|
|
7
8
|
exports.parser = 'tsx';
|
|
@@ -88,4 +89,3 @@ function transformer(file, api, options) {
|
|
|
88
89
|
}
|
|
89
90
|
return source.toSource();
|
|
90
91
|
}
|
|
91
|
-
exports.default = transformer;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
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
6
|
exports.parser = 'tsx';
|
|
6
7
|
function transformer(file, api, options) {
|
|
7
8
|
var alias = options.alias;
|
|
@@ -21,4 +22,3 @@ function transformer(file, api, options) {
|
|
|
21
22
|
});
|
|
22
23
|
return source.toSource();
|
|
23
24
|
}
|
|
24
|
-
exports.default = transformer;
|