问题标签 [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 投票
1 回答
2390 浏览

typescript - Eslint --fix 移除类型注解

我有 typescript + eslint 堆栈的项目。

规则问题@typescript-eslint/typedef:当我尝试使用命令eslint --fix类型注释已被删除:

例子:

命令后eslint --fix我将得到下一个代码:

和错误:

eslint 规则:

我该如何解决?当我尝试使用规则时,我与规则@typescript-eslint/no-inferrable-types发生冲突@typescript-eslint/typedef

0 投票
1 回答
3549 浏览

typescript - 接口声明后缺少分号

在声明我的接口之后,我对 ESLint 和 Typescript 有一点问题,尤其是在分号上。此外,我使用 VSCode 作为编辑器并在保存时自动格式化。

这是我的配置文件 .eslintrc.json:

这是我的 Typescript 文件的内容,这让我很担心:

在我的结束括号之后,eslint 对我说:“缺少分号”。好的,我添加了我的分号,但是 VSCode 给我添加了几个分号......它总是告诉我我缺少一个分号。

有人有想法吗?太感谢了

0 投票
1 回答
828 浏览

eslint - 为什么“eslint --print-config blah.js > outfile.json”会导致配置规则无效?

按照本指南,我尝试创建一个提取的规则集,但我从 eslint-config-airbnb-typescript-prettier 而不是 eslint-config-airbnb-typescript 扩展:-

当我运行时,eslint --print-config blah.js > outfile.json我确实得到了输出文件,但是当我尝试在我的 .eslintrc.js 中使用该输出文件中的配置时,我收到如下错误:-

其中指的是来自以下--print-config命令的规则配置:-

那么为什么--print-config输出无效的配置,有什么方法可以阻止它的发生,所以我有一个有效的规则集?谢谢。

0 投票
1 回答
1883 浏览

typescript - 错误:.eslintrc.js:规则“no-empty-interface”的配置无效:

尝试添加一条规则,说明可以有一个空界面,如下所示。请注意,我正在尝试将其添加到 eslintrc.js 文件中 - 这是正确的吗?

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
33539 浏览

typescript - 如何使用 ESLint TypeScript Airbnb 配置?

我尝试为 TypeScript 安装和使用 ESLint Airbnb 配置几天,但我无法让它工作。有人可以提供工作配置的安装和配置步骤吗?

下面是我尝试使用 Airbnb 约定对这个代码库进行 lint 的尝试之一。

Airbnb 配置还不支持Typescript ESLint 3.0,所以我将安装 TypeScript ESLint 2.34。Typescript ESLint 2.34 还不支持 ESLint 7,所以我将安装 ESLint 6.x。Typescript ESLint 2.34 还不支持 Typescript 3.8,所以我将安装 Typescript 3.7.5。

我安装打字稿:

我安装 ESLint 和 TypeScript ESLint:

我安装 Airbnb 配置:

我使用以下内容创建 .eslintrc.js 文件:

我尝试整理我的代码:

但我得到:

0 投票
1 回答
1286 浏览

typescript - TypeScript ESLint 错误地报告:“函数已定义但从未使用。”

我在文件中有iwAddClassAndRemoveInSiblings功能:lib\iw-browser.ts

lib\iw-carousel\iw-carousel.ts我在文件中调用这个函数:

编译iw-browser.jsiw-carousel.js引用于iw-carousel.html

不幸的是,Typescript ESLint 错误地将iwAddClassAndRemoveInSiblings函数报告为未使用,无论是在 Visual Studio Code 中,还是从命令行运行它npx eslint . --ext .ts

Visual Studio 代码中的错误

HTML 页面正确显示 - 它运行iwAddClassAndRemoveInSiblings功能没有问题。Visual Studio Code 也知道iwAddClassAndRemoveInSiblings使用了该函数。如果我尝试使用不存在的函数,VSC 会说:Cannot find name 'nonExsistingFunction'。因此 VSC 检查函数是否已定义。我只有 ESLint 才有这个问题。

我是否错误地配置了 ESLint 或 Typescript?

我已经按照以下描述的方式安装了 TypeScript 和 ESLint:如何使用 ESLint TypeScript Airbnb 配置?

Typescript 和 ESLint 配置文件如下:

.eslintrc.js:

tsconfig.json:

包.json:

0 投票
0 回答
78 浏览

typescript - 在 `@typescript-eslint/parser` AST 中获取超类引用

给定以下类层次结构:

AST 输出@typescript-eslint/parserextends Foo将语句引用为superClass具有以下属性的 a:

是否可以从该条目中提取ClassDeclaration对应的Foo,如果可以,如何?
如果导入扩展类,同样的解决方案是否适用?

从概念上讲,这应该是可能的,因为 Typescript 可以正确推断错误,例如父子类之间的公私定义不匹配等。

0 投票
1 回答
1502 浏览

typescript - 带有 TypeScript 解析器/插件的 ESLint:如何包含从 tsconfig.json 中排除的 .spec.ts?

我正在使用很棒的 typescript-eslint和 ESLint。

问题描述:TypeScript ESLint 解析器抱怨src/module.spec.ts不是项目的一部分,这是正确的。我spec.ts从 TypeScripttsconfig.json文件中排除了所有文件,因为它们不需要被转译。

如何使src/module.spec.ts 不转换但仍然检查ESLint?

my-project\src\module.spec.ts 0:0 错误解析错误:“parserOptions.project”已为@typescript-eslint/parser 设置。该文件与您的项目配置不匹配:src\module.spec.ts。该文件必须包含在至少一个提供的项目中

我的.eslint.json(精简):

我的tsconfig.json

0 投票
2 回答
14980 浏览

javascript - 带有 @typescript-eslint/no-unsafe-* 规则的新 eslint 错误

我在将它们添加到一些现有项目中时遇到了一些麻烦。例如,我开发的模块中有一个类:

现在我将其导入另一个项目:

我在这条线上有 2 个错误。

在:object_const object

在:new_new ClassName

我怎样才能避免这些错误?!我真的很希望能够遵守这些规则,因为我认为它们会非常有用!

谢谢。


这是另一个例子:

在这里,我得到了of的no-unsafe-assignment错误,以及第二行的调用错误。testEnvconst testEnvno-unsafe-callreadJsonSync

我可以用这段代码摆脱第一个:

readJsonSync但是,我仍然不知道如何在通话中摆脱第二个。

0 投票
1 回答
355 浏览

reactjs - ESLint 限制使用 React.StatelessComponent 和 React.FunctionalComponent

是否有规则我可以​​禁用React.StatelessComponentReact.FunctionalComponent仅使用React.FC

例如:

应该由 ESLint 强制写成

我认为这可以通过no-restricted-syntax规则实现,但无法从文档中弄清楚。