Мощный плагин Eslint с правилами, которые помогут вам достичь масштабируемого, последовательного и хорошо структурированного проекта.
Создайте свою собственную структуру! Определите структуру папок, состав файла, расширенные соглашения об именах и создайте независимые модули.
Выведите свой проект на следующий уровень и сэкономьте время, автоматизируя обзор ключевых принципов здорового проекта!
? Общая информация
? Игровая площадка для правил структуры Eslint-Plugin-проекта.
Проверьте последние релизы и оставайтесь в курсе новых функций и изменений.
Станьте частью сообщества! Оставьте и поделитесь ссылкой со своими друзьями.
Если у вас есть какие -либо вопросы или вам нужна помощь в создании конфигурации, которая соответствует вашим требованиям, помогите.
Если вы нашли ошибку или ошибку в документации, сообщите о проблемах.
Если у вас есть идея для новой функции или улучшение существующей, идеи.
Если вы заинтересованы в обсуждении структур проектов в разных рамках или хотите проголосовать за предлагаемую идею, обсуждения.
Документация
Проектная структура/структура папок
Проектная структура/независимые модулы
Проект-структура/состав файла
Проектная структура/структура папки
Применение правил в структуре папок, чтобы ваш проект был последовательным, упорядоченным и хорошо продуманным.
Функции:
Проверка структуры папок. Любые файлы/папки вне структуры будут считаться ошибкой.
Файл/имен папки проверка режима с такими функциями, как подстановочный знак * и лечение . как персонаж, наряду с другими удобствами.
Построить в случае проверки.
Унаследовать имя папки. Файл/папка наследует имя папки, в которой он находится. Вариант добавления собственных префиксов/суффиксов или изменения случая.
Обеспечение существования файлов/папок, когда существует конкретный файл/папка. Например, если ./src/Component.tsx существует, то ./src/Component.test.tsx и ./src/stories/Component.stories.tsx также должен существовать.
Правила многоразового использования для структур папок.
Опция для создания отдельного файла конфигурации с поддержкой TypeScript.
Принуждение вложенной/плоской структуры для данной папки.
Поддержка всех расширений файлов.
Рекурсия папки. Вы можете неоднократно гнетать структуру папки и установить предел на глубину гнездования. Существует также возможность изменить правило на конечном уровне, например, сглаживание структуры папок.
Меньше повторений и точных сообщений об ошибках, даже для глубоко вложенных папок (рекурсия), представляя структуру папки в качестве дерева.
Проверка длины пути и уведомление, когда предел превышен.
Проектная структура/независимые модули
Ключевым принципом здорового проекта является предотвращение создания массивного дерева зависимости, где удаление или редактирование одной функции вызывает цепную реакцию, которая влияет на весь проект.
Создайте модули, в которых вы управляете тем, что можно импортировать в них. Устранение ненужных зависимостей между папками или файлами для создания действительно независимых функций.
Функции:
Создание модулей, в которые вы управляете тем, что можно импортировать (например, типы, функции, компоненты одной функции, не могут быть импортированы в другую функциональность).
Возможность создавать очень подробные правила, даже для вложенных структур папок. Будь то большой модуль, подмодуль или один файл, нет никаких ограничений.
Поддержка всех типов импорта, в том числе require() , import() , jest.mock() и jest.requireActual() , а также ExportAllDeclaration и ExportNamedDeclaration .
Отключение внешнего импорта (node_modules) для данного модуля (опция для добавления исключений).
Неотносяная/относительная поддержка импорта.
Встроенный импортный резолвер, поэтому вам не нужно устанавливать дополнительные плагины. Он также включает в себя встроенную конфигурацию для самых популярных расширений файлов, поэтому вам не нужно настраивать что-либо вручную.
Многоразовый импорт.
Поддержка псевдонимов пути. Плагин автоматически обнаружит ваш tsconfig.json и использовать ваши настройки. Есть также возможность ввести их вручную.
Опция для создания отдельного файла конфигурации с поддержкой TypeScript.
Проектная структура/файловая композиция
Составьте свои идеальные файлы!
Полный контроль над порядком и количеством селекторов.
Определите расширенные соглашения об именах и запретите использование конкретных селекторов в данных файлах.
Функции:
Проверка композиции файла.
Поддерживаемые селекторы: class , function , arrowFunction , type , interface , enum , variable , variableExpression , propertyDefinition .
Унаследование имени файла в качестве имени селектора. Возможно, добавить свои собственные префиксы/суффиксы, изменить корпус или удалить части имени файла.
Запретить использование заданных селекторов в данном файле. Например, **/*.consts.ts Файлы могут содержать только переменные, **/*.types.ts Файлы могут содержать только интерфейсы и типы.
Определите порядок, в котором ваши селекторы должны отображаться в данном файле. Поддержка --fix для автоматического исправления порядка.
Правила для экспортируемых селекторов, селекторы в корне файла и вложенные/все селекторы в файле. Их можно использовать вместе в комбинации.
Обеспечение максимума одного основного компонента/функции/класса на файл.
Возможность установить конкретный ограничение на возникновение определенных селекторов в корне данного файла.
Отключение имени выбора валидации.
Построить в случае проверки.
Различные правила для разных файлов.
Опция для создания отдельного файла конфигурации с поддержкой TypeScript.
Спонсоры
Большое спасибо всем спонсорам за вашу поддержку! Вы даете мне силы и мотивацию, чтобы продолжать идти!
Спасибо вам, я могу помочь другим создать их идеальные проекты!