问题标签 [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.
reactjs - ESLint 发现了一个赋值或函数调用,而是在 void 函数上看到了一个表达式
问题描述:
我已经开始使用typescript和eslint开展一个项目。问题是,eslint 给了我一个关于似乎是正确声明的函数的意外错误
代码:
更多详细信息:
现在这可以按预期工作,但尽管我传递给的函数是声明类型void
eslint 给我以下错误:
期望一个赋值或函数调用,而是看到一个表达式。
现在我不想只是禁用规则,但我看不出代码有任何固有的错误。有什么方法可以正确编写函数,这样 es-lint 就不会抱怨了吗?
ESLint 错误(额外信息)
引发错误的特定 eslint 模块
eslint - @typescript-eslint/strict-boolean-expressions lint 规则
添加
我的 eslintrc.json 给了我以下错误错误:.eslintrc.json:规则“@typescript-eslint/strict-boolean-expressions”的配置无效:值 {“ignoreRhs”:true,“allow-boolean-or- undefined":true} 不应该有额外的属性。
提及此规则的选项的正确方法是什么?
reactjs - tsconfig 中的 eslint + typescript + 路径:ESLint:无法解析模块“@components/some-module”的路径。(import/no-unresolved)
我为路径(别名)添加打字稿配置:
tsconfig.json
之后我尝试导入这样的东西:
现在我在 eslint 中遇到错误:ESLint: Unable to resolve path to module '@components/header'.(import/no-unresolved)
create-react-app - 解析错误:“导入类型”中需要“=”
我正在create-react-app
与 TS 一起使用,import type
但 eslint 在 VS Code 中抱怨说,Parsing error: '=' expected
当悬停type
在import type
. 我正在使用 eslint,6.7.2
javascript - 如何配置 Vue 以便能够从单个文件组件导入 typescript 文件?
我正在使用具有多个 Vue 单文件组件的 Vue.js 2(通过 vue-cli 3)开发一个项目。该项目有几十个模块已经编码。
我试图提高代码的可读性并尝试通过安装 vue typescript 插件(vue add typescript)将 Typescript 添加到项目中,令我惊讶的是它编辑了一半的文件,抛出了一堆错误并破坏了一些模块和依赖项. 在那之后,由于项目变得无法使用,我不得不恢复到之前的某个点。
然后我尝试通过向 webpack/eslint/babel 堆栈添加打字稿加载器/解析器来导入 ts 文件,但无济于事。
所以问题是,我怎样才能从一个组件中导入一个 .ts 文件而不破坏整个东西?有可能吗?当然重点是避免每次修改时都将 ts 编译成 js。
编辑:为了让自己清楚,我需要将一个 .ts 文件导入到我的普通 Vue 组件中。我还没有在文档中找到任何关于此的内容。
例子:
reactjs - Eslint 无法识别函数内部定义的 FunctionComponent 并抱怨在其中使用钩子
我有一个组件创建功能:
我用来为我的应用程序生成组件(MobileOnly
,TabletOnly
等)。
然而 eslint 抱怨使用useViewportCategory
钩子并假装我无法运行应用程序:
React Hook "useViewportCategory" 在函数 "component: FunctionComponent" 中被调用,它既不是 React 函数组件也不是自定义 React Hook 函数 react-hooks/rules-of-hooks
有趣的是,在 TypeScript 中强制转换组件可以修复错误:
这里发生了什么?
为什么 es lint 可以识别直接在模块范围内定义的功能组件,而不是在这里?
如果不进行类型转换/禁用 eslint 规则,我该怎么做才能修复此错误?
angular - TSLint 已被弃用。这对 Angular 有何影响?
我工作的公司即将启动一个新的企业 Angular 应用程序。在阅读 linting 时,我读到TSLint is being deprecated。
由于 TSLint 默认包含在 Angular 中,我开始寻找 Angular 团队必须处理弃用的任何计划。我发现了这个 GitHub 问题,它不是很有帮助。它指向我这里,我找不到与该问题相关的任何帖子。
我的问题是:
- 作为 Angular 开发人员,我应该为新项目和/或现有项目手动迁移到 Typescript ESLint 吗?
- Angular 团队是否有计划让现有项目的最终迁移更容易?
eslint - 配置 ESLint RuleTester 以使用 Typescript Parser
我正在尝试为基于打字稿的项目编写一些自定义 ESLint 规则。在我的项目中,我使用 eslint/typescript 进行 linting。
我已经编写了一个自定义 eslint 插件来验证自定义规则。现在我想为该自定义规则编写单元测试。我的测试文件如下所示:
现在我的测试失败了,因为默认情况下 eslint 只理解普通的 Javascript 代码。我知道我需要以某种方式将其配置为使用允许它理解/解析打字稿代码的自定义解析器。但是我无法在网上找到一个很好的例子来说明如何做到这一点
typescript - 带有 TypeScript 3.7 可选调用的“no-unused-expressions”
我将 TypeScript 3.7 与@typescript-eslint/parser
linting一起使用@typescript-eslint/eslint-plugin
。
我正在尝试使用可选链接语法,它在可选调用旁边工作得很好。
这给了我一个错误:eslint(no-unused-expressions)
有什么方法可以让它与可选调用一起工作?
reactjs - 我应该在 useEffect 依赖数组中包含 MobX 存储或 useTranslation 吗?
React 应用程序的初学者。我已经为我当前的 React 应用程序设置了 linting(组件是功能性的),它抱怨缺少依赖项,有时是 MobX 存储,有时是来自 useTranslation 的 TFunction。
React 的文档确实说:
如果您使用此优化,请确保数组包含组件范围内的所有值(例如 props 和 state),这些值会随时间变化并由 effect 使用。
而MobX 的文档说不需要。
有没有办法专门针对商店来防止这种 lint 警告?useTranslation 的 TFunction 呢,应该包含吗?这让我很烦,因为我不希望整个禁用此规则或禁用下一行并使其成为我们代码中的规范。