Коротка відповідь
juniorCodemod — це скрипт, що автоматично трансформує код за заданими правилами. Він застосовується під час міграцій, оновлень бібліотек або рефакторингу великого коду.
Повне пояснення
Codemod – це інструмент для автоматизованої трансформації коду. Зазвичай його пишуть на JavaScript/TypeScript, використовуючи бібліотеки як jscodeshift або recast. Скрипт приймає AST (Abstract Syntax Tree) файлів, шукає потрібні вузли і замінює їх на нові. Це корисно, коли треба одночасно змінити тисячі файлів: оновити синтаксис, замінити API, додати типи. Приклад:
module.exports = function transformer(fileInfo, api) {
const j = api.jscodeshift;
return j(fileInfo.source)
.find(j.Identifier, { name: 'oldFunc' })
.replaceWith(path => j.identifier('newFunc'))
.toSource();
};
Тестування codemod‑ів зазвичай роблять через jest або vitest, порівнюючи вихідний і очікуваний код. Codemod допомагає уникнути помилок ручного редагування і забезпечує консистентність у великому кодовому базі.