Как создать eslint правило на запрет импорта определенного объекта из n пакета в файле, расположение которого не соответствует паттерну?

Предположим, есть npm-пакет "view-engine". В случае импорта объекта Engine:
import { Engine } from "view-engine"; должна быть вызвана ошибка, если файл, в котором импортируем Engine, расположен по пути, который НЕ соответствует паттерну, например: **/model/index.ts.


Ответы (1 шт):

Автор решения: yar85

Вроде так:

/* .... */
overrides: [
  {
    files: ['!**/model/index.ts'],
    rules: {
      'no-restricted-imports': ['error', { paths: [
        {
          name: 'view-engine',
          importNames: ['Engine'],
        },
      ]}],
    },
  },
],

// На всякий случай: это JS-формат конфига, не JSON :)

→ Ссылка