{
  "extends": ["tslint:latest", "tslint-config-prettier", "tslint-immutable"],
  "rules": {
    "interface-name": [true, "never-prefix"],
    // TODO: allow devDependencies only in **/*.spec.ts files:
    // waiting on https://github.com/palantir/tslint/pull/3708
    "no-implicit-dependencies": [true, "dev"],

    /* tslint-immutable rules */
    // Recommended built-in rules
    "no-var-keyword": true,
    "no-parameter-reassignment": true,
    "typedef": [true, "call-signature"],

    // Immutability rules
    "readonly-keyword": true,
    "readonly-array": true,
    "no-let": true,
    "no-object-mutation": true,
    "no-delete": true,
    "no-method-signature": true,

    // Functional style rules
    "no-this": true,
    "no-class": true,
    "no-mixed-interface": true,
    "no-expression-statement": [
      true,
      { "ignore-prefix": ["console.", "process.exit"] }
    ],
    "no-if-statement": true
    /* end tslint-immutable rules */
  }
}
