UNPKG

arui-presets-lint

Version:
52 lines (51 loc) 3.14 kB
// Поддерживаемые типы ESLint директив export const SUPPORTED_DIRECTIVES = [ 'eslint', 'eslint-disable', 'eslint-disable-line', 'eslint-disable-next-line', 'eslint-enable', 'eslint-env', ]; /** * Коллекция описаний для автодополнений в правилах ESLint. * Используется для предоставления пользователю готовых вариантов описаний при нарушении правила */ export const SUGGESTS_DESCRIPTION = { DEBUG: 'Используется временно для отладки', ABOVE_COMMENT: 'TODO: [ссылка на задачу] Описание', }; export const MESSAGE_IDS = { missingDescription: 'missingDescription', invalidDescription: 'invalidDescription', suggestDebug: 'suggestDebug', suggestAboveComment: 'suggestAboveComment', }; export const MESSAGES = { [MESSAGE_IDS.missingDescription]: 'Директива ESLint без описания. Добавьте описание после "--" или комментарий над директивой чтобы объяснить причину использования.\n' + '\nПримеры:\n' + '1. // eslint-disable-next-line правило -- причина отключения\n' + '2. /* eslint-disable правило -- объяснение необходимости */\n' + '3. /* eslint-env окружение -- описание контекста */\n' + '4. // причина отключения правила\n' + ' // eslint-disable-next-line правило\n' + '5. /*\n' + ' * Развернутое объяснение\n' + ' * и причины отключения\n' + ' */\n' + ' // eslint-disable-next-line правило', [MESSAGE_IDS.invalidDescription]: 'Описание слишком общее или неинформативное. Укажите конкретную причину.', [MESSAGE_IDS.suggestDebug]: `Добавить комментарий - "${SUGGESTS_DESCRIPTION.DEBUG}"`, [MESSAGE_IDS.suggestAboveComment]: `Добавить задачу (TODO) на исправление - "${SUGGESTS_DESCRIPTION.ABOVE_COMMENT}"`, }; export const DESCRIPTION_SEPARATOR = /\s-{2,}\s/u; // Регулярное выражение для разделения директивы и описания export const DESCRIPTION_REPLACEMENT = /\s-{2,}.*$/u; // Регулярное выражение для удаления существующего описания export const MIN_DESCRIPTION_LENGTH = 5; // мин. длина комментария export const FORBIDDEN_PATTERNS = [ /^\s*$/u, // пустые строки /^[\s\p{Punctuation}]*$/u, // только пробелы и пунктуация ]; export const MEANINGFUL_PATTERNS = [ /[a-zA-Zа-яА-Я]{2,}/u, // содержит слова из 2+ букв /\\d+/u, // содержит числа (возможно, номера задач) ];