问题标签 [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.
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”:
但这并没有帮助。如何解决这个问题?
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'
typescript - 如何在 next.js 中使用 sass
我为打字稿制作 Next.js 项目
我尝试安装 sass
但发生错误
添加包含的项目next.config.js
但错误没有修复
我的.eslintrc.js
代码在那里
只要你看公式,它似乎工作没有问题,我认为 eslint 是原因,但没有解决问题,有没有人知道这个问题?
谢谢
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 等。我想运行不过,全球的一切。
我根本无法让它工作!任何人都可以帮助我完成这个过程吗?
reactjs - 在 create-react-app 中 EXTEND_ESLINT=true 时打字稿解析错误
我们目前有一个 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/parser
,typescript-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
.
更新
- 我在 create-react-app 上打开了一个问题
- 该问题上列出的部分解决方法。还是不理想。
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 获得整个错误信息。我应该怎么办?
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
reactjs - 详尽的-deps 规则不将自定义钩子的结果识别为 React 参考
想象一个钩子:
我想使用那个钩子来确定组件是否仍然安装。它的一个用例是仅在浏览器获取并缓存图像时才异步加载图像并显示图像。这种用例的简化版本可以是:
它不包括错误处理,也不处理 triggerCallback 的更改,但它显示了我的问题。react-hooks/exhaustive-deps 警告我缺少mounted
依赖项,即使它不应该 afaik。因为mounted
是 Ref,通过使用它,我不会意外关闭过时的范围,而 eslint 实际上知道这一点。如果我将代码更改为
eslint 不再警告我了。ESLint 的这种限制是它无法知道我的自定义钩子的结果是什么,还是我做错了,并且潜伏着一个错误?
javascript - 如何在 eslint/tslint 中配置忽略单行语句?
我不想使用非阻塞语句。
像,
eslint/tslint 有选项吗?
javascript - 如何使用 eslint 在 Typescript 中强制执行多行“if”条件缩进?
我正在尝试使用 Typescript 配置 eslint 以支持 Java 的多行if
缩进标准。
作为记录,Java 标准指定if
用于复杂if
s 的多行条件应该缩进两次:
似乎没有if
特定条件,所以我尝试使用MemberExpression
,CallExpression
和FunctionExpression
类型,但似乎都不起作用:
我的缩小版.eslintrc.json
看起来像这样:
我在控制台上收到以下错误:
256:1 warning Expected indentation of 3 tabs but found 4 @typescript-eslint/indent
我在 Typescript 中是否缺少任何用于配置所述if
s 的设置?