tslint - источники импорта в группе должны быть в алфавитном порядке - PullRequest
0 голосов
/ 07 октября 2018

Я использую create-react-app установку с custom-react-scripts-ts.

Это мой компонент:

import * as React from "react";
import "./App.css"; // reset.css

import ErrorsContainer from "./components/Error/Container";
import Header from "./components/Header";
import { initStores } from "./stores";
import { Provider } from "mobx-react";
import typography from "./utils/typography";

// font styles
typography.injectStyles();

class App extends React.Component {
  public onErrorDismiss = () => {
    return null;
  };

  public render() {
    return (
      <Provider {...initStores()}>
        <div className="App">
          <Header foo="string" />
          <ErrorsContainer />
        </div>
      </Provider>
    );
  }
}

export default App;

Это ошибка компиляции, которую я получаю:

(7,1): источники импорта в группе должны быть в алфавитном порядке.

Это файл tslint.json, который я использую:

{
  "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
  "linterOptions": {
    "exclude": [
      "config/**/*.js",
      "node_modules/**/*.ts",
      "coverage/lcov-report/*.js"
    ]
  },
  "rules": {
    "interface-name": [true, "never-prefix"]
  }
}

Насколько я могу сказать, порядок импорта в порядке.Почему это не скомпилировать?

1 Ответ

0 голосов
/ 07 октября 2018

См. https://stackoverflow.com/a/41841149/7977208 для более полного ответа

Вы можете попытаться переопределить правило, добавив его в свой объект правил tslint.

"ordered-imports": [true, {
   "import-sources-order": "any",
   "named-imports-order": "case-insensitive"
}]

или, в качестве альтернативы, переместитеимпорт по строке 7

import { Provider } from "mobx-react";

в конец группы импорта, что должно соответствовать правилу

import ErrorsContainer from "./components/Error/Container";
import Header from "./components/Header";
import { initStores } from "./stores";
import typography from "./utils/typography";
import { Provider } from "mobx-react";

В алфавитном порядке, в этом контексте, '.'перед 'm'.

В зависимости от вашего редактора, возможно, имеется расширение, позволяющее автоматически сортировать ваши операторы импорта для вас.

...