问题标签 [typescript-eslint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1267 浏览

typescript - typescript-eslint 错误:无角括号类型断言

引导 React App 时出现此错误 -

编译失败。./src/components/containers/Foo.tsx 第 1 行:未找到规则“@typescript-eslint/no-angle-bracket-type-assertion”的定义@typescript-eslint/no-angle-bracket-type-assertion搜索关键字以了解有关每个错误的更多信息。

假设这是一个解决方案(https://github.com/typescript-eslint/typescript-eslint/issues/863),我什至从 package.json 中删除了“eslintConfig”:

但这并没有帮助。如何解决这个问题?

0 投票
1 回答
1028 浏览

reactjs - 将回调传递给第三方库时出现意外

我有一些使用第三方库中的组件的 React+TypeScript 代码。

<ThirdPartyComponent onSelect={(value: any) => {...}} />

eslint-typescript 认为这是一个问题:

出乎意料。指定不同的类型。eslint(@typescript-eslint/no-explicit-any)

选择处理程序的类型定义使用any

在不禁用 eslint 规则的情况下避免此问题的正确方法是什么?


将类型更改为string给出不同的错误:

<ThirdPartyComponent onSelect={(value: string, e: React.SyntheticEvent<{}>) => {...}} />

类型 '(value: string, e: SyntheticEvent<{}, Event>) => void' 不可分配给类型 'ThirdPartySelectCallback'

0 投票
1 回答
424 浏览

typescript - 如何在 next.js 中使用 sass

我为打字稿制作 Next.js 项目

我尝试安装 sass

但发生错误

添加包含的项目next.config.js

但错误没有修复

我的.eslintrc.js代码在那里

只要你看公式,它似乎工作没有问题,我认为 eslint 是原因,但没有解决问题,有没有人知道这个问题?

谢谢

0 投票
1 回答
1871 浏览

eslint - 如何使用 TypeScript 支持全局安装 ESLint?

我想配置我的 GLOBAL eslint 安装以在 Visual Studio Code 中对我的 typescript 项目进行 lint。

所以我安装了 Visual Studio Code 扩展“ESLint”并安装了 ESLint

根据https://www.npmjs.com/package/@typescript-eslint/eslint-plugin它也需要@typescript-eslint/eslint-plugin全局安装,所以我跑了

将它与 ts parse 一起安装@typescript-eslint/parser

接下来,我添加了一个非常简单的 .eslintrc 文件:

但是,只要我eslint .在我的项目目录中运行,我就会得到:

接下来我尝试删除全局安装的解析器并将其安装在本地,但这也不起作用:现在我的全局eslint 安装可以找到我的本地解析器,但是解析器需要另一个本地安装 typescript、eslint 等。我想运行不过,全球的一切。

我根本无法让它工作!任何人都可以帮助我完成这个过程吗?

0 投票
2 回答
2424 浏览

reactjs - 在 create-react-app 中 EXTEND_ESLINT=true 时打字稿解析错误

精简演示 - GitHub

我们目前有一个 create-react-app 项目,该项目正在进行从 Flow 到 Typescript 的增量迁移。这意味着禁用一些不受欢迎的 ESLint 规则。为了自定义 ESLint,我已经添加EXTEND_ESLINT=true.env文件中。

在添加此设置之前,我的 Typescript 代码可以正常编译。之后,我在某些(但不是全部)Typescript 语法上遇到了解析错误。

我可能还没有找到其他无法识别的语法。

至今

  • 我没有发现任何类似的问题或错误报告。我了解某些 Typescript 功能在当前 CRA 版本中不可用,例如const enum,但我没有发现任何提及上面列出的功能。我也很确定我的Typescript 和 ESLint 版本typescript-eslint.

  • 我尝试了许多不同的.eslintrc组合。我.eslintrc.js在附加存储库的文件中留下了一些最有前途的。当前设置是create-react-app 推荐的设置,其中 Typescript linting 在该overrides部分中设置。

  • ESLint Typescript 配置是按照 monorepo 的说明设置的typescript-eslint特别是typescript-eslint/parsertypescript-eslint/eslint-plugin

解决方案

  • 弹出不是一种选择。如果找不到其他解决方案,我宁愿一次性完成 Flow -> TS 转换。

  • 我们目前使用customize-cra扩展我们的 CRA 配置。欢迎涉及此问题的解决方案。

  • 我喜欢它给我的灵活性,.eslintrc但我很乐意取消它,前提是我仍然可以设置 lint 规则。

笔记

  • 我已经包含customize-cra在演示 repo 中以准确反映我们的项目,但问题仍然存在customize-cra,表明它可能不是罪魁祸首。

  • 有关src/components/TestComponent/fn.ts问题语法的示例,请参阅。

  • 我目前的假设是 CRA ESLint 配置中有一些设置在EXTEND_ESLINT=true.

更新

0 投票
1 回答
171 浏览

eslint - cmd eslint 找不到 IDE 发现的 ts 错误

我想在 cmd 中使用 eslint 来检查 ts 文件,但它无法获取我在 IDE 中获得的错误信息。

我在 eslintrc.js 中设置了@typescript-eslint/parser。当我做错时,在 cmd 中运行的 eslint 给了我一些 ts 错误。但是没有发现其他一些错误。

我有一个带有代码的 ts 文件:

所以,我在IDE中遇到了一些错误:

没错。我需要这个错误信息。

但是当我在 cmd 中运行 eslint

cmd eslint 在此文件中不返回任何内容或其他一些警告/错误。

eslintrc 在这里

和 tsconfig.json

我希望通过 cmd 获得整个错误信息。我应该怎么办?

0 投票
20 回答
160787 浏览

typescript - 为@typescript-eslint/parser 设置了“parserOptions.project”

我创建了一个新的 React Native 项目--template typescript

我删除了template作为样板文件一部分的目录。

然后我继续添加 ESLint:

但是,当我打开时babel.config.js,我收到此错误

解析错误:“parserOptions.project”已为@typescript-eslint/parser 设置。

该文件与您的项目配置不匹配:/Users/Dan/site/babel.config.js.

该文件必须至少包含在提供的项目之一中。eslint

0 投票
1 回答
207 浏览

reactjs - 详尽的-deps 规则不将自定义钩子的结果识别为 React 参考

想象一个钩子:

我想使用那个钩子来确定组件是否仍然安装。它的一个用例是仅在浏览器获取并缓存图像时才异步加载图像并显示图像。这种用例的简化版本可以是:

它不包括错误处理,也不处理 triggerCallback 的更改,但它显示了我的问题。react-hooks/exhaustive-deps 警告我缺少mounted依赖项,即使它不应该 afaik。因为mounted是 Ref,通过使用它,我不会意外关闭过时的范围,而 eslint 实际上知道这一点。如果我将代码更改为

eslint 不再警告我了。ESLint 的这种限制是它无法知道我的自定义钩子的结果是什么,还是我做错了,并且潜伏着一个错误?

0 投票
1 回答
448 浏览

javascript - 如何在 eslint/tslint 中配置忽略单行语句?

我不想使用非阻塞语句。

像,

eslint/tslint 有选项吗?

0 投票
0 回答
419 浏览

javascript - 如何使用 eslint 在 Typescript 中强制执行多行“if”条件缩进?

我正在尝试使用 Typescript 配置 eslint 以支持 Java 的多行if缩进标准。

作为记录,Java 标准指定if用于复杂ifs 的多行条件应该缩进两次:

似乎没有if特定条件,所以我尝试使用MemberExpression,CallExpressionFunctionExpression类型,但似乎都不起作用:

我的缩小版.eslintrc.json看起来像这样:

我在控制台上收到以下错误:

256:1 warning Expected indentation of 3 tabs but found 4 @typescript-eslint/indent

我在 Typescript 中是否缺少任何用于配置所述ifs 的设置?