Как разрешить именовать свойства в camelCase в классах миксинах используя пакет @typescript-eslint
Для написания frontend используем Vue + TS и ESLint. Для соблюдения code style используем плагин @typescript-eslint.
Проблема заключается в том, пропсы пишутся в camelCase и при class style написании компонентов, они являются свойствами класса. А свойства в проекте принято писать в snake_case. Для файлов компонентов мы переопределили эти правила, но миксины имеют расширение .ts, а соответственно попадают под правила, не предназначенные для компонентов(.vue).
Возможно ли как-то решить эту проблему не добавляя использования camelCase в файлах .ts, что в дальнейшем потребует устного согласования именования свойств класса?
Ответы (1 шт):
Хороший вариант предложили в issue. Мне вариант очень понравился.
Идея заключается в том, чтобы именовать файлы с подрасширением(поправьте в комментарии если я не верно назвал нижеследующее) и в таком случае мы можем писать проще правила под файлы.
Пример:
Для классов-примесей используем расширение .mixin.ts.
files: ['*.mixin.ts'],
rules: {
'@typescript-eslint/naming-convention': [
'error',
{
selector: 'classProperty',
format: ['snake_case', 'camelCase'],
},
],
},