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

javascript - 共享 eslint 配置找不到节点模块

我有多个应用程序,我想共享相同的 eslint 配置:

每个应用程序都有相同的配置:

在根目录中,我想配置所有内容:

但是现在每个应用程序都会抛出找不到节点模块的错误:

无法加载在“.eslintrc.js » ../.eslintrc”中声明的解析器“@typescript-eslint/parser”:找不到模块“@typescript-eslint/parser”。

我在根目录中没有任何 node_modules,我想避免它。

0 投票
1 回答
1626 浏览

typescript - 使用导入进行类型提示时,ESLint 困境“已定义但从未使用”VS“找不到名称”

我刚刚遇到了一个 linting 的困境,我需要你的帮助才能知道应该做什么。我在用着

使用插件vue@typescript-eslint并且我在 .ts 文件中有这个:

我得到错误:

yarn serve( vue-cli) 提供的 Web 应用程序显示相同的错误,使其无法忽略。使用 import 到 typehint 似乎不能算作“使用”它。所以我刚刚删除了导入,但后来出现了这个错误:

不知何故,这似乎更好,因为至少我可以浏览由 yarn serve 提供的网络应用程序。任何想法以正确的方式处理此错误?

编辑:.eslintrc.js文件内容

0 投票
2 回答
2729 浏览

typescript - Typescript:为什么 Visual Studio 代码不报告与命令行 tsc 相同的错误?

如果我故意在我的代码中打错字,我会得到一个错误。这是正确的代码:

如果我删除最后一个字符,然后在命令行上键入 tsc,它会给我这个错误:

但是 Visual Studio Code 似乎没有意识到有任何错误。

在此处输入图像描述

如何让我的编辑器向我显示 tsc 命令识别的相同错误?我对所有这些技术都很陌生,所以我不知道哪些信息有助于排除故障,但这里是我的配置文件:

包.json:

tsconfig.json:

.eslintrc.js:

0 投票
1 回答
382 浏览

typescript - Visual Studio Code 不尊重我的 eslint 报价规则

在引用时,Visual Studio Code 不尊重我的打字稿项目的 eslint 规则。您可以在此处找到我的项目的所有配置:Typescript:为什么 Visual Studio 代码不报告与命令行 tsc 相同的错误?

这是 Visual Studio Code 正在做的事情。如果我有这样的字符串,"<<link \" \">>'它会变成这样'<<link " ">>'如果我有这样的字符串'a\'s'会变成这样"a's"

我知道它认为它试图帮助我,但事实并非如此。一旦它格式化文档,我就会得到红色波浪形的告诉我字符串与 eslint 的引用规则不匹配。

我正在查看所有设置,以查看 Visual Studio Code 可能与 eslint 冲突的位置,我发现了一些:

在此处输入图像描述

从我上面的描述中可以看出,它不尊重设置。如何让 Visual Studio Code 尊重我的 eslint 报价规则?我重新启动了 TS 服务器和编辑器,但没有任何效果。

0 投票
2 回答
165 浏览

typescript - 使用 Typescript,我如何键入功能性 True 函数?

作为背景,我正在浏览“Flock of Functions”并尽我所能将这些 Javascript 示例转换为类型化的 Typescript。请参阅https://github.com/glebec/lambda-talk/blob/master/src/index.js#L152以供参考。True 函数返回第一个 curried 参数,并忽略第二个。

考虑以下 Typescript 代码:

假设我想保留“显式函数返回类型”规则,我如何摆脱 ESLint 禁用注释?换句话说,我想正确键入 True 函数。

我的编辑告诉我问题(_els) => thn出在代码部分。它需要以某种方式输入。

在此处输入图像描述 ]

我可以做些什么来设置返回类型或以其他方式正确输入这个东西,这样我就不需要禁用 ESLint 规则?

0 投票
0 回答
73 浏览

javascript - 如何在 componentDidMount 中使用 typescript 设置只读属性?

我想在 React.Component 类中有常量(只读)属性。问题是我不应该在构造函数中初始化它们,因为它们会触发 setInterval 或 fetch 等副作用。相反,我应该在 componentDidMount 中初始化它们,但由于我使用严格的类型检查,我还必须指出它们的类型可以是未定义的(或 null,无论如何)。这就是我想要避免的,因为尽管我已经知道它,但我每次使用它时都被迫检查该值是否不为空,而且我也想避免使用“!” 尽可能多的运算符,因为当我忘记初始化它们时,我没有类型错误。

是否存在干净的解决方案?某种方式告诉打字稿 componentDidMount 就像一个构造函数,所以只能在那里初始化一个属性?

0 投票
0 回答
112 浏览

angular - 使用 eslint-plugin-angularjs-security-rules 的项目无法使用 Angular 6 中的 eslint 扫描文件以查找错误

我对 eslint 很陌生,我的一位客户要求使用 Eslint 进行安全检查,并要求对 ESLint 使用 AngularJS 安全规则(https://www.npmjs.com/package/eslint-plugin-angularjs-security-rules)。我不清楚执行此任务的正确过程是什么,我有 angular 6 项目。我做了以下步骤 1. npm i eslint-plugin-angularjs-security-rules 2. 更新 package.json 文件添加 "eslint": "^4.16.0" 3. 运行 npm i 4. 创建 .eslintrc 文件并添加以下代码

}

在此之后我没有任何线索可以使用 eslint 命令扫描我的代码仓库并查找错误。

0 投票
1 回答
4037 浏览

typescript - 在特定接口中禁用标识符的驼峰式规则

我使用@typescript-eslint插件使用 eslint 向我的 TypeScript 代码添加规则。

我启用的规则之一是camelcase

它允许我规范化我的变量和接口名称。

问题是标准的 JSON 格式使用snake_case 约定来命名它们的标识符。所以我所有的 API 请求响应都使用了 snake_case。

在这种情况下,我必须像这样使用 snake_case 声明接口:

所以我的问题是:有没有办法为接口结束宽度中定义的标识符禁用此规则Response?所以我的UserResponse界面中没有 lint 错误。

@typescript-eslint 提供了一个有趣的参数允许禁用匹配正则表达式的特定名称的规则:

在这里,linter 不会触发 snake_case 格式,Foo_Bar_Response因为它以 word 结尾Response

但这里它只适用于接口本身的名称,而不适用于这些子标识符的名称。

知道我们如何才能完成这项工作吗?

0 投票
0 回答
369 浏览

javascript - 愚蠢的 TypeScript-ESLint 问题:返回一个未解决的 Promise

我有以下 TypeScript 代码(简化以演示问题):

目标是将自定义参数应用于 Argon2 哈希方法。代码大概可以正常工作,但我的 ESLint 配置很生气。这是我的 ESLint 配置的相关部分:

只要async关键字存在,这就会触发“require-await”规则

但是当我删除async关键字时,这会触发“promise-function-async”规则

我不确定是否:

  • 有一种更聪明的方式来配置 ESLint
  • 有一种更聪明的方法可以编写避免这些错误的函数(也许它暗示了一个我没有看到的合法潜在错误?)
  • 这是一个有效的案例// eslint-disable-next-line
0 投票
0 回答
346 浏览

reactjs - 打字稿:编译失败

我在我的配置中禁用了数组的逗号悬挂eslintrc,如下所示:

这是我的数组const foo = [1, 2, 3];

VS Code不会突出显示任何错误以将尾随逗号添加到 的最后一个元素foo,而 Typescript 无法编译并出现以下错误:Missing trailing comma comma-dangle。出于某种原因,Typescript无法遵循我的.eslintrc配置中编写的规则。

tsconfig

该项目是创建create-react-app打字稿模板。你能指导我在这里做错什么吗?谢谢 :)