问题标签 [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 - 是否有 ESLint 规则来防止真实检查
我想避免意外调用 Javascript 的疯狂真实系统。是否有任何 ESLint 规则可以帮助解决这个问题?尤其是在if
声明中。例如:
我认为no-implicit-coercion
可能会完成这项工作,但似乎它不包括这种情况。
reactjs - 创建 React App 上的 Emotion-js - 'jsx' 已定义但从未使用过
所以我第一次尝试使用emotion-js
并被 css prop 功能迷住了。
在尝试文档所说的内容时,我收到了来自 eslint 的警告。
'jsx' 已定义但从未使用过 @typescript-eslint/no-unused-vars
我使用的脚本如下所示。
我正在使用 VSCode,所以我可以看到这个导入被标记为从未使用过。(有透明色)
但我确实将它用于我的 div,如果我删除导入,我的 css 道具会显示错误。
请帮助如何避免这个 eslint 警告,或者至少让 VSCode 识别出正在使用 jsx。
谢谢!
编辑:(添加参考)
参考:https ://emotion.sh/docs/css-prop#jsx-pragma
编辑2:我尝试添加.eslintrc
看起来像这样的文件
仍然收到警告,我做错了吗?
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”类型中是必需的。
这仅在使用动态/异步导入方法时才相关,那么正确的返回签名是什么?
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
有以下(简化的)定义:
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?(我想让构建尽可能简单。)
reactjs - JSX 用于内联组件声明时的 ESLint/TypeScript/Prettier 缩进问题
当 ESLint 和 Prettier 遇到如下代码时:
它会产生以下错误:
此外,当eslint
与 一起运行时--fix
,它会执行以下操作:
然后给出以下错误:
这是.eslintrc.js
文件:
没有这'react/jsx-indent': ['error', 2, { checkAttributes: true, indentLogicalExpressions: true }],
条线,观察到完全相同的效果。
typescript - 返回自身的函数的返回类型是什么?
问候,我是 Typescript 的新手。
我曾经setInterval()
在 JS 中使用这种方式,这样我就可以setInterval()
立即调用回调函数,而不是在第一次运行前等待 10 秒。但是,当我现在搬到 TS 时,我不知道该放什么作为它的返回类型。我尝试使用any
like () => any
,但似乎它可能会违反@typescript-eslint :的规则Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)
。
任何人都可以给我一些建议吗?提前致谢。
ps 我知道我使用的方式setInterval()
可能不好,但我只是想摆脱这个。
typescript - @typescript-eslint 中的任何标准方法可以将返回值转换为 'any' 而不会收到 'no-explicit-any' 警告?
我知道将返回值转换any
为不是一个好习惯。但是,有时我们确实需要这个。即通过HTTP 请求获取形状未知的数据。在不禁用这些行的 ESlint 规则的情况下,是否有任何标准方法/实践来摆脱这种情况?
eslint - ESLint:已定义的全局扩展仍未定义(no-undef)
我有一个全局扩展,它定义了一个名为“is”的方法。我遇到的问题是 ESLink 将其标记为“no-undef”;尽管它在运行时可用。
禁用规则对我来说不是一个选项。我宁愿定义它,以便 ESLint 可以看到它。
我的项目正在使用 NodeJS、Vue、TypeScript、Babel 和 WebPack。没关系,但 typescript JavaScript 版本设置为esnext。
以下是我要求您牢记的目标:
- 除了这个 ESLint 错误之外,没有其他编译或运行时错误
- 如果我使用它在每个文件的顶部声明我的方法,一切正常
- 我希望有一种集中的、简单的方式来为 ESLint 定义它
- 我没有使用类型定义文件(AKA d.ts),因为您不能以这种方式定义它
在我的应用程序的其他地方
作为参考,下面是我的package.json和jsconfig.json配置文件