Node.js предлагает миграции для кода «userland» (всего, что вне исполняемого файла node), чтобы помочь внедрять новые возможности и справляться с ломающими изменениями. Они создаются в сотрудничестве с Codemod — платформой, ориентированной на то, чтобы легко создавать, публиковать и запускать codemod'ы.
Официальные миграции публикуются в скоупе @nodejs в реестре Codemod. Они проверены и/или написаны участниками Node.js.
Команда Node.js Userland Migrations стремится помогать разработчикам мигрировать их кодовые базы на последние версии Node.js, упрощая работу с устареваниями, новыми возможностями и ломающими изменениями.
Чтобы запустить codemod, выполните в терминале следующую команду:
npx codemod <codemod-name>Замените <codemod-name> на имя codemod'а, который хотите запустить. Например, чтобы запустить codemod @nodejs/import-assertions-to-attributes на своём проекте, выполните:
npx codemod @nodejs/import-assertions-to-attributes- Запускайте миграции в отдельной ветке: если вы используете систему контроля версий вроде Git, хорошая практика — запускать миграции в отдельной ветке. Это позволяет просмотреть изменения перед слиянием в основную ветку.
- Просматривайте изменения: после запуска миграции просмотрите внесённые в кодовую базу изменения. Убедитесь, что миграция не привнесла непреднамеренных побочных эффектов или проблем.
- Тестируйте свой код: после запуска миграции важно протестировать код, чтобы убедиться, что всё работает как ожидается. Прогоните набор тестов и проверьте, нет ли ошибок или падений.
- Форматируйте и/или линтуйте код: после запуска миграции хорошая практика — отформатировать и прогнать линтер по коду. Это гарантирует, что код соответствует стандартам оформления проекта и его проще читать и сопровождать.
Реестр Codemod предоставляет список доступных codemod'ов для Node.js. Некоторые codemod'ы могут не входить в перечисленные ниже ресурсы, но всё равно доступны, потому что не связаны с конкретной миграцией на определённую версию Node.js. Поскольку мы перечисляем только codemod'ы для устареваний End-Of-Life (EOL), возможно, вам придётся самостоятельно поискать в реестре другие codemod'ы, которые могут пригодиться для ваших миграций.
Обратите внимание: если вы залогинены на платформе Codemod, вы можете ставить лайки этим публикациям. Это помогает нам понять, что пользователи находят ценным.
Если у вас есть отзывы или предложения по улучшениям, пожалуйста, откройте обсуждение в репозитории Node.js Userland Migrations.
Отслеживать прогресс userland-миграций можно на нашей доске проекта в GitHub.
Эта доска отслеживает:
- Тип codemod'а (устаревание, ломающее изменение, экосистема)
- Версию Node.js
- Статус (backlog, todo, in progress, done, not planned) Если хотите внести вклад, смотрите колонку «todo»
Все гайды по миграциям можно найти в разделе гайдов по миграциям.
Также обратите внимание, что гайды по миграциям для переходов между мажорными версиями содержат только устаревания end-of-life и ломающие изменения.