Комментарии 12
Дополните заголовок словом "приложения"
Полезно, спасибо!
Попробуйте https://feature-sliced.design
Кажется данный подход хорошо подходит для изоляции слоев в feature-sliced?
Или там есть своя автоматизированная изоляция?
Там есть eslint
плагин, который ругается на неправильные импорты...
Изучил немного)
Если там линтер настраивается как описано тут, то они используют как раз схожий подход? Только с дополнительными апгрейдами)
Спасибо, возможно добавим ещё улучшений линтинга в наш проект!
Спасибо за статью!
Очень больная тема. Сам использую похожий механизм в Nx.
Хотелось бы инструмент, который бы умел в нескольких измерениях контролировать связи удобно.
Раньше не видел этой возможности nx, прикольно?
Нет проблем в проекте из-за index файлов?
Мы пока решили от них отказаться, так как с ними плохо отрабатывал tree shaking у webpack, и после отказа бандл сократился на ~30%)) Но в будущем попробуем вернуться к ним, когда наладим все связи между модулями, так как идея с публичным api пакета/модуля крайне верная)
Я занимаюсь серверной разработкой, поэтому с индекс-файлами не сражался.
Вебпак неправильно реэкспорта обрабатывает?
Не то чтобы неверно, но у него возникают сложности при оптимизации файлов с сайдэффектами https://webpack.js.org/guides/tree-shaking/
@fzkirablackwhy, какие преимущества у import/no-restricted-paths по сравнению со встроенным no-restricted-imports ?
Как правила линтинга влияют на архитектуру приложения