Socket
Socket
Sign inDemoInstall

@tramvai/tools-migrate

Package Overview
Dependencies
Maintainers
2
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tramvai/tools-migrate

Утилита для выполнения миграции для трамвайный модулей.


Version published
Weekly downloads
612
decreased by-8.93%
Maintainers
2
Weekly downloads
 
Created
Source

Инструмент миграции кода

Утилита для выполнения миграции для трамвайный модулей.

Принцип работы:

  • в опубликованном модуле в папке __migrations__ находятся файлы миграций для выполнения
  • найденные и ранее не исполненные миграции выполняются
  • миграции могут изменять файлы 'package.json', 'tramvai.json' и исходный код проекта
  • после выполнения миграции информация о выполненной миграции добавится в файл '.tramvai-migrate-applied.json' в корень проекта
  • все измененные файлы после миграции добавляются в гит и комитятся как часть обновления пакетов

Отключение выполнения миграций

Для отключения миграций можно проставить переменную окружения SKIP_TRAMVAI_MIGRATIONS.

Добавление новой миграции

Добавить новую миграцию можно с помощью команды yarn generate:migration после чего потребуется указать имя пакета для которого предназначена миграция и имя новой миграции. Также для этого пакета потребуется добавить в package.json в поле files папку с собранными миграциями, если они не были указаны ранее:

"files": [
    "lib",
    "__migrations__"
],

Реализация миграции

Миграция представляет собой функцию, принимающую специальное апи с помощью которого можно осуществлять изменения кода или конфигов.

export interface Api {
  packageJSON: PackageJSON; // объект-представление корневого package.json
  tramvaiJSON: TramvaiJSON; // объект-представление файла tramvai.json или platform.json
  transform: (transformer: Transform, pathTransformer?: PathTransformer) => Promise<void>; // функция принимающая функцию-траснформер для jscodeshift и функцию-трансформер для переименования файлов
}

Трансформация кода осуществляется с помощью jscodeshift

FAQs

Package last updated on 03 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc