【问题标题】:Do not lint node_modules不要 lint node_modules
【发布时间】:2020-12-11 06:45:16
【问题描述】:

在我的 package.json 脚本中,我有一个字段

"lint": "tsc --noEmit && eslint --ext .js,.jsx,.ts,.tsx ./"

在提交之前,我使用的是 Husky,这会影响我的项目

"husky": {
    "hooks": {
      "pre-commit": "pretty-quick --staged && yarn lint"
    }
  },

由于某些原因,我的控制台出现问题

$ tsc --noEmit && eslint --ext .js,.jsx,.ts,.tsx ./
node_modules/react-navigation-header-buttons/index.d.ts:111:14 - error TS7051: Parameter has a name but no type. Did you mean 'arg0: OnOverflowMenuPressParams'?

111   onPress?: (OnOverflowMenuPressParams) => any;
                 ~~~~~~~~~~~~~~~~~~~~~~~~~
Found 1 error.

error Command failed with exit code 1.

如我所见,node_modules 中的某些类型存在问题。我将它们添加到我的 .eslintinnore 中,但继续收到相同的错误。我尝试从那里排除 .ts 字节错误保持不变

"lint": "tsc --noEmit && eslint --ext .js,.jsx,.tsx ./"

如何停止检查 node_modules 中的类型? 我可以在 node_modules/react-navigation-header-buttons/index.d.ts 中添加任何内容来解决这个问题:

onPress?: (OnOverflowMenuPressParams: any) => any;

但是我每次都累了。

也许有人有更好的建议?

【问题讨论】:

    标签: scripting eslint package.json lint


    【解决方案1】:

    通过添加 arg0 来修复 node_modules:

     onPress?: (arg0: OnOverflowMenuPressParams) => any;
    

    【讨论】:

      【解决方案2】:

      将 .eslintignore 文件添加到您的项目中,其中包含 node_modules

      【讨论】:

      • 它对我不起作用,作为从 'lint' 字符串中删除 .ts 或向其添加 node_modules 异常。我仍然不知道为什么。
      【解决方案3】:

      有时只是在你的开发依赖项中增加 typescript 版本。

      检查正在抱怨的库的package.json 中的打字稿版本,在这种情况下它将是node_modules/react-navigation-header-buttons/package.json。可能版本高于您项目中的版本。

      【讨论】:

        猜你喜欢
        • 2021-08-09
        • 1970-01-01
        • 2016-07-15
        • 2021-09-15
        • 2018-11-26
        • 1970-01-01
        • 2014-08-14
        • 2016-02-17
        • 1970-01-01
        相关资源
        最近更新 更多