📦 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 👏👏👏
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
Has anyone had any experience using Syntax Tree to create codemods? I have used Synvert in the past, but wondering if Syntax Tree is also capable of playing that role. #formatting #codemod #refactoring
Мощь AST в действии, или как переписать код 10 летней давности на ES6-модули и ничего не сломать
Всем привет! Меня зовут Кирилл и я работаю фронтенд-разработчиком. Я расскажу о том, как мы перевели несколько тысяч файлов, написанных на JavaScript, с легаси кода, который использовал goog.module , на новые ES6-модули с помощью построения и преобразования абстрактного синтаксического дерева. Эта статья будет полезна тем, у кого тоже возникла потребность в рефакторинге большого количества кода.
Принципы непрерывного рефакторинга
Работа со старым кодом для многих команд является частью повседневных обязанностей. За свою карьеру я видел и применял разные способы борьбы с тяжестью легаси. Они обычно сводились к одному из трёх основных сценариев: " Работает - не трогай! ": вообще забить на чистки и ничего не менять. В некоторых случаях валидный подход. Но в коде, который приходится менять хотя бы даже эпизодически (фиксы багов, мелкие доделки, смена окружения и т.п.), со временем неизбежно приводит к катастрофе. Вам надо что-то поменять в коде, и это оказывается невозможно сделать легко. Даже за тривиальные изменения приходится платить большой кровью. " Я прочитал Роберта Мартина ": включаем чистки в обычный код. Надеваем галстук бойскаута и чистим код прямо по ходу работы над текущими задачами. Отправляем его коллегам на ревью и ждём несколько дней, покуда они не разберутся, где заканчиваются рефакторинги и начинаются непосредственно изменения по задаче. Или же уходим по кривой дорожке рефакторингов в тёмный лес и продалбываем к чертям все изначальные сроки. Когда начинаешь приводить код к идеалу, не всегда бывает так легко остановиться! " Нужен порядок и учёт ": делаем отдельные коммиты с чистками, но нерегулярно - только когда в дело берётся соответствующий тикет. Правда, тикеты на рефакторинг почему-то регулярно получают самый низкий приоритет во время планирования и маринуются в беклоге месяцами. Но что уж тут поделать? Это всё ловушки! Все эти сценарии страдают одной общей проблемой: темп чисток неудовлетворительно низок. Код зарастает грязью и происходит неизбежная деградация. Задачи делаются всё медленнее, процент дефектов всё выше, отвращение от работы с кодом растёт, новички адаптируются всё медленнее и медленнее. Все несчастны и не знают, что делать. За прошедший год я нащупал и отточил ещё один подход, который лишён указанных недостатков. И теперь готов поделиться им с вами.
https://habr.com/ru/articles/774722/
#refactoring #clean_code #codemod #siebenapp #mikado_method #legacy_code
Working on the ember-addon-migrator (auto v1 to v2 conversion), I just added the ability for the rollup config to be transformed so that addons that provide things other than components can succeed their build phase.
Just a quick codemod! 🎉
#EmberJS #JavaScript #WebDev #Codemod #Node #NodeJS #Programming