{
    "rules": {
      /*
       * SECURITY RULES: The following rules should be turned on because they find security issues
       * or are recommended in the Microsoft Secure Development Lifecycle (SDL).
       */
      "no-banned-terms": true,
      "no-delete-expression": true,
      "no-disable-auto-sanitization": true,
      "no-document-domain": true,
      "no-document-write": true,
      "no-eval": true,
      "no-exec-script": true,
      "no-http-string": [
        true,
        "http://www.example.com/?.*",
        "http://localhost:?.*"
      ],
      "no-inner-html": true,
      "no-octal-literal": true,
      "no-string-based-set-immediate": true,
      "no-string-based-set-interval": true,
      "no-string-based-set-timeout": true,
      "non-literal-require": true,
      "possible-timing-attack": true,
      /* DISABLED SECURITY RULES */
      "non-literal-fs-path": false, // This extension works with user files, so this rule cannot apply.
      "no-cookies": false, // This code doesn't run in a browser so any reference to "cookie" is something else.
      "no-reserved-keywords": false, // Catches contextual keywords "type" and "from" that are used as variable names in many places.
      "insecure-random": false, // Math.random() is used for several valid (non-security) purposes.
      /* END SECURITY RULES */
      "align": [
        true,
        "parameters",
        "statements"
      ],
      "ban": false,
      "class-name": true,
      "curly": false,
      "forin": true,
      "indent": [
        true,
        "spaces"
      ],
      "label-position": true,
      "max-line-length": [
        false,
        100
      ],
      "member-access": true,
      "no-any": false,
      "no-arg": true,
      "no-conditional-assignment": true,
      "no-console": [
        true,
        "debug",
        "info",
        "time",
        "timeEnd",
        "trace"
      ],
      "no-construct": true,
      "no-debugger": true,
      "no-duplicate-variable": true,
      "no-empty": false,
      "no-inferrable-types": false,
      "no-internal-module": true,
      "no-var-keyword": true,
      "no-require-imports": false,
      "no-shadowed-variable": true,
      "no-string-literal": true,
      "no-switch-case-fall-through": true,
      "no-unused-expression": true,
      "no-unused-variable": false,
      "no-use-before-declare": false,
      "no-var-requires": false,
      "one-line": [
        true,
        "check-open-brace",
        "check-catch",
        "check-else",
        "check-whitespace"
      ],
      "radix": true,
      "switch-default": true,
      "triple-equals": [
        true,
        "allow-null-check"
      ],
      "typedef-whitespace": [
        true,
        {
          "call-signature": "nospace",
          "index-signature": "nospace",
          "parameter": "nospace",
          "property-declaration": "nospace",
          "variable-declaration": "nospace"
        }
      ],
      "variable-name": true,
      "whitespace": [
        true,
        "check-branch",
        "check-decl",
        "check-operator",
        "check-separator",
        "check-type"
      ],
      "no-string-throw": true,
      "promise-function-async": false
    }
  }