问题标签 [tslint]

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 投票
3 回答
805 浏览

jenkins - 如何让 grunt-tslint 生成一个用于 jenkins 的 pmd 文件

我已经设法使用 grunt-tslint 来分析我的打字稿项目。我有几个问题。

默认情况下,为每个输入 TS 文件创建一个输出文件。这会失败,因为所有输出文件的文件名都相同,并且保存第二个输出文件失败,因为该文件已经存在。这个问题可以通过使用 appendOutput 来避免。这会将每个文件的分析输出附加到现有文件中。使用此选项会生成一个文件用于分析整个项目。

问题在于,如果您使用本文中提到的 pmd 格式化程序。如果分析一个文件就可以了。一个 pmd.xml 文件被创建并且是有效的。如果创建了多个文件并且您使用 appendOutput 选项,您会在同一个文件中获得多个带有多个根标签的 xml 文档,类似于:

(我无法粘贴实际的文件内容,因为我无法从我的工作 PC 上发布)。当 jenkins 分析此文件时,它会失败,因为它不是有效的 xml 文档。

在我看来,这个问题有几个解决方案:

  1. 输出一个非 pmd 文件(可能是 json)并创建一个新的 grunt 任务以将该 json 文件转换为一个有效的 pmd 任务
  2. 修复 grunt-tslint 以便它可以输出多个具有不同名称的文件(从代码的角度来看,这不会太难)
  3. 创建一个 grunt 任务来修复损坏的 xml(这可以通过一些正则表达式查找和替换来完成)

有没有人对此问题有任何经验或有任何其他解决方案?

0 投票
1 回答
559 浏览

node.js - Gulp 在返回承诺而不是流时过早结束

我有一个 tslint 任务,当我像这样返回 gulp 流时它可以工作

但是当我尝试返回一个承诺时,它似乎在任务结束之前完成了?

0 投票
7 回答
83402 浏览

typescript - 如何重写代码以避免 TSLint“通过字符串文字进行对象访问”

我对 TypeScript 很陌生,我想知道是否存在重写代码的好方法,以避免以下代码中的 TSLint 错误“不允许通过字符串文字访问对象”

更新:最后,上面的内容将是一个超过 300ECStruct秒的自生成文件的一部分,所以我想要类定义(例如ECStruct1),然后是它的元描述(例如fields['ECStruct1'])。

0 投票
2 回答
1272 浏览

visual-studio - WebEssentials tslint 自定义规则

我的解决方案目录中有一个 tslint.json 文件,我正在尝试按照https://www.npmjs.com/package/tslint上的指南创建自定义规则

我创建了一个“nonImportsRule.ts”,从链接中复制了代码,并在我的 tslint.json 文件中添加了“no-imports”:true,但是没有选择该规则。

该指南说需要指定 rulesDirectory,但我不知道应该在哪里配置?

另外 - 如果违反 tslint 规则,是否可以设置 Web Essentials 来破坏构建?

0 投票
2 回答
1358 浏览

gulp - 在 vscode 中,使用 isWatching 的任务生成的错误在修复后并不总是被清除

我在 vscode (0.9) 中使用 gulp 任务来尝试从 typescript 和 tslint 中获取错误。

gulp 任务正在监视我的 ts 文件的更改,并在更改时同时运行 gulp-tslint 和 gulp-typescript。我还在 vscode tasks.json 和问题匹配器中定义了一个任务来解析结果。

错误被解析并正确报告到 vscode 中。然而,即使代码被修复和保存,它们有时也会被保留。

是否有一些额外的配置可以提供给 vscode 问题匹配器,以便它正确清除错误或者它是 vscode 错误?作为一种解决方法,有没有办法手动清除所有错误?我发现清除它们的唯一方法是重新启动 vscode,这不是很好。

请注意,如果任务不是监视任务而是简单执行,则此方法可以正常工作。

我的 vscode tasks.json

我的 gulp 任务定义:

0 投票
0 回答
746 浏览

angular - tslint 记录“找不到模块”但代码工作正常

在我使用打字稿的角度项目中,我的所有导入都得到了 tslint 提到的错误,而浏览器根本没有抛出任何错误,并且行为符合预期。

打字稿类看起来像

someClass.ts

someOtherClass.controller.ts

由于我对这些东西很陌生,我不确定哪些其他信息可能会有所帮助,所以如果我遗漏了一些东西,请告诉我:)

0 投票
1 回答
412 浏览

typescript - tslint 对可选成员变量严格

我喜欢 tslint 检查我的对象是否格式正确。这意味着 1) 存在强制元素 2) 只能存在可选成员

nr 1) 工作正常。2)我不知道如何在编译器中启用它

这里的例子

所以以下数据是正确的,并且没有给出打字稿警告

或者

但这应该失败,因为 dateOfBirth 没有在方案中定义

或者我什至可以使用打字稿编译器选项?我没有看到这个。

0 投票
1 回答
932 浏览

typescript - Observable triggers TSLint 'property does not exist'

I have this block of code here:

http.get and http.post return an Observable<Response> which contains a .json method

However flatMap returns an Observable<Any> which doesn't contain the .json method.

It works correctly, but TSlint complains with:

Property 'json' does not exist on type '{}'.at line 32 col 49

Am I doing something wrong? Is this expected? It's not a big deal but maybe it's a symptom of bigger issues in the code.

0 投票
10 回答
138019 浏览

javascript - 如何忽略 tslint 的特定目录或文件?

正在使用的 IDE 是 WebStorm 11.0.3,tslint 已配置并且可以工作,但是它挂起,因为它尝试解析大型 *.d.ts 库文件。

有没有办法忽略特定的文件或目录?

0 投票
4 回答
8140 浏览

push-notification - TypeScript 和 Chrome 通知

我正在构建一个 Chrome 应用程序。该应用程序是使用 TypeScript (Angular2) 编写的。

我想推送通知。这是代码:

当 gulp 构建应用程序时,它说:

我试图将我的课程包装在里面:

但这并没有改变任何东西。

tslint.json 文件有没有办法告诉 Typescript 这是一个全局变量?

使用 jshint 会是这样的: