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

typescript - 是否有 ESLint 规则来防止真实检查

我想避免意外调用 Javascript 的疯狂真实系统。是否有任何 ESLint 规则可以帮助解决这个问题?尤其是在if声明中。例如:

我认为no-implicit-coercion可能会完成这项工作,但似乎它不包括这种情况。

0 投票
2 回答
1567 浏览

reactjs - 创建 React App 上的 Emotion-js - 'jsx' 已定义但从未使用过

所以我第一次尝试使用emotion-js并被 css prop 功能迷住了。

在尝试文档所说的内容时,我收到了来自 eslint 的警告。

'jsx' 已定义但从未使用过 @typescript-eslint/no-unused-vars

我使用的脚本如下所示。

我正在使用 VSCode,所以我可以看到这个导入被标记为从未使用过。(有透明色)

jsx 导入是透明的(从未使用过)

但我确实将它用于我的 div,如果我删除导入,我的 css 道具会显示错误。

请帮助如何避免这个 eslint 警告,或者至少让 VSCode 识别出正在使用 jsx。

谢谢!


编辑:(添加参考)

参考:https ://emotion.sh/docs/css-prop#jsx-pragma


编辑2:我尝试添加.eslintrc看起来像这样的文件

仍然收到警告,我做错了吗?

0 投票
0 回答
594 浏览

vue.js - 异步导入 Vue.js SFC 组件的返回类型签名是什么?

当使用 Vue 单文件组件的动态导入时,promise 中的返回类型是什么?

typescript-eslint 会通知我Missing return type on function,我在整个项目中都理解和欣赏,所以不想关闭这个警告。

但它返回的类型是什么?

我用过:

最后一个在 IDE linting 期间很好,但在编译时失败。每次尝试都会导致与我不理解的丢失重载相关的错误:

类型 '() => Promise' 不可分配给类型 'VueConstructor | 功能组件选项> | 组件选项> | AsyncComponentPromise<...> | 异步组件工厂<...>'。类型“() => Promise”不可分配给类型“AsyncComponentPromise”。类型“Promise”不可分配给类型“void |” 承诺 | 功能组件选项,道具定义>> | 组件选项<...> | EsModuleComponent>'。类型“Promise”不可分配给类型“Promise | 功能组件选项,道具定义>> | 组件选项<...> | EsModuleComponent>'。类型 'Vue' 不可分配给类型 'VueConstructor | 功能组件选项,道具定义>> | 组件选项<...> | EsModuleComponent'。“Vue”类型中缺少属性“default”,但在“EsModuleComponent”类型中是必需的。

这仅在使用动态/异步导入方法时才相关,那么正确的返回签名是什么?

0 投票
1 回答
661 浏览

reactjs - TypeScript NextPage 函数 getInitialProp 静态方法与 @typescript-eslint/unbound-method

所以我有以下带有 typescript-eslint 的代码及其推荐的设置。我已阅读:在 Next.js 中使用 getInitialProps 和 TypeScript

X.getInitialProps发出此错误:

ESLint:避免引用可能导致无意范围界定的未绑定方法this。(@typescript-eslint/unbound-method)

我相信这个问题可能会扩展到,如何正确键入静态方法。


对于那些不熟悉 Next.js 的人,NextPage有以下(简化的)定义:

0 投票
1 回答
4496 浏览

reactjs - Axios.delete(url[,config]):类型与类型“AxiosRequestConfig”没有共同的属性

我使用 React、Typescript 和 Axios。我声明一个由静态函数填充的类,如下所示:

第一个功能(checkinByPassword)工作正常。第二个函数使 ESLint(我将 ESLint 用于 VSCode 编辑器)抛出错误:

VSCode 中的屏幕截图

是什么AxiosRequestConfig?以及如何使我的 params 对象与之兼容?先感谢您

0 投票
1 回答
573 浏览

typescript - 带有 parserOptions 和排除的 Catch-22

我想添加@typescript-eslint/no-floating-promises到我的 ESLint 规则中并且遇到了困难。

这需要parserOptions.

这是我的 .eslintrc.js:

和我的 tsconfig.json:

问题是exclude. 我不希望我的测试(规格)被编译到outDir. 但这在我运行 ESLint 时会导致以下错误:

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

(脚本是"lint": "eslint \"src/**/*.ts\""

确实想整理我的测试。

在我添加之前一切都很好parserOptions- 我需要它来制定no-floating-promises规则。

typescript -eslint 常见问题解答说:

要解决此问题,只需确保 tsconfig 中的 include 选项包含您要 lint 的每个文件。

问题是我正在创建一个库,并且我不想发布测试文件。

如何只构建我想要发布到一个目录的文件,同时仍然对所有文件进行 linting?(我想让构建尽可能简单。)

0 投票
0 回答
2809 浏览

reactjs - JSX 用于内联组件声明时的 ESLint/TypeScript/Prettier 缩进问题

当 ESLint 和 Prettier 遇到如下代码时:

它会产生以下错误:

此外,当eslint与 一起运行时--fix,它会执行以下操作:

然后给出以下错误:

这是.eslintrc.js文件:

没有这'react/jsx-indent': ['error', 2, { checkAttributes: true, indentLogicalExpressions: true }],条线,观察到完全相同的效果。

0 投票
2 回答
531 浏览

typescript - 返回自身的函数的返回类型是什么?

问候,我是 Typescript 的新手。

我曾经setInterval()在 JS 中使用这种方式,这样我就可以setInterval()立即调用回调函数,而不是在第一次运行前等待 10 秒。但是,当我现在搬到 TS 时,我不知道该放什么作为它的返回类型。我尝试使用anylike () => any,但似乎它可能会违反@typescript-eslint :的规则Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)

任何人都可以给我一些建议吗?提前致谢。

ps 我知道我使用的方式setInterval()可能不好,但我只是想摆脱这个。

0 投票
3 回答
3703 浏览

typescript - @typescript-eslint 中的任何标准方法可以将返回值转换为 'any' 而不会收到 'no-explicit-any' 警告?

我知道将返回值转换any为不是一个好习惯。但是,有时我们确实需要这个。即通过HTTP 请求获取形状未知的数据。在不禁用这些行的 ESlint 规则的情况下,是否有任何标准方法/实践来摆脱这种情况?

0 投票
3 回答
3493 浏览

eslint - ESLint:已定义的全局扩展仍未定义(no-undef)

我有一个全局扩展,它定义了一个名为“is”的方法。我遇到的问题是 ESLink 将其标记为“no-undef”;尽管它在运行时可用。
禁用规则对我来说不是一个选项。我宁愿定义它,以便 ESLint 可以看到它。

我的项目正在使用 NodeJS、Vue、TypeScript、Babel 和 WebPack。没关系,但 typescript JavaScript 版本设置为esnext

以下是我要求您牢记的目标

  1. 除了这个 ESLint 错误之外,没有其他编译或运行时错误
  2. 如果我使用它在每个文件的顶部声明我的方法,一切正常
  3. 我希望有一种集中的、简单的方式来为 ESLint 定义它
  4. 我没有使用类型定义文件(AKA d.ts),因为您不能以这种方式定义它

在我的应用程序的其他地方

作为参考,下面是我的package.jsonjsconfig.json配置文件