ClarityMoe/hibiki

View on GitHub
example/typescript/commands/ping.ts

Summary

Maintainability
A
0 mins
Test Coverage

Documentation must exist for public methods.
Open

    public run (ctx: Hibiki.Context): Promise<Eris.Message> {
Severity: Minor
Found in example/typescript/commands/ping.ts by tslint

Rule: completed-docs

Enforces JSDoc comments for important items be filled out.

Rationale

Helps ensure important components are documented.

Note: use this rule sparingly. It's better to have self-documenting names on components with single, concise responsibilities. Comments that only restate the names of variables add nothing to code, and can easily become outdated.

Config

true to enable for [classes, functions, methods, properties], or an array with each item in one of two formats:

  • string to enable for that type
  • object keying types to when their documentation is required:
    • "methods" and "properties" may specify:
      • "privacies":
        • "all"
        • "private"
        • "protected"
        • "public"
      • "locations":
        • "all"
        • "instance"
        • "static"
    • Other types may specify "visibilities":
      • "all"
      • "exported"
      • "internal"
    • "functions" "methods" may also specify "overloads" to indicate that each overload should have its own documentation, which is false by default.
    • All types may also provide "tags" with members specifying tags that allow the docs to not have a body.
      • "content": Object mapping tags to RegExp bodies content allowed to count as complete docs.
      • "existence": Array of tags that must only exist to count as complete docs.

Types that may be enabled are:

  • "classes"
  • "constructors"
  • "enums"
  • "enum-members"
  • "functions"
  • "interfaces"
  • "methods"
  • "namespaces"
  • "properties"
  • "types"
  • "variables"
Examples
"completed-docs": true
"completed-docs": true,enums,functions,methods
"completed-docs": true,[object Object]
Schema
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "options": [
          "classes",
          "enums",
          "functions",
          "interfaces",
          "methods",
          "namespaces",
          "properties",
          "types",
          "variables"
        ],
        "type": "string"
      },
      {
        "type": "object",
        "properties": {
          "classes": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "constructors": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "privacies": {
                "enum": [
                  "all",
                  "private",
                  "protected",
                  "public"
                ],
                "type": "string"
              },
              "overloads": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "enums": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "enum-members": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "functions": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              },
              "overloads": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "interfaces": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "methods": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "locations": {
                "enum": [
                  "all",
                  "instance",
                  "static"
                ],
                "type": "string"
              },
              "privacies": {
                "enum": [
                  "all",
                  "private",
                  "protected",
                  "public"
                ],
                "type": "string"
              },
              "overloads": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "namespaces": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "properties": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "locations": {
                "enum": [
                  "all",
                  "instance",
                  "static"
                ],
                "type": "string"
              },
              "privacies": {
                "enum": [
                  "all",
                  "private",
                  "protected",
                  "public"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "types": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "variables": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      }
    ]
  }
}

For more information see this page.

Documentation must exist for classes.
Open

@Hibiki.ext.command("ping")
Severity: Minor
Found in example/typescript/commands/ping.ts by tslint

Rule: completed-docs

Enforces JSDoc comments for important items be filled out.

Rationale

Helps ensure important components are documented.

Note: use this rule sparingly. It's better to have self-documenting names on components with single, concise responsibilities. Comments that only restate the names of variables add nothing to code, and can easily become outdated.

Config

true to enable for [classes, functions, methods, properties], or an array with each item in one of two formats:

  • string to enable for that type
  • object keying types to when their documentation is required:
    • "methods" and "properties" may specify:
      • "privacies":
        • "all"
        • "private"
        • "protected"
        • "public"
      • "locations":
        • "all"
        • "instance"
        • "static"
    • Other types may specify "visibilities":
      • "all"
      • "exported"
      • "internal"
    • "functions" "methods" may also specify "overloads" to indicate that each overload should have its own documentation, which is false by default.
    • All types may also provide "tags" with members specifying tags that allow the docs to not have a body.
      • "content": Object mapping tags to RegExp bodies content allowed to count as complete docs.
      • "existence": Array of tags that must only exist to count as complete docs.

Types that may be enabled are:

  • "classes"
  • "constructors"
  • "enums"
  • "enum-members"
  • "functions"
  • "interfaces"
  • "methods"
  • "namespaces"
  • "properties"
  • "types"
  • "variables"
Examples
"completed-docs": true
"completed-docs": true,enums,functions,methods
"completed-docs": true,[object Object]
Schema
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "options": [
          "classes",
          "enums",
          "functions",
          "interfaces",
          "methods",
          "namespaces",
          "properties",
          "types",
          "variables"
        ],
        "type": "string"
      },
      {
        "type": "object",
        "properties": {
          "classes": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "constructors": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "privacies": {
                "enum": [
                  "all",
                  "private",
                  "protected",
                  "public"
                ],
                "type": "string"
              },
              "overloads": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "enums": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "enum-members": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "functions": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              },
              "overloads": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "interfaces": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "methods": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "locations": {
                "enum": [
                  "all",
                  "instance",
                  "static"
                ],
                "type": "string"
              },
              "privacies": {
                "enum": [
                  "all",
                  "private",
                  "protected",
                  "public"
                ],
                "type": "string"
              },
              "overloads": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "namespaces": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "properties": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "locations": {
                "enum": [
                  "all",
                  "instance",
                  "static"
                ],
                "type": "string"
              },
              "privacies": {
                "enum": [
                  "all",
                  "private",
                  "protected",
                  "public"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "types": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "variables": {
            "properties": {
              "tags": {
                "properties": {
                  "content": {
                    "items": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "existence": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                }
              },
              "visibilities": {
                "enum": [
                  "all",
                  "exported",
                  "internal"
                ],
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      }
    ]
  }
}

For more information see this page.

missing file header
Open

import * as Eris from "eris";
Severity: Minor
Found in example/typescript/commands/ping.ts by tslint

Rule: file-header

Enforces a certain header comment for all files, matched by a regular expression.

Notes
  • Has Fix

Config

A single object may be passed in for configuration that must contain:

  • match: a regular expression that all headers should match

Any of the following optional fields may also be provided:

  • allow-single-line-comments: a boolean for whether // should be considered file headers in addition to /* comments
  • default: text to add for file headers when running in --fix mode
  • enforce-trailing-newline: a boolean for whether a newline must follow the header

The rule will also accept array of strings as a legacy form of options, though the object form is recommended. The first option, which is mandatory, is a regular expression that all headers should match. The second argument, which is optional, is a string that should be inserted as a header comment if fixing is enabled and no header that matches the first argument is found. The third argument, which is optional, is a string that denotes whether or not a newline should exist on the header.

Examples
"file-header": true,[object Object]
"file-header": true,Copyright \d{4},Copyright 2018,enforce-trailing-newline
Schema
{
  "oneOf": [
    {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "match": {
            "type": "string"
          },
          "allow-single-line-comments": {
            "type": "boolean"
          },
          "default": {
            "type": "string"
          },
          "enforce-trailing-newline": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "type": "array",
      "items": [
        {
          "type": "string"
        },
        {
          "type": "string"
        },
        {
          "type": "string"
        }
      ],
      "additionalItems": false,
      "minLength": 1,
      "maxLength": 3
    }
  ]
}

For more information see this page.

There are no issues that match your filters.

Category
Status