问题标签 [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 回答
3624 浏览

typescript - 解决类字段的“@typescript-eslint/no-invalid-this”问题,而不与“@typescript-eslint/no-this-alias”冲突

在下面的代码中:

@typescript/eslint发出@typescript-eslint/no-invalid-this问题(因为它不是 ESLint 的no-invalid-this,所以这条规则理解类字段。)。

关于概念解决方案的思考

如果我使用componentsReferencesIDs静态类字段,则无法从 vue 模板中检索值。

箭头函数不能在这里使用,因为这里是类字段。而且,如果我们 alias this,我们将面临no-this-alias规则。

我知道 ESLint 不是唯一的事实来源。但我想要像“因为〈argument〉,这个 ESLint 规则不包括这种情况”这样的理由。

0 投票
1 回答
282 浏览

reactjs - 关于“create-react-app --template typescript”如何与 typescript-eslint 连接的困惑

我使用npx create-react-app my-app --template typescript. 我发现typescript-eslint默认情况下已经启用了某种方式。 在此处输入图像描述

我检查了里面的 eslint 配置package.json

我认为为了typescript-eslint启用,您需要"extends": ["plugin:@typescript-eslint/recommended"在您的package.json.eslintrc. 但在这种情况下,我在代码库中找不到其中任何一个。我想知道打字稿的 eslint 是如何启用的?

0 投票
1 回答
165 浏览

javascript - .eslintrc 中的“插件”属性有什么作用?

每当我添加或删除这一行时:plugins: ['@typescript-eslint'] eslint 似乎表现相同。究竟plugins属性是什么以及何时使用它是必需的?

0 投票
1 回答
872 浏览

javascript - axios发布请求后vue-router推送路由

当我编写以下代码时:

编译器显示错误@typescript-eslint/no-floating-promises: Promises must be handled appropriately or explicitly marked as ignored with the void operator.

我也尝试在 then 块之后放置一个 catch 块,但它仍然是同样的问题。

我还发现当我注释掉时问题就消失了this.$router.push。所以问题可能涉及重定向路由和解决承诺。也许最好将问题重新表述为“如何在不留下未解决的承诺的情况下重定向路线”?我希望我把问题说清楚。

0 投票
2 回答
5976 浏览

typescript - Monorepo中的Typescript eslint tsconfig解析错误

我有以下项目结构:

并非所有服务都是基于打字稿/节点的,所以我想避免将 tsconfig 添加到根目录中。每个服务都设置为一个完整的单元,具有自己的 eslint、ts 和自己的配置安装。

我打开 VScode 的任何ts服务都显示以下错误:

这是正确的,因为没有这样的文件,那么我如何强制 vscode & eslint 使用单个服务配置文件?

0 投票
1 回答
13403 浏览

angular - 尝试 lint Angular 模板时出现 ESLint 错误

我有一个使用 eslint 和 prettier 设置的 Angular 10 应用程序,到目前为止它可以很好地用于 linting Typescript 文件。我现在正在尝试按照这个文档对我的组件模板文件进行 lint 。

但是当我运行它时,eslint . --ext .js,.ts,.component.html --fix我不断得到

我的.eslintrc.js样子是这样的(注意本overrides节中的第二个块):

如您所见,我parserOptions.project在任何地方都指定了。我特别困惑的是,错误消息抱怨与模板相关的东西@typescript-eslint/parser不是无论如何都应该用于模板的解析器。从覆盖部分中删除parserOptions块并没有什么不同。

我可以设置"@typescript-eslint/dot-notation": "off"它抱怨的所有规则,但显然这并不理想。有人可以指出我所缺少的吗?

更新:我已经按照 Brad 的建议关闭了所有类型感知规则。但是,我现在得到的错误是:

但我app.component.html只是看起来像这样:

所以再一次,我迷路了。

更新 2:正如布拉德在他的回答中建议的那样,我终于设法通过为模板解析器关闭规则来使其正常工作。我的工作overrides块现在看起来像这样:

0 投票
2 回答
1904 浏览

reactjs - 解析错误:保留关键字“枚举”

我正在用 React 编写 TypeScript。该项目是使用 CRA 生成的。我使用react-appconfig 的.eslintrc.json. 但是我决定使用eslint-config-airbnb,所以我添加了它并更改了我的.eslintrc.json

突然我从 ESLint 收到关于enum我在代码库中使用的类型的解析错误

我用谷歌搜索但找不到答案。尝试添加一些额外的配置,例如

但这并不能解决问题

0 投票
2 回答
5114 浏览

typescript - typescript-eslint 配置:.eslintrc 文件“模块”未定义

我正在按照typescript-eslint入门文档中的描述设置一个新项目。但是,在我的.eslintrc.js文件中出现错误:

'module' 没有定义。eslint(no-undef)

现在,如果我eslint:recommendedextends配置中删除,这个错误就会消失。然而,典型的规则喜欢debuggerconst iAmUnused = true不被 ESLint 采纳,所以 if 感觉有点像打地鼠。

为什么我的 ESLint 文件在我的项目的根目录中且启用时会被拾取eslint:recommended?我不想在我的文件中包含这个文件,.eslintignore因为在运行我的eslint命令时,它说这个文件已经被自动忽略了,但它不是 ‍♂️</p>

ESLINTRC:

TS配置:

0 投票
1 回答
599 浏览

visual-studio - 在 Visual Studio 2019 中使用 TypeScript 配置 ESLint

我正在尝试在 Visual Studio 2019 中配置 ESLint,我在 Options 中启用了 ESLint,并且我在我的项目中的 node_modules 中安装了 ESLint 7.4.0,这应该会导致 Visual Studio 根据本文档使用该版本。但这会导致一个不太有用的错误。

eslint .从与文件相同的目录在命令行中运行时,.eslintrc.yml它会工作并报告有关我的代码的错误和警告。

在 Visual Studio 中查看或文件时.js,它会在文件的第一个字符处报告以下错误。没有报告其他错误(命令行确实报告错误)。Visual Studio 确实在这些文件中报告了常见的智能感知 TypeScript 错误。.ts.tsxinternal-error: (ESLint) Unexpected token {

Visual Studio 2019 中的错误

以下是我的 .eslintrc.yml 文件。

有没有办法查看 Visual Studio 正在执行什么以及导致此错误的原因?

我尝试运行devenv.exe /log,但这没有什么有趣的记录,只是用 eslint 做了一些事情。正如你在下面看到的。

0 投票
2 回答
2408 浏览

typescript - 打字稿的全局模块定义

我正在使用以下文件结构在 Webstorm 中开发一个项目

我想让SomeInterface全球可用(使用接口而不需要导入)。

我的主要index.d.ts内容如下:

每当我尝试在以下位置实现类型定义时src/some/path/to/file.ts

我收到以下消息: ESLint: 'MainInterface' is not defined.(no-undef)

这是我当前的 tsconfig.json

我错过了什么吗?我知道不建议让东西在全球范围内可用,但是我被要求以这种方式专门这样做。