lodash 与 lodash/fp 的自定义 eslint 无限制导入

Custom eslint no-restricted-imports for lodash vs. lodash/fp

我正在尝试定义应从 fp 导入的某些 lodash 方法的列表。 此外,我试图禁止从 lodash 的顶级导入。 应该禁止从 lodash 中进行解构导入。

目标如下:

import _ from 'lodash'; // should show message "Import [module] from lodash/[module] instead"
import { isEqual } from 'lodash'; // should show message "Import [module] from lodash/[module] instead"
import isEmpty from 'lodash/isEqual'; // should pass
import set from 'lodash/set'; // should show message "Import [module] from lodash/fp/[module] instead"

eslintrc.json

"no-restricted-imports": [
   "error",
   {
      "patterns": [
         {
            "group": ["lodash/set"],
            "message": "Import [module] from lodash/fp/[module] instead"
         },
         {
            "group": ["lodash", "!lodash/*"],
            "message": "Import [module] from lodash/[module] instead"
         }
      ]
   }
],

这些是我一直在使用的flags/patterns。我尝试打开和关闭负匹配器,并切换组数组字符串的顺序和组本身。无法获得所需的 eslint 错误。

这个怎么样?

"no-restricted-imports": [
   "error",
   {
      "paths": [
         {
            "name": "lodash",
            "message": "Import [module] from lodash/[module] instead"
         }
      ],
      "patterns": [
         {
            "group": ["lodash/set"],
            "message": "Import [module] from lodash/fp/[module] instead"
         }
      ]
   }
],