使用 TSLint 规范你的代码 自定义Rule
TSLint可以帮你规范你的代码,配合 vs code 上的 TSLint 插件,可以帮你治疗你的代码洁癖。
为了统一公司内的代码风格,最近公司也要开发一些 Rule,配合 Prettier 还不是美滋滋?而我就是负责这个 Rule 的开发,TSlint 在国内的资料少之又少, 并且 TSLint 自己的文档对开发自定义 Rule 也是描述的很模糊, 于是避免不了各种找资料,看源码。当你会写第一个 Rule 的时候, 后面的开发就比较顺畅了。现在也还是正在开发,于是抽空写一篇博文出来,帮助也想写自定义 Rule 的同志们,少走一些弯路吧, 有兴趣的话,也可以移步我们正在开发的 MagicSpace,虽然还在开发中,Star✨一下呗 :)
从一个官方的例子看起
进入正题。
由于官方的例子也说的比较明了,先看看官方给出的例子
import * as ts from "typescript";
import * as Lint from "tslint";
export class Rule extends Lint.Rules.AbstractRule {
public static FAILURE_STRING = "import statement forbidden";
public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
return this.applyWithWalker(new NoImportsWalker(sourceFile, this.getOptions()));
}
}
// The walker takes care of all the work.
class NoImportsWalker extends Lint.RuleWalker {
public visitImportDeclaration(node: ts.ImportDeclaration) {
// create a failure at the current position