Как заставить eslint импортировать / сначала понять мои псевдонимы в веб-пакете? - PullRequest
0 голосов
/ 23 октября 2019

Я использую eslint-import-resolver-webpack, чтобы уведомить моего eslint о псевдонимах моего веб-пакета.

Однако у меня все еще остается одна проблема:
eslint сообщает: Absolute imports should come before relative imports. eslint(import/first)

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


Подробнее о моей настройке:

| source
 - | app
    - | containers
       - | CalendarContainer.js
| .eslintrc
| webpack.config.dev.js
| webpack.config.resolve.js

webpack.config.dev.js

const resolveConfig = require('./webpack.config.resolve')
const appConfig = {
  // lots of config,
  ...resolveConfig // to have the resolve key with aliases underneath
}
module.exports = [appConfig, ...]

webpack.config.resolve.js

const path = require('path');

module.exports = {
    resolve: {
        extensions: ['.js'],
        modules: ['node_modules'],
        alias: {
            '~containers': path.resolve(__dirname, 'source/app/containers'),
            // ...
        },
    },
};

.eslintrc

{  
  // ...
  "settings": {
    "import/resolver": {
      "webpack": {
        "config": "webpack.config.resolve.js"
      }
    }
  },
  // ...
}

CalendarContainer.js

import React, { useEffect, useState } from 'react';

import Button from '../Components/Button';
import SearchModalContainer from '~containers/SearchModalContainer';

Этоработает все отлично, за исключением строки с:
import SearchModalContainer from '~containers/SearchModalContainer';

Действительно, eslint все еще сообщает об ошибке с:
Absolute imports should come before relative imports.eslint(import/first)

Как я могу сделать eslintВы понимаете, что этот импорт является относительным, а не абсолютным?

(и я не хочу отключать это правило в конфигурации eslint)

...