ESLint 禁用 localStorage 和 sessionStorage

ESLint disable localStorage and sessionStorage

有没有办法配置 ESLint 在代码使用 localStoragesessionStorage 时抛出错误?

这是必需的,因为我使用第三方库进行存储,我希望所有存储都通过它完成。

我已经尝试搜索插件,但没有结果。

ESLint 目前没有这方面的规则。 id-blacklist 只会阻止您使用指定的名称创建 variables/function。有两个开放的规则提案可以让您这样做:no-restricted-globalsno-restricted-properties。 但是您可以轻松地创建一个插件来执行此操作,只需复制 no-alert 规则并将名称更改为 localStoragesessionStorage.

我创建了一个 ESlint plugin 在每次使用 sessionStorage 和 localStorage 时发出警报。

如果您想禁止所有 localStorage.method() 次通话,您也可以使用 no-restricted-syntax

'no-restricted-syntax': [
  'error',
  {
    selector: "CallExpression[callee.object.name='localStorage']",
    message: 'Do not use `localStorage` directly, use the storage wrapper instead',
  },
  {
    selector: "CallExpression[callee.object.name='sessionStorage']",
    message: 'Do not use `sessionStorage` directly, use the storage wrapper instead',
  },
],