Как я могу автоматически исправить ошибки tslint в vuejs

Я запускаю vue-cli-service lint --fix в своем проекте vuejs/typescript. Как и ожидалось, большинство ошибок/предупреждений линтинга исправляются автоматически.

Но есть определенное правило tslint ("semicolon": [true, "always", "ignore-interfaces"]), которое я хочу автоматически исправить с помощью этой команды. Скажем, мой интерфейс typescript выглядит так (ожидаемый результат lint).

interface component {
    type: "input" | "dropdown" | "checkbox",
    hidden?: boolean
}

После запуска lint форматирует его следующим образом. Сообщение [eslint] Replace,with;(prettier/prettier)

interface component {
    type: "input" | "dropdown" | "checkbox";
    hidden?: boolean;
}

Я добавил это правило "semicolon": [true, "always", "ignore-interfaces"] в файл tslint, но это не меняет результат.


person Jeremy Walters    schedule 05.10.2018    source источник


Ответы (1)


Сообщение консоли ([eslint] Replace , with ; (prettier/prettier)) предполагает, что вы выбрали опцию ESLint + Prettier при создании проекта с помощью Vue CLI; но ESLint не поддерживает tslint.json из коробки (требуется плагин , но YMMV).

В качестве альтернативы можно переключиться на TSLint и отредактировать сгенерированный файл tslint.json, включив в него желаемое правило semicolon.

person tony19    schedule 07.10.2018
comment
Я попробовал этот плагин, но, похоже, он плохо сочетается с templates в файлах .vue. Также найдите это. github.com/vuejs/vue-cli/issues/761. Спасибо за ваш ответ. - person Jeremy Walters; 08.10.2018
comment
Похоже, это известная особенность Prettier. Неужели нельзя перегенерировать проект и выбрать вариант линтера TSLint? - person tony19; 08.10.2018
comment
Я могу, но на данный момент это тривиально. Я поиграю с github.com/alexjoverm/tslint-config-prettier . Но, глядя на проблемы с vue-cli, похоже, что он работает над созданием tslint-красивой части vue create. - person Jeremy Walters; 08.10.2018