2017-08-15 37 views
0

我使用的角度入门套件: https://github.com/AngularClass/angular-starterTslint --fix不会自动修复,但isntead输出的皮棉问题控制台错误

,我试图让tslint到AUTOFIX用我所有的皮棉问题 - -fix标志。

我运行脚本: npm run tslint --fix src/**/*.ts

它只是输出是说我已经在tslint告知,而不是autofixing它同样的错误:

控制台输出:

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' 

我是否缺少允许其实施更改的内容?

我的版本是:

"tslint": "^5.6.0" 
"codelyzer": "^3.1.2" 

问:我怎样才能tslint实现自动修复到我的皮棉错误?

回答

0

不幸的是,并非所有的linting违规都是可自动修复的。您可以通过查找Has Fixer标签来查看which rules are auto-fixable here

我的猜测是由comment-format rule管辖,这是不是自动可以解决的“发表评论必须以空格开始”。

我不知道哪个规则导致你的第二个错误,但它是最有可能也不会自动解决的。

这里是你可以运行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 
]; 

规则掉毛上述文件时包括:

"semicolon": [true, "always"], 
"trailing-comma": [true, {"multiline": "always", "singleline": "never"}], 
"array-type": [true, "array-generic"], 
"arrow-parens": [true, "ban-single-arg-parens"], 

人们很容易认为所有空白的错误都会被自动可以解决的,也许他们应该。可悲的是,他们不是。

0

更新库tslintcodelyzer到最新。

,然后使用这个命令:

tslint --fix src/**/*.ts -t verbose不使用npm run

完成后,它会显示你的无法修复的问题,所以你必须手动修复它。

您也可以在它添加package.jsonscripts这样的:

"lint-fix": "tslint --fix src/**/*.ts -t verbose"