All files / src/rules no-lonely-index.ts

100% Statements 6/6
100% Branches 4/4
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 212x     2x   2x   3x         1x         2x      
import { Rule } from '../rule';
import { Node } from '../types';
 
const MATCHES_INDEX_FILE = /^index\./;
 
export class NoLonelyIndex extends Rule {
  public run(node: Node) {
    if (
      !node.isDirectory &&
      MATCHES_INDEX_FILE.test(node.name) &&
      node.siblingNamesIncludingSelf.length === 1
    ) {
      this.report(`Lonely index file at ${node.path}`);
    }
  }
 
  protected getName() {
    return 'NoLonelyIndex';
  }
}