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

Cra*_*tis 1 javascript lodash eslint

我正在尝试定义应从 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"
Run Code Online (Sandbox Code Playgroud)

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"
         }
      ]
   }
],
Run Code Online (Sandbox Code Playgroud)

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

小智 6

这个怎么样?

"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"
         }
      ]
   }
],
Run Code Online (Sandbox Code Playgroud)