not finished

This commit is contained in:
Asher
2019-01-07 18:46:19 -06:00
committed by Kyle Carberry
parent 776bb227e6
commit 9cd81f73fa
79 changed files with 11015 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
{
"name": "@coder/rules",
"description": "Custom linting rules.",
"scripts": {
"build": "tsc -p ."
}
}

View File

@@ -0,0 +1,37 @@
import * as ts from "typescript";
import * as Lint from "tslint";
/**
* Curly statement newlines rule.
*/
export class Rule extends Lint.Rules.AbstractRule {
public static FAILURE_STRING = "curly statements must separate with newlines";
/**
* Apply the rule.
*/
public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
return this.applyWithWalker(new CurlyStatementNewlinesWalker(sourceFile, this.getOptions()));
}
}
/**
* Curly statement newlines walker.
*/
class CurlyStatementNewlinesWalker extends Lint.RuleWalker {
/**
* Visit if statements.
*/
public visitIfStatement(node: ts.IfStatement): void {
const splitLength = node.getFullText().split("\n").length;
if (splitLength <= 2) {
this.addFailureAt(node.getStart(), node.getWidth(), Rule.FAILURE_STRING);
}
super.visitIfStatement(node);
}
}

View File

@@ -0,0 +1,12 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"sourceMap": false,
"declaration": false,
"rootDir": "./src",
"outDir": "./dist"
},
"include": [
"."
]
}

4
packages/rules/yarn.lock Normal file
View File

@@ -0,0 +1,4 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1