eslint проблема без посторонних зависимостей - PullRequest
0 голосов
/ 28 сентября 2018

У меня проблема с правилом eslint import/no-extraneous-dependencies

Что нужно сделать.Если файл js имеет импорт с пакетом, которого нет в ближайшем родительском файле package.json - показать ошибку.

Описание правила: https://github.com/benmosher/eslint-plugin-import/blob/HEAD/docs/rules/no-extraneous-dependencies.md

Проект очень прост: Структура папок:

./
├── eslintrc.js
├── index.html
├── index.js
└── package.json

0 directories, 4 files

Package.json:

{
  "name": "test",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "license": "ISC",
  "dependencies": {
    "jquery": "^3.3.1"
  },
  "devDependencies": {
    "eslint": "^5.6.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-jsx-a11y": "^6.1.1",
    "eslint-plugin-react": "^7.11.1"
  }
}

Мой eslintrc.js

module.exports = {
  parserOptions: {
    ecmaVersion: 6
  },
  extends: 'airbnb',
  plugins: ['import'],
  // custom rules
  'rules': {
    'import/no-unresolved': 0,
    'import/extensions': 0,
    "import/no-extraneous-dependencies": ["error",
      {
        "devDependencies": false, 
        "optionalDependencies": false, 
        "peerDependencies": false,
      }
     ]
  }
};

my index.js

import moment from 'moment';

moment();

moment нетв package.json, но когда я запускаю eslint с моим конфигом, ошибки не отображаются:

./node_modules/eslint/bin/eslint.js -c ./eslintrc.js ./index.js

Результат - ничего, но когда я изменяю eslintrc.js строку "devDependencies": true,,затем добавьте в index.js import 'eslint'; и повторите команду CLI, все работает как положено, и отображается сообщение об ошибке.

Что я делаю не так?

...