Jon*_*002 5 tslint npm-scripts codelyzer
我正在使用Angular 入门套件
我正在尝试让 tslint 使用 --fix 标志自动修复我所有的 lint 问题。
我正在运行脚本:
npm run tslint --fix src/**/*.ts
它只会生成与我已经被告知的相同错误,tslint而不是自动修复它:
控制台输出:
ERROR: src/app/app-routing.module.ts[10, 5]: comment must start with a space
ERROR: src/app/app-routing.module.ts[2, 20]: Too many spaces before 'from'
Run Code Online (Sandbox Code Playgroud)
我是否缺少允许它实施更改的东西?
我的版本是:
"tslint": "^5.6.0"
"codelyzer": "^3.1.2"
Run Code Online (Sandbox Code Playgroud)
问题:如何让 tslint 对我的 lint 错误实施自动修复?
不幸的是,并非所有的 linting 违规都可以自动修复。您可以在此处通过查找Has Fixer标签来查看哪些规则是可自动修复的。
我的猜测是“评论必须以空格开头”受comment-format规则约束,该规则不可自动修复。
我不确定哪个规则导致了您的第二个错误,但它很可能也无法自动修复。
这是您可以运行的代码段tslint --fix,以验证某些违规行为已修复,而其他违规行为未修复。
//no var keyword (comment does not start with space)
var x: string = 'x';
console.log(x);
// array-type
let y: String[] = [];
console.log(y);
// ban-single-arg-parens
['1', '2'].filter((arg) => {
console.log(arg);
});
// semicolon
let z: string = ''
console.log(z);
// no unused variable
let a: string = '';
// trailing comma
let list = ['1', '2', ];
// missing trailing comma
let obj = [
1,
2
];
Run Code Online (Sandbox Code Playgroud)
对上述文件进行 linting 时要包含的规则:
"semicolon": [true, "always"],
"trailing-comma": [true, {"multiline": "always", "singleline": "never"}],
"array-type": [true, "array-generic"],
"arrow-parens": [true, "ban-single-arg-parens"],
Run Code Online (Sandbox Code Playgroud)
人们很容易认为所有的空白错误都是可以自动修复的,也许它们应该是。可悲的是,他们不是。
| 归档时间: |
|
| 查看次数: |
9181 次 |
| 最近记录: |