TSLint недоволен не алфавитными источниками импорта - PullRequest
0 голосов
/ 09 марта 2019

У меня есть несколько источников импорта TypeScript, которые недовольны TSLint, потому что они явно не в алфавитном порядке.

import { DialogNoConfigurationFile } from './view/dialogs/dialog-no-configuration-file';
import { DisplayMain } from './view/display/display-main';
import { Global } from './business/global';
import { remote } from 'electron';
import { RequestResponse } from './data/model/request-response';
import { UserRequestResponse } from './data/model/user-request-response';

Сообщение об ошибке от TSLint:

ERROR: /home/myuser/Documents/myproject/administration2/src/app.tsx:11:1 - Import sources within a group must be alphabetized.
ERROR: /home/myuser/Documents/myproject/administration2/src/app.tsx:12:1 - Import sources within a group must be alphabetized.

Моя команда сценария package.json:

"lint": "tslint --project tsconfig.json --force"

Хотя TSLint недоволен Global и remote, с алфавитом все в порядке. Я считаю, что TSLint должен быть недоволен капитализацией или чем-то подобным. Есть ли какой-нибудь способ проверить, как TSLint алфавитизируется?

1 Ответ

0 голосов
/ 10 марта 2019

Вы можете запустить tslint с --fix для сортировки импорта:

npx tslint --fix --project tsconfig.json src/app.tsx

А если вы используете VS Code, есть расширение tslint, которое позволяет применять отдельные исправления.

Предполагая, что вы используете настройки по умолчанию для правила ordered-imports, ваш импорт должен быть в порядке при сортировке следующим образом: (абсолютный перед относительным)

import { remote } from 'electron';
import { Global } from './business/global';
import { RequestResponse } from './data/model/request-response';
import { UserRequestResponse } from './data/model/user-request-response';
import { DialogNoConfigurationFile } from './view/dialogs/dialog-no-configuration-file';
import { DisplayMain } from './view/display/display-main';

Для дополнительного импорта вы можете проверить документацию правила в https://palantir.github.io/tslint/rules/ordered-imports/:

Если параметры "groups" не заданы, используется группировка по умолчанию для сторонних, родительских каталогов и текущего каталога. ("bar", "../baz", "./foo".)

...