Проект Linting React + Typescript с помощью ESlint - PullRequest
0 голосов
/ 23 мая 2019

Я читал в статье, что основная команда TypeScript, объясняющая ESLint, имеет более производительную архитектуру, чем TSLint. А с другой стороны, @typescript-eslint/parser делает более удобный AST, который работает лучше всего вместе с @typescript-eslint/eslint-plugin.

Теперь у меня такое ощущение, что мой файл tslintrc не имеет хорошей настройки плагинов и расширений.

  • Хорошо ли следовать правилам Airbnb в tsx или просто следовать стандартным правилам?
  • Какова должна быть последовательность, включающая extends и plugins, чтобы они не перекрывали друг друга и получали из них наилучшие помехи и автоматическое исправление?
  • Приложение, созданное с помощью CRA yarn create react-app myapp --typescript и ничего не изменившее в tsconfig.json

Это мой .eslintrc.js

module.exports = {
    env: {
        browser: true,
        es6: true,
        node: true
    },
    parser: "@typescript-eslint/parser",
    extends: [
        "plugin:@typescript-eslint/recommended",
        "react-app",
        "plugin:prettier/recommended",
        "prettier",
        "prettier/react"
    ],
    globals: {
        Atomics: "readonly",
        SharedArrayBuffer: "readonly"
    },
    parserOptions: {
        ecmaFeatures: {
            tsx: true
        },
        ecmaVersion: 2018,
        sourceType: "module"
    },
    plugins: ["@typescript-eslint", "react", "prettier"],
    rules: {
        indent: ["error", "tab"],
        "linebreak-style": ["error", "unix"],
        quotes: ["error", "single"],
        semi: ["error", "always"]
    }
};

// and these parts in the VSCode setting
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        { "language": "typescript", "autoFix": true },
        { "language": "typescriptreact", "autoFix": true }
    ],
   "prettier.eslintIntegration": true,

Также, если кто-то знает хорошую настройку в проекте в GitHub / Gist, это будет приветствоваться.

1 Ответ

2 голосов
/ 23 мая 2019

Хорошо ли следовать правилам Airbnb в TSX или просто следовать стандартным правилам?

Зависит от ваших предпочтений. Там нет абсолюта. Посмотрите на правила, которые активируются в каждом из них, и решите сами. Руководство по стилю в AirBnB более ограничительно, кому-то может понравиться, а кому-то нет.

Какова должна быть последовательность включения расширений и плагинов, чтобы они не перекрывали друг друга и получали из них наилучшие помехи и автоматическое исправление?

Порядок не имеет значения, если правила не делают одно и то же - каждый плагин / расширение будет включать / выключать только свои собственные правила, и снова вам решать, какое из них вы выберете. Например, я стараюсь сделать все правила, связанные со стилем, красивее, и позволяю ESLint работать с правилами, связанными с lint.

...