Derived Modular Arch
Инструменты

dma promote

Безопасно перенести folder-feature в services/ и переписать импорты (по умолчанию dry-run).

npx @derived-modular/cli promote <module> [path]
npx @derived-modular/cli promote <module> [path] --apply

Переносит папочный feature features/<name>/services/<name>/ и переписывает import-литералы, которые резолвятся в этот модуль. Нужен, когда срабатывает feature-has-inbound (другой модуль импортирует feature).

Безопасность

ЗащитаПоведение
По умолчаниюDry-run — план move + rewrite; диск не трогаем
--applyНужен для записи
Тип модуляТолько folder с public/; stage-0 file — отказ
ЦельAbort, если services/<name> уже есть
ScopeОдин app-пакет (есть src/); не multi-root
Post-checkПосле apply снова dma check; новые errors или оставшийся feature-has-inboundrollback snapshot

Не чистит public/ и не создаёт ports — API пересмотрите вручную после успешного promote. См. Эволюция кода.

Примеры

# Только план
npx @derived-modular/cli promote features/promo

# Запись + проверка
npx @derived-modular/cli promote promo --apply
npx @derived-modular/cli promote promo apps/web --apply --config ./dma.config.ts

<module>: promo, features/promo или src/features/promo.

Флаги

  • --apply — записать изменения
  • --config <file> — layout-конфиг для srcRoot

Не принимает --format, --roots, --include-packages.

Коды выхода

КодСмысл
0Dry-run ок, или apply + post-check ок
2Preflight, rewrite или откат после apply

Дальше

On this page