ESLint правильно копирует мои файлы Typescript - PullRequest
0 голосов
/ 01 января 2019

У меня есть файлы .js (src / client / ...) и файлы .ts (src / server / ..)

Я установил следующие пакеты:

package.json

  "eslint": "^5.11.1",
  "eslint-config-airbnb-base": "^13.1.0",
  "eslint-config-typescript": "^1.1.0",
  "eslint-plugin-import": "^2.14.0",
  "eslint-plugin-typescript": "^0.14.0",
  ....
  "typescript": "^3.0.3",
  "typescript-eslint-parser": "^21.0.2",

И я определил следующую конфигурацию aslant в package.json

  "eslintConfig": {
    "extends": ["airbnb-base", "eslint:recommended", "typescript"],
    "env": { "es6": true, "browser": true },
    "parserOptions": { "parser": "typescript-eslint-parser" },
    "plugins": ["typescript"],
    "rules": {
      "no-unused-vars": ["error", { "vars": "all", "args": "after-used", "ignoreRestSiblings": false }],
      "no-var": ["off"],
      "one-var": ["off"],
      "prefer-destructuring": ["error", { "object": false, "array": false } ],
      "no-underscore-dangle": ["error", { "allow": ["__blogPostData"] }]
    }
  }

Затем я установил скрипт lint:

 "lint": "eslint src --fix",

В нем правильно перечислены все мои файлы .js, но я не вижу никаких предупреждений / ошибок в моих файлах .ts (я сомневаюсь, что они все хорошо написаны ...)

Я ошибаюсь или что-то пропустил вмои настройки eslint для машинописи?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

parser является элементом конфигурации корневого уровня, а не полем parserOptions:

 "eslintConfig": {
    "parser": "typescript-eslint-parser"
    "parserOptions": { ...options },
    "plugins": ["typescript"]
  }

Кроме того, используемый вами анализатор и плагин устарели.Новые / поддерживаемые проекты доступны по номеру https://github.com/typescript-eslint/typescript-eslint. (конфигурация та же, только с обновленными именами).Вот хороший пошаговый пошаговое руководство по настройке этого параметра - https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb

Обратите внимание, что вместо определения конфигурации eslint в package.json вместо этого можно использовать отдельный .eslintrc.{js,yaml},Один в корневом каталоге настроит ваши стандартные правила для JavaScript, а другой в ./src/server сможет настроить синтаксический анализатор и плагин TypeScript только для соответствующего каталога (но все же подберет все ваши стандартные корневые правила).

0 голосов
/ 01 января 2019

Вы должны использовать tslint для TypeScript, а не eslint:

npm i tslint --save

, после этого создайте tslint.json в корневом каталоге вашего проекта (или выберите его в Интернете с понравившимися вам правилами).Просто ссылка, которую я нашел в Google: ts lint setup

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...