text: {
    "extends": ["tslint-config-airbnb"],
    "rules": {
      /* modifications to base config */
      // adds statements, members, and elements to the base config
      "align": [true, "parameters", "arguments", "statements", "members", "elements"],
      // adds number of spaces so auto-fixing will work
      "indent": [true, "spaces", 2],
      // increase value from 100 in base config to 120
      "max-line-length": [true, 120],
      // adds avoid-escape and avoid-template
      "quotemark": [true, "single", "avoid-escape", "avoid-template"],
      // adds ban-keywords and allow-leading-underscores
      // once this gets implemented, we should incorporate it: https://github.com/palantir/tslint/issues/3442
      "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"],
      // adds check-module, check-type, check-rest-spread, check-typecast, check-type-operator
      "whitespace": [true,
        "check-branch",
        "check-decl",
        "check-operator",
        "check-preblock",
        "check-type",
        "check-module",
        "check-separator",
        "check-rest-spread",
        "check-typecast",
        "check-type-operator"
      ],
  
      /* not used in base config */
      "await-promise": true,
      "ban-comma-operator": true,
      // Disabling the following rule because of https://github.com/palantir/tslint/issues/4493
      // "completed-docs": true,
      "interface-over-type-literal": true,
      "jsdoc-format": [true, "check-multiline-start"],
      "member-access": [true, "check-accessor"],
      "no-duplicate-imports": true,
      "no-duplicate-switch-case": true,
      "no-duplicate-variable": true,
      "no-dynamic-delete": true,
      "no-empty": true,
      "no-floating-promises": true,
      "no-for-in-array": true,
      "no-implicit-dependencies": true,
      "no-object-literal-type-assertion": true,
      "no-redundant-jsdoc": true,
      "no-require-imports": true,
      "no-return-await": true,
      "no-submodule-imports": true,
      "no-this-assignment": true,
      "no-unused-expression": true,
      "no-var-requires": true,
      "one-line": [true, "check-else", "check-whitespace", "check-open-brace", "check-catch", "check-finally"],
      "strict-boolean-expressions": [true, "allow-boolean-or-undefined"],
      "typedef": [true, "call-signature"],
      "typedef-whitespace": [true, {
        "call-signature": "nospace",
        "index-signature": "nospace",
        "parameter": "nospace",
        "property-declaration": "nospace",
        "variable-declaration": "nospace"
      }]
      // TODO: find a rule similar to https://palantir.github.io/tslint/rules/no-construct/, except it bans those types
      // from interfaces (e.g. a function that returns Boolean is an error, it should return boolean)
    },
    "linterOptions": {
      "format": "verbose"
    }
  }
  