Guide de migration de Node 22 à 24, avec des *codemods* qui sont des petits modules pour automatiser la migration de chaque *breaking change* automatiquement dans vos apps.
Guide de migration de Node 22 à 24, avec des *codemods* qui sont des petits modules pour automatiser la migration de chaque *breaking change* automatiquement dans vos apps.
Codemod в JavaScript: как менять сотни файлов кода с помощью jscodeshift
Всем привет! Меня зовут Саша. Я тимлид команды разработки личного кабинета пользователя в Банки.ру. В какой-то момент я понял, что мы тратим слишком много времени на однотипные изменения в коде: обновления зависимостей, правки после breaking changes, синхронизация между проектами. Всё это делается через поиск, регулярки и ручное редактирование и быстро начинает масштабироваться в боль. В статье разобрал, как можно подойти к этому иначе: использовать codemod и jscodeshift, чтобы автоматизировать такие изменения и применять их сразу ко всей кодовой базе. Как это работает через AST, и посмотрим на примере, как писать свои трансформации.
https://habr.com/ru/companies/banki/articles/1011580/
#codemod #jscodeshift #AST_JavaScript #рефакторинг_JavaScript #автоматический_рефакторинг_кода #AST_transformation #JavaScript_codemod #AST_Explorer #code_transformation #массовый_рефакторинг_кода
Một kỹ sư vừa phát triển công cụ viết lại cấu trúc nhỏ gọn, học các mẫu chuyển đổi từ các ví dụ trước-sau. Nó không dùng LLM hay regex, hoạt động tốt trong nhiều lĩnh vực như đại số, logic, và thậm chí tự động chuyển đổi mã (ví dụ: Lodash sang optional chaining). Mời mọi người thử nghiệm và tìm lỗi!
#côngnghệ #viếtlại #mãnguồn #AI #họcmáy #tech #rewriteengine #codemod #machinelearning #programming
https://www.reddit.com/r/LocalLLaMA/comments/1pflf9f/ive_been_experimenting_with_a_small_structura
📦 Express 5.1.0 is out!
✅ v5 is now the default on #npm
🛠️ New #codemod for easy migration from v4
📅 LTS timeline announced (including v4 EOL)
Big step for #express 👏👏👏
Express 5.1.0 is now the default on npm, and we're introducing an official LTS schedule for the v4 and v5 release lines.
Say hello to ember-vite-codemod! Bringing Vite to your Ember app is now just one command away 🐹 As part of the Ember Initiative, we built a codemod that upgrades classic Ember apps to Vite smoothly. Step-by-step, keeping Ember modern.
Read more on @BlueCut piece ➡️ https://mainmatter.com/blog/2025/03/10/ember-vite-codemod/
Weekly log about my work on the #EmberInitiative 🙌 a story of concurrency in tests:
#web #emberjs #codemod #embroider #vite #vitest #testem #concurrency
Мощь AST в действии, или как переписать код 10 летней давности на ES6-модули и ничего не сломать
Всем привет! Меня зовут Кирилл и я работаю фронтенд-разработчиком. Я расскажу о том, как мы перевели несколько тысяч файлов, написанных на JavaScript, с легаси кода, который использовал goog.module , на новые ES6-модули с помощью построения и преобразования абстрактного синтаксического дерева. Эта статья будет полезна тем, у кого тоже возникла потребность в рефакторинге большого количества кода.
Всем привет! Меня зовут Кирилл и я работаю фронтенд-разработчиком. Я расскажу о том, как мы перевели несколько тысяч файлов, написанных на JavaScript, с легаси кода, который использовал goog.module ,...
Принципы непрерывного рефакторинга
Работа со старым кодом для многих команд является частью повседневных обязанностей. За свою карьеру я видел и применял разные способы борьбы с тяжестью легаси. Они обычно сводились к одному из трёх основных сценариев: " Работает - не трогай! ": вообще забить на чистки и ничего не менять. В некоторых случаях валидный подход. Но в коде, который приходится менять хотя бы даже эпизодически (фиксы багов, мелкие доделки, смена окружения и т.п.), со временем неизбежно приводит к катастрофе. Вам надо что-то поменять в коде, и это оказывается невозможно сделать легко. Даже за тривиальные изменения приходится платить большой кровью. " Я прочитал Роберта Мартина ": включаем чистки в обычный код. Надеваем галстук бойскаута и чистим код прямо по ходу работы над текущими задачами. Отправляем его коллегам на ревью и ждём несколько дней, покуда они не разберутся, где заканчиваются рефакторинги и начинаются непосредственно изменения по задаче. Или же уходим по кривой дорожке рефакторингов в тёмный лес и продалбываем к чертям все изначальные сроки. Когда начинаешь приводить код к идеалу, не всегда бывает так легко остановиться! " Нужен порядок и учёт ": делаем отдельные коммиты с чистками, но нерегулярно - только когда в дело берётся соответствующий тикет. Правда, тикеты на рефакторинг почему-то регулярно получают самый низкий приоритет во время планирования и маринуются в беклоге месяцами. Но что уж тут поделать? Это всё ловушки! Все эти сценарии страдают одной общей проблемой: темп чисток неудовлетворительно низок. Код зарастает грязью и происходит неизбежная деградация. Задачи делаются всё медленнее, процент дефектов всё выше, отвращение от работы с кодом растёт, новички адаптируются всё медленнее и медленнее. Все несчастны и не знают, что делать. За прошедший год я нащупал и отточил ещё один подход, который лишён указанных недостатков. И теперь готов поделиться им с вами.
https://habr.com/ru/articles/774722/
#refactoring #clean_code #codemod #siebenapp #mikado_method #legacy_code