标签: tslint

WebStorm禁用js文件的TSLint

我正在使用 WebStorm 2019.1

我使用 Angular CLI 生成了一个项目。

一切正常,但我的项目中有一两个 .js 文件 - 例如protractor.conf.js

在 IDE 中,TSLint 对 .js 文件进行 linting 并显示大量红色。但我不希望 TSLint 对 .js 文件进行 lint 检查。

我知道我可以为此文件禁用 TSLint,但我宁愿通过tsconfig.jsontslint.json通过 WebStorm 设置执行此操作来正确配置我的项目。

在此输入图像描述

我已经"tslint.jsEnable": false按照此处所述进行了尝试 - https://github.com/Microsoft/vscode-tslint/issues/261 - 但我认为这是针对不同的 IDE 的。有什么想法如何通过 WebStorm 设置来做到这一点tsconfig.jsontslint.json失败吗?

webstorm typescript tslint angular

3
推荐指数
1
解决办法
2972
查看次数

用于检查未定义和 NULL 类属性的 TSLint 规则

在我的 Web 应用程序中,当我定义必须包含某种数据类型的类属性时,我总是指定此数据类型。但应用程序异步获取数据,因此实际上该属性具有未定义的值,然后它具有真实的数据:

class SomeClass {
    a: ISomeData;

    constructor() {
        getDataAsync().then((res: ISomeData) => this.a = res);
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这a: ISomeData是不正确的。一定是a: ISomeData | undefined。(如果this.a = someData在构造函数中同步设置,那就是正确的)是否有 tslint 规则用于检查类属性没有数据并且必须具有未定义的类型?

typescript tslint

3
推荐指数
1
解决办法
2984
查看次数

如何让tslint接受以“_”开头的变量名

我有一个客户的要求,说需要"_"符号。我这样添加:

public _someVariable: string;
Run Code Online (Sandbox Code Playgroud)

但 tslint 说variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)

我想在保留 tslint 配置的同时删除警报,这是我的 tslint 配置:

"variable-name": {
  "options": [
    "ban-keywords",
    "check-format",
    "allow-pascal-case"
  ]
},
Run Code Online (Sandbox Code Playgroud)

typescript tslint

3
推荐指数
1
解决办法
2348
查看次数

如何禁用 TSLint 规则:此规则需要打开“strictNullChecks”编译器选项才能正常运行

我正在升级我们的应用程序,当我尝试构建我的角度应用程序时,出现以下错误:此规则要求打开编译strictNullChecks器选项才能正确运行@typescript-eslint/no-unnecessary-condition

问题是我希望将“strictNullChecks”设置为 false,这样我就不必在以后重构整个应用程序。有没有办法关闭这个规则?我似乎找不到任何关于此的文档。我遇到同样的错误大约 2100 次。任何人的帮助将不胜感激。

我尝试将以下内容添加到我的 angularCompilerOptions 中,但这没有解决我的问题:allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: true

eslint jhipster tslint angular

3
推荐指数
1
解决办法
7428
查看次数

错误“this”对局部变量@typescript-eslint/no-this-alias的意外别名

我该如何解决这个打字稿错误?

我在下面的行中收到错误。

常量自我=这个;

我在终端中收到如下错误:

错误“this”意外别名为局部变量@typescript-eslint/no-this-alias

请找到下面的代码:

notifyOwner(req, metadata, callback) {
    const currentUserId = req.session.identity.individual.userName;
    const docId = metadata.docId;

    let message = this.templates.selfRemoval;
    const self = this;

    const targetUserId = metadata.ownerId;
    const paperTitle = metadata.title.replace(/<(.|\n)*?>/g, '');
    const nonOwnerRole = metadata.userRole;

    message = message.replace(/\[CollaboratorName\]/g, req.session.identity.individual.firstName + ' ' + req.session.identity.individual.lastName);
    message = message.replace(/\[NonOwnerRole\]/g, (nonOwnerRole === 'author') ? 'collaborator' : 'reviewer');
    message = message.replace(/\[PaperTitle\]/g, paperTitle);

    const eventData = {
      message: message,
      objectType: 'manuscript',
      objectId: docId
    };

    self.createEvent(currentUserId, targetUserId, eventData, (err, result) => { …
Run Code Online (Sandbox Code Playgroud)

lint typescript eslint tslint angular

3
推荐指数
1
解决办法
9563
查看次数

TSLint:未使用的var关键字

我已经为我的TypeScript项目配置了TSLint,我不知道警告forbidden var keyword是什么意思.这是一个最小的示例,它会导致TSLint警告:

var x: number = 1;
Run Code Online (Sandbox Code Playgroud)

谢谢.

编辑:我正在使用示例tslint.json.

typescript tslint

2
推荐指数
1
解决办法
3461
查看次数

TypeError:无法使用TSLint和TypeScript读取未定义的属性"getFullWidth"

我一直在关注Dan Wahlin和在线示例的教程,以配置Gulp和Typescript.我有代码运行,但我无法让tslint()工作.tslint()调用总是抛出异常:

node_modules\tslint\lib\language\walker\ruleWalker.js:18
    this.limit = this.sourceFile.getFullWidth();
                                ^

TypeError: Cannot read property 'getFullWidth' of undefined
at EnableDisableRulesWalker.RuleWalker [as constructor] (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\language\walker\ruleWalker.js:18:37)
at EnableDisableRulesWalker.SkippableTokenAwareRuleWalker [as constructor] (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\language\walker\skippableTokenAwareRuleWalker.js:11:16)
at new EnableDisableRulesWalker (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\enableDisableRules.js:13:16)
at Linter.lint (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\tslint.js:16:27)
at C:\Users\sscott\Development\OntarioDarts.com\node_modules\gulp-tslint\index.js:96:34
at respond (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcloader\index.js:73:7)
at respond (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcfinder\index.js:140:7)
at next (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcfinder\index.js:164:16)
at nextTickCallbackWith0Args (node.js:433:9)
at process._tickCallback (node.js:362:13)
Run Code Online (Sandbox Code Playgroud)

我使用的是Windows 10.我有typescript,tslint,gulp-typescript和gulp-tslint.

已安装的版本:

??? gulp-typescript@2.10.0
? ??? typescript@1.7.3
??? gulp-uglify@1.5.1
? ??? uglify-js@2.6.0
?   ??? yargs@3.10.0
?     ??? cliui@2.1.0
?       ??? wordwrap@0.0.2
??? tslint@3.2.1
? ??? optimist@0.6.1
?   ??? wordwrap@0.0.3
??? typescript@1.7.5 …
Run Code Online (Sandbox Code Playgroud)

typescript gulp tslint

2
推荐指数
1
解决办法
920
查看次数

使用tslint时如何忽略*.d.ts文件?

我想在我的工作流程中添加tslint.我通过以下方式安装:

npm install tslint tslint-config-ms-recommended --save-dev
Run Code Online (Sandbox Code Playgroud)

tslint.json看起来像:

{
    "extends": "tslint-config-ms-recommended"
}
Run Code Online (Sandbox Code Playgroud)

然而,当我跑:

./node_modules/.bin/tslint src/**/*.ts
Run Code Online (Sandbox Code Playgroud)

它还会检查很多明确键入的文件,例如:

src/interfaces/highland.d.ts[621, 1]: space indentation expected
src/interfaces/highland.d.ts[622, 1]: space indentation expected
src/interfaces/highland.d.ts[635, 1]: space indentation expected
Run Code Online (Sandbox Code Playgroud)

污染输出.

我想只检查我的*.ts文件,并且正在寻找忽略其他类型的方法.

我看到有一个--exclude选项,但它在运行时仍显示d.ts文件:

./node_modules/.bin/tslint src/**/*.ts --exclude src/**/*.d.ts
Run Code Online (Sandbox Code Playgroud)

typescript tslint

2
推荐指数
1
解决办法
3706
查看次数

如何创建我的自定义tslint规则集?

我想介绍一个可以在多个项目中共享的打字稿编码指南.我不想复制粘贴tslint.json多次,它已经发生了,我们已经发布了它的分歧版本.

我想以我的指南为基础tslint:recommended.我看到tslint语法允许extend,但我不清楚它的用法以及如何构造这样的包.

这样的项目可以仅仅是一个tslint.json本身,还是我需要导出一个模块?

我希望包然后在npm/sinopia实例上托管,但我不确定如何继续.

code-standards npm typescript tslint

2
推荐指数
1
解决办法
1615
查看次数

如何在Ionic2/Angular2上禁用"未使用的导入"警告

我知道有通过禁用选项的那些"未使用的导入的警告给tslint运行时,ionic serve或者ionic build.但我不知道该把它放在哪里.有人知道吗?谢谢

[1] https://palantir.github.io/tslint/rules/no-unused-variable/

ionic-framework tslint ionic2 angular

2
推荐指数
2
解决办法
3398
查看次数