Showing 624 of 624 total issues
Throwing plain strings (not instances of Error) gives no stack traces Open
throw("no address for signer: " + this.signer);
- Read upRead up
- Exclude checks
Rule: no-string-throw
Flags throwing plain strings or concatenations of strings.
Rationale
Example – Doing it right
// throwing an Error from typical function, whether sync or async
if (!productToAdd) {
throw new Error("How can I add new product when no value provided?");
}
Example – Anti Pattern
// throwing a string lacks any stack trace information and other important data properties
if (!productToAdd) {
throw ("How can I add new product when no value provided?");
}
Only Error objects contain a .stack
member equivalent to the current stack trace.
Primitives such as strings do not.
Notes
- Has Fix
Config
Not configurable.
Examples
"no-string-throw": true
For more information see this page.
trailing whitespace Open
- Read upRead up
- Exclude checks
Rule: no-trailing-whitespace
Disallows trailing whitespace at the end of a line.
Rationale
Keeps version control diffs clean as it prevents accidental whitespace from being committed.
Notes
- Has Fix
Config
Possible settings are:
-
"ignore-template-strings"
: Allows trailing whitespace in template strings. -
"ignore-comments"
: Allows trailing whitespace in comments. -
"ignore-jsdoc"
: Allows trailing whitespace only in JSDoc comments. -
"ignore-blank-lines"
: Allows trailing whitespace on empty lines.
Examples
"no-trailing-whitespace": true
"no-trailing-whitespace": true,ignore-comments
"no-trailing-whitespace": true,ignore-jsdoc
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"ignore-comments",
"ignore-jsdoc",
"ignore-template-strings",
"ignore-blank-lines"
]
}
}
For more information see this page.
" should be ' Open
import { ethers } from "ethers";
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
" should be ' Open
lockModalActivity: String = "";
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
" should be ' Open
this.web3ModalActivity = "";
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
space indentation expected Open
// "0xba074e774A614a167F88c161125eb515cDe824F0" @rinkeby with 3 1337 false false
- Read upRead up
- Exclude checks
Rule: indent
Enforces indentation with tabs or spaces.
Rationale
Using only one of tabs or spaces for indentation leads to more consistent editor behavior, cleaner diffs in version control, and easier programmatic manipulation.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
spaces
enforces consistent spaces. -
tabs
enforces consistent tabs.
A second optional argument specifies indentation size:
-
2
enforces 2 space indentation. -
4
enforces 4 space indentation.
Indentation size is required for auto-fixing, but not for rule checking.
NOTE: auto-fixing will only convert invalid indent whitespace to the desired type, it will not fix invalid whitespace sizes.
Examples
"indent": true,spaces
"indent": true,spaces,4
"indent": true,tabs,2
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"tabs",
"spaces"
]
},
{
"type": "number",
"enum": [
2,
4
]
}
],
"minLength": 0,
"maxLength": 5
}
For more information see this page.
space indentation expected Open
// "0x9FB6C2d5556C31fCb6c35e88e99b0db3761ec053" @rinkeby with 3 7 false false but citizens was private
- Read upRead up
- Exclude checks
Rule: indent
Enforces indentation with tabs or spaces.
Rationale
Using only one of tabs or spaces for indentation leads to more consistent editor behavior, cleaner diffs in version control, and easier programmatic manipulation.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
spaces
enforces consistent spaces. -
tabs
enforces consistent tabs.
A second optional argument specifies indentation size:
-
2
enforces 2 space indentation. -
4
enforces 4 space indentation.
Indentation size is required for auto-fixing, but not for rule checking.
NOTE: auto-fixing will only convert invalid indent whitespace to the desired type, it will not fix invalid whitespace sizes.
Examples
"indent": true,spaces
"indent": true,spaces,4
"indent": true,tabs,2
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"tabs",
"spaces"
]
},
{
"type": "number",
"enum": [
2,
4
]
}
],
"minLength": 0,
"maxLength": 5
}
For more information see this page.
Identifier 'otherRevolutionContract' is never reassigned; use 'const' instead of 'let'. Open
let otherRevolutionContract = await this
- Read upRead up
- Exclude checks
Rule: prefer-const
Requires that variable declarations use const
instead of let
and var
if possible.
If a variable is only assigned to once when it is declared, it should be declared using 'const'
Notes
- Has Fix
Config
An optional object containing the property "destructuring" with two possible values:
- "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
- "all" - Only warns if all variables in destructuring can be const.
Examples
"prefer-const": true
"prefer-const": true,[object Object]
Schema
{
"type": "object",
"properties": {
"destructuring": {
"type": "string",
"enum": [
"all",
"any"
]
}
}
}
For more information see this page.
" should be ' Open
hashtagWithoutSymbol: String = "<loading hashtag>";
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
" should be ' Open
console.log("lock error with receipt: ", receipt);
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
" should be ' Open
let citizenAddress = "";
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
" should be ' Open
console.log("error: ", error);
- Read upRead up
- Exclude checks
Rule: quotemark
Enforces quote character for string literals.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"single"
enforces single quotes. -
"double"
enforces double quotes. -
"backtick"
enforces backticks. -
"jsx-single"
enforces single quotes for JSX attributes. -
"jsx-double"
enforces double quotes for JSX attributes. -
"avoid-template"
forbids single-line untagged template strings that do not contain string interpolations. Note that backticks may still be used if"avoid-escape"
is enabled and both single and double quotes are present in the string (the latter option takes precedence). -
"avoid-escape"
allows you to use the "other" quotemark in cases where escaping would normally be required. For example,[true, "double", "avoid-escape"]
would not report a failure on the string literal'Hello "World"'
.
Examples
"quotemark": true,single,avoid-escape,avoid-template
"quotemark": true,single,jsx-double
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"single",
"double",
"backtick",
"jsx-single",
"jsx-double",
"avoid-escape",
"avoid-template"
]
},
"minLength": 0,
"maxLength": 5
}
For more information see this page.
== should be === Open
if (locked == true) {
- Read upRead up
- Exclude checks
Rule: triple-equals
Requires ===
and !==
in place of ==
and !=
.
Config
Two arguments may be optionally provided:
-
"allow-null-check"
allows==
and!=
when comparing tonull
. -
"allow-undefined-check"
allows==
and!=
when comparing toundefined
.
Examples
"triple-equals": true
"triple-equals": true,allow-null-check
"triple-equals": true,allow-undefined-check
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"allow-null-check",
"allow-undefined-check"
]
},
"minLength": 0,
"maxLength": 2
}
For more information see this page.
!= should be !== Open
if (ra != "" && ra != null) {
- Read upRead up
- Exclude checks
Rule: triple-equals
Requires ===
and !==
in place of ==
and !=
.
Config
Two arguments may be optionally provided:
-
"allow-null-check"
allows==
and!=
when comparing tonull
. -
"allow-undefined-check"
allows==
and!=
when comparing toundefined
.
Examples
"triple-equals": true
"triple-equals": true,allow-null-check
"triple-equals": true,allow-undefined-check
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"allow-null-check",
"allow-undefined-check"
]
},
"minLength": 0,
"maxLength": 2
}
For more information see this page.
This arrow function body can be simplified by omitting the curly braces and the keyword 'return'. Open
return await this.getSigner().then((signer) => { return signer.sendTransaction(tx); });
- Read upRead up
- Exclude checks
Rule: arrow-return-shorthand
Suggests to convert () => { return x; }
to () => x
.
Rationale
It's unnecessary to include return
and {}
brackets in arrow lambdas.
Leaving them out results in simpler and easier to read code.
Notes
- Has Fix
Config
If multiline
is specified, then this will warn even if the function spans multiple lines.
Examples
"arrow-return-shorthand": true
"arrow-return-shorthand": true,multiline
Schema
{
"type": "string",
"enum": [
"multiline"
]
}
For more information see this page.
Shadowed name: 'contract' Open
public async addSigner(contract) {
- Read upRead up
- Exclude checks
Rule: no-shadowed-variable
Disallows shadowing variable declarations.
Rationale
When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:
const a = 'no shadow';
function print() {
console.log(a);
}
print(); // logs 'no shadow'.
const a = 'no shadow';
function print() {
const a = 'shadow'; // TSLint will complain here.
console.log(a);
}
print(); // logs 'shadow'.
ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.
Config
You can optionally pass an object to disable checking for certain kinds of declarations.
Possible keys are "class"
, "enum"
, "function"
, "import"
, "interface"
, "namespace"
, "typeAlias"
and "typeParameter"
. You can also pass "underscore
" to ignore variable names that begin with _
.
Just set the value to false
for the check you want to disable.
All checks default to true
, i.e. are enabled by default.
Note that you cannot disable variables and parameters.
The option "temporalDeadZone"
defaults to true
which shows errors when shadowing block scoped declarations in their
temporal dead zone. When set to false
parameters, classes, enums and variables declared
with let
or const
are not considered shadowed if the shadowing occurs within their
temporal dead zone.
The following example shows how the "temporalDeadZone"
option changes the linting result:
function fn(value) {
if (value) {
const tmp = value; // no error on this line if "temporalDeadZone" is false
return tmp;
}
let tmp = undefined;
if (!value) {
const tmp = value; // this line always contains an error
return tmp;
}
}
Examples
"no-shadowed-variable": true
"no-shadowed-variable": true,[object Object]
Schema
{
"type": "object",
"properties": {
"class": {
"type": "boolean"
},
"enum": {
"type": "boolean"
},
"function": {
"type": "boolean"
},
"import": {
"type": "boolean"
},
"interface": {
"type": "boolean"
},
"namespace": {
"type": "boolean"
},
"typeAlias": {
"type": "boolean"
},
"typeParameter": {
"type": "boolean"
},
"temporalDeadZone": {
"type": "boolean"
},
"underscore": {
"type": "boolean"
}
}
}
For more information see this page.
Identifier 'priceOfCurrency' is never reassigned; use 'const' instead of 'let'. Open
let priceOfCurrency = this.priceOfCurrencies[this.currency.toString()];
- Read upRead up
- Exclude checks
Rule: prefer-const
Requires that variable declarations use const
instead of let
and var
if possible.
If a variable is only assigned to once when it is declared, it should be declared using 'const'
Notes
- Has Fix
Config
An optional object containing the property "destructuring" with two possible values:
- "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
- "all" - Only warns if all variables in destructuring can be const.
Examples
"prefer-const": true
"prefer-const": true,[object Object]
Schema
{
"type": "object",
"properties": {
"destructuring": {
"type": "string",
"enum": [
"all",
"any"
]
}
}
}
For more information see this page.
space indentation expected Open
this.revolutionAddress = this.web3Service.revolutionAddress;
- Read upRead up
- Exclude checks
Rule: indent
Enforces indentation with tabs or spaces.
Rationale
Using only one of tabs or spaces for indentation leads to more consistent editor behavior, cleaner diffs in version control, and easier programmatic manipulation.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
spaces
enforces consistent spaces. -
tabs
enforces consistent tabs.
A second optional argument specifies indentation size:
-
2
enforces 2 space indentation. -
4
enforces 4 space indentation.
Indentation size is required for auto-fixing, but not for rule checking.
NOTE: auto-fixing will only convert invalid indent whitespace to the desired type, it will not fix invalid whitespace sizes.
Examples
"indent": true,spaces
"indent": true,spaces,4
"indent": true,tabs,2
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"tabs",
"spaces"
]
},
{
"type": "number",
"enum": [
2,
4
]
}
],
"minLength": 0,
"maxLength": 5
}
For more information see this page.
space indentation expected Open
errorDuringCreation: String = "";
- Read upRead up
- Exclude checks
Rule: indent
Enforces indentation with tabs or spaces.
Rationale
Using only one of tabs or spaces for indentation leads to more consistent editor behavior, cleaner diffs in version control, and easier programmatic manipulation.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
spaces
enforces consistent spaces. -
tabs
enforces consistent tabs.
A second optional argument specifies indentation size:
-
2
enforces 2 space indentation. -
4
enforces 4 space indentation.
Indentation size is required for auto-fixing, but not for rule checking.
NOTE: auto-fixing will only convert invalid indent whitespace to the desired type, it will not fix invalid whitespace sizes.
Examples
"indent": true,spaces
"indent": true,spaces,4
"indent": true,tabs,2
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"tabs",
"spaces"
]
},
{
"type": "number",
"enum": [
2,
4
]
}
],
"minLength": 0,
"maxLength": 5
}
For more information see this page.
space indentation expected Open
name: String = "";
- Read upRead up
- Exclude checks
Rule: indent
Enforces indentation with tabs or spaces.
Rationale
Using only one of tabs or spaces for indentation leads to more consistent editor behavior, cleaner diffs in version control, and easier programmatic manipulation.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
spaces
enforces consistent spaces. -
tabs
enforces consistent tabs.
A second optional argument specifies indentation size:
-
2
enforces 2 space indentation. -
4
enforces 4 space indentation.
Indentation size is required for auto-fixing, but not for rule checking.
NOTE: auto-fixing will only convert invalid indent whitespace to the desired type, it will not fix invalid whitespace sizes.
Examples
"indent": true,spaces
"indent": true,spaces,4
"indent": true,tabs,2
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"tabs",
"spaces"
]
},
{
"type": "number",
"enum": [
2,
4
]
}
],
"minLength": 0,
"maxLength": 5
}
For more information see this page.