statements are not aligned Open
contractWrite: () => Promise<`0x${string}`>,
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: align
Enforces vertical alignment.
Rationale
Helps maintain a readable, consistent style in your codebase.
Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"parameters"
checks alignment of function parameters. -
"arguments"
checks alignment of function call arguments. -
"statements"
checks alignment of statements. -
"members"
checks alignment of members of classes, interfaces, type literal, object literals and object destructuring. -
"elements"
checks alignment of elements of array literals, array destructuring and tuple types.
Examples
"align": true,parameters,statements
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"arguments",
"elements",
"members",
"parameters",
"statements"
]
},
"minLength": 1,
"maxLength": 5
}
For more information see this page.
missing whitespace Open
contractWrite: () => Promise<`0x${string}`>,
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: whitespace
Enforces whitespace style conventions.
Rationale
Helps maintain a readable, consistent style in your codebase.
Notes
- Has Fix
Config
Several arguments may be optionally provided:
-
"check-branch"
checks branching statements (if
/else
/for
/while
) are followed by whitespace. -
"check-decl"
checks that variable declarations have whitespace around the equals token. -
"check-operator"
checks for whitespace around operator tokens. -
"check-module"
checks for whitespace in import & export statements. -
"check-separator"
checks for whitespace after separator tokens (,
/;
). -
"check-rest-spread"
checks that there is no whitespace after rest/spread operator (...
). -
"check-type"
checks for whitespace before a variable type specification. -
"check-typecast"
checks for whitespace between a typecast and its target. -
"check-type-operator"
checks for whitespace between type operators|
and&
. -
"check-preblock"
checks for whitespace before the opening brace of a block. -
"check-postbrace"
checks for whitespace after an opening brace.
Examples
"whitespace": true,check-branch,check-operator,check-typecast
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock",
"check-postbrace"
]
},
"minLength": 0,
"maxLength": 11
}
For more information see this page.
missing whitespace Open
): Promise<WrapWithToastReturnType> {
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: whitespace
Enforces whitespace style conventions.
Rationale
Helps maintain a readable, consistent style in your codebase.
Notes
- Has Fix
Config
Several arguments may be optionally provided:
-
"check-branch"
checks branching statements (if
/else
/for
/while
) are followed by whitespace. -
"check-decl"
checks that variable declarations have whitespace around the equals token. -
"check-operator"
checks for whitespace around operator tokens. -
"check-module"
checks for whitespace in import & export statements. -
"check-separator"
checks for whitespace after separator tokens (,
/;
). -
"check-rest-spread"
checks that there is no whitespace after rest/spread operator (...
). -
"check-type"
checks for whitespace before a variable type specification. -
"check-typecast"
checks for whitespace between a typecast and its target. -
"check-type-operator"
checks for whitespace between type operators|
and&
. -
"check-preblock"
checks for whitespace before the opening brace of a block. -
"check-postbrace"
checks for whitespace after an opening brace.
Examples
"whitespace": true,check-branch,check-operator,check-typecast
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock",
"check-postbrace"
]
},
"minLength": 0,
"maxLength": 11
}
For more information see this page.
unused expression, expected an assignment or function call Open
): Promise<WrapWithToastReturnType> {
toast.info("Transaction initiated", OPTIONS);
return await contractWrite()
.then(
async (hash) =>
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: no-unused-expression
Disallows unused expression statements.
Unused expressions are expression statements which are not assignments or function calls (and thus usually no-ops).
Rationale
Detects potential errors where an assignment or function call was intended.
Config
Three arguments may be optionally provided:
-
allow-fast-null-checks
allows to use logical operators to perform fast null checks and perform method or function calls for side effects (e.g.e && e.preventDefault()
). -
allow-new
allows 'new' expressions for side effects (e.g.new ModifyGlobalState();
. -
allow-tagged-template
allows tagged templates for side effects (e.g.this.add\
foo`;`.
Examples
"no-unused-expression": true
"no-unused-expression": true,allow-fast-null-checks
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"allow-fast-null-checks",
"allow-new",
"allow-tagged-template"
]
},
"minLength": 0,
"maxLength": 3
}
For more information see this page.
missing whitespace Open
): Promise<WrapWithToastReturnType> {
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: whitespace
Enforces whitespace style conventions.
Rationale
Helps maintain a readable, consistent style in your codebase.
Notes
- Has Fix
Config
Several arguments may be optionally provided:
-
"check-branch"
checks branching statements (if
/else
/for
/while
) are followed by whitespace. -
"check-decl"
checks that variable declarations have whitespace around the equals token. -
"check-operator"
checks for whitespace around operator tokens. -
"check-module"
checks for whitespace in import & export statements. -
"check-separator"
checks for whitespace after separator tokens (,
/;
). -
"check-rest-spread"
checks that there is no whitespace after rest/spread operator (...
). -
"check-type"
checks for whitespace before a variable type specification. -
"check-typecast"
checks for whitespace between a typecast and its target. -
"check-type-operator"
checks for whitespace between type operators|
and&
. -
"check-preblock"
checks for whitespace before the opening brace of a block. -
"check-postbrace"
checks for whitespace after an opening brace.
Examples
"whitespace": true,check-branch,check-operator,check-typecast
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock",
"check-postbrace"
]
},
"minLength": 0,
"maxLength": 11
}
For more information see this page.
Missing semicolon Open
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: semicolon
Enforces consistent semicolon usage at the end of every statement.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
"always"
enforces semicolons at the end of every statement. -
"never"
disallows semicolons at the end of every statement except for when they are necessary.
The following arguments may be optionally provided:
-
"ignore-interfaces"
skips checking semicolons at the end of interface members. -
"ignore-bound-class-methods"
skips checking semicolons at the end of bound class methods. -
"strict-bound-class-methods"
disables any special handling of bound class methods and treats them as any other assignment. This option overrides"ignore-bound-class-methods"
.
Examples
"semicolon": true,always
"semicolon": true,never
"semicolon": true,always,ignore-interfaces
"semicolon": true,always,ignore-bound-class-methods
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"always",
"never"
]
},
{
"type": "string",
"enum": [
"ignore-interfaces"
]
}
],
"additionalItems": false
}
For more information see this page.
statements are not aligned Open
): Promise<WrapWithToastReturnType> {
toast.info("Transaction initiated", OPTIONS);
return await contractWrite()
.then(
async (hash) =>
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: align
Enforces vertical alignment.
Rationale
Helps maintain a readable, consistent style in your codebase.
Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"parameters"
checks alignment of function parameters. -
"arguments"
checks alignment of function call arguments. -
"statements"
checks alignment of statements. -
"members"
checks alignment of members of classes, interfaces, type literal, object literals and object destructuring. -
"elements"
checks alignment of elements of array literals, array destructuring and tuple types.
Examples
"align": true,parameters,statements
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"arguments",
"elements",
"members",
"parameters",
"statements"
]
},
"minLength": 1,
"maxLength": 5
}
For more information see this page.
block is empty Open
contractWrite: () => Promise<`0x${string}`>,
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: no-empty
Disallows empty blocks.
Blocks with a comment inside are not considered empty.
Rationale
Empty blocks are often indicators of missing code.
Config
If allow-empty-catch
is specified, then catch blocks are allowed to be empty.
If allow-empty-functions
is specified, then function definitions are allowed to be empty.
Examples
"no-empty": true
"no-empty": true,allow-empty-catch
"no-empty": true,allow-empty-functions
"no-empty": true,allow-empty-catch,allow-empty-functions
Schema
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"enum": [
"allow-empty-catch"
]
},
{
"type": "string",
"enum": [
"allow-empty-functions"
]
}
]
}
}
For more information see this page.
Do not use comma operator here because it can be easily misunderstood or lead to unintended bugs. Open
contractWrite: () => Promise<`0x${string}`>,
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: ban-comma-operator
Disallows the comma operator to be used.
Read more about the comma operator here.
Rationale
Using the comma operator can create a potential for many non-obvious bugs or lead to misunderstanding of code.
Examples
foo((bar, baz)); // evaluates to 'foo(baz)' because of the extra parens - confusing and not obvious
switch (foo) {
case 1, 2: // equals 'case 2' - probably intended 'case 1: case2:'
return true;
case 3:
return false;
}
let x = (y = 1, z = 2); // x is equal to 2 - this may not be immediately obvious.
Examples
"ban-comma-operator": true
For more information see this page.
Missing semicolon Open
}
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: semicolon
Enforces consistent semicolon usage at the end of every statement.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
"always"
enforces semicolons at the end of every statement. -
"never"
disallows semicolons at the end of every statement except for when they are necessary.
The following arguments may be optionally provided:
-
"ignore-interfaces"
skips checking semicolons at the end of interface members. -
"ignore-bound-class-methods"
skips checking semicolons at the end of bound class methods. -
"strict-bound-class-methods"
disables any special handling of bound class methods and treats them as any other assignment. This option overrides"ignore-bound-class-methods"
.
Examples
"semicolon": true,always
"semicolon": true,never
"semicolon": true,always,ignore-interfaces
"semicolon": true,always,ignore-bound-class-methods
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"always",
"never"
]
},
{
"type": "string",
"enum": [
"ignore-interfaces"
]
}
],
"additionalItems": false
}
For more information see this page.
unused expression, expected an assignment or function call Open
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: no-unused-expression
Disallows unused expression statements.
Unused expressions are expression statements which are not assignments or function calls (and thus usually no-ops).
Rationale
Detects potential errors where an assignment or function call was intended.
Config
Three arguments may be optionally provided:
-
allow-fast-null-checks
allows to use logical operators to perform fast null checks and perform method or function calls for side effects (e.g.e && e.preventDefault()
). -
allow-new
allows 'new' expressions for side effects (e.g.new ModifyGlobalState();
. -
allow-tagged-template
allows tagged templates for side effects (e.g.this.add\
foo`;`.
Examples
"no-unused-expression": true
"no-unused-expression": true,allow-fast-null-checks
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"allow-fast-null-checks",
"allow-new",
"allow-tagged-template"
]
},
"minLength": 0,
"maxLength": 3
}
For more information see this page.
statements are not aligned Open
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: align
Enforces vertical alignment.
Rationale
Helps maintain a readable, consistent style in your codebase.
Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.
Notes
- Has Fix
Config
Five arguments may be optionally provided:
-
"parameters"
checks alignment of function parameters. -
"arguments"
checks alignment of function call arguments. -
"statements"
checks alignment of statements. -
"members"
checks alignment of members of classes, interfaces, type literal, object literals and object destructuring. -
"elements"
checks alignment of elements of array literals, array destructuring and tuple types.
Examples
"align": true,parameters,statements
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"arguments",
"elements",
"members",
"parameters",
"statements"
]
},
"minLength": 1,
"maxLength": 5
}
For more information see this page.
missing whitespace Open
): Promise<WrapWithToastReturnType> {
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: whitespace
Enforces whitespace style conventions.
Rationale
Helps maintain a readable, consistent style in your codebase.
Notes
- Has Fix
Config
Several arguments may be optionally provided:
-
"check-branch"
checks branching statements (if
/else
/for
/while
) are followed by whitespace. -
"check-decl"
checks that variable declarations have whitespace around the equals token. -
"check-operator"
checks for whitespace around operator tokens. -
"check-module"
checks for whitespace in import & export statements. -
"check-separator"
checks for whitespace after separator tokens (,
/;
). -
"check-rest-spread"
checks that there is no whitespace after rest/spread operator (...
). -
"check-type"
checks for whitespace before a variable type specification. -
"check-typecast"
checks for whitespace between a typecast and its target. -
"check-type-operator"
checks for whitespace between type operators|
and&
. -
"check-preblock"
checks for whitespace before the opening brace of a block. -
"check-postbrace"
checks for whitespace after an opening brace.
Examples
"whitespace": true,check-branch,check-operator,check-typecast
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock",
"check-postbrace"
]
},
"minLength": 0,
"maxLength": 11
}
For more information see this page.
Unnecessary 'await'. Open
await publicClient.waitForTransactionReceipt({ hash, confirmations: 2 }).then((res: TransactionReceipt) => {
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: no-return-await
Disallows unnecessary return await
.
Rationale
An async function always wraps the return value in a Promise.
Using return await
just adds extra time before the overreaching promise is resolved without changing the semantics.
Notes
- Has Fix
Config
Not configurable.
Examples
"no-return-await": true
For more information see this page.
Unnecessary 'await'. Open
return await promise.catch((error) => toast.error(error.shortMessage ?? error.message, OPTIONS));
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: no-return-await
Disallows unnecessary return await
.
Rationale
An async function always wraps the return value in a Promise.
Using return await
just adds extra time before the overreaching promise is resolved without changing the semantics.
Notes
- Has Fix
Config
Not configurable.
Examples
"no-return-await": true
For more information see this page.
Missing semicolon Open
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: semicolon
Enforces consistent semicolon usage at the end of every statement.
Notes
- Has Fix
Config
One of the following arguments must be provided:
-
"always"
enforces semicolons at the end of every statement. -
"never"
disallows semicolons at the end of every statement except for when they are necessary.
The following arguments may be optionally provided:
-
"ignore-interfaces"
skips checking semicolons at the end of interface members. -
"ignore-bound-class-methods"
skips checking semicolons at the end of bound class methods. -
"strict-bound-class-methods"
disables any special handling of bound class methods and treats them as any other assignment. This option overrides"ignore-bound-class-methods"
.
Examples
"semicolon": true,always
"semicolon": true,never
"semicolon": true,always,ignore-interfaces
"semicolon": true,always,ignore-bound-class-methods
Schema
{
"type": "array",
"items": [
{
"type": "string",
"enum": [
"always",
"never"
]
},
{
"type": "string",
"enum": [
"ignore-interfaces"
]
}
],
"additionalItems": false
}
For more information see this page.
unused expression, expected an assignment or function call Open
contractWrite: () => Promise<`0x${string}`>,
publicClient: PublicClient
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: no-unused-expression
Disallows unused expression statements.
Unused expressions are expression statements which are not assignments or function calls (and thus usually no-ops).
Rationale
Detects potential errors where an assignment or function call was intended.
Config
Three arguments may be optionally provided:
-
allow-fast-null-checks
allows to use logical operators to perform fast null checks and perform method or function calls for side effects (e.g.e && e.preventDefault()
). -
allow-new
allows 'new' expressions for side effects (e.g.new ModifyGlobalState();
. -
allow-tagged-template
allows tagged templates for side effects (e.g.this.add\
foo`;`.
Examples
"no-unused-expression": true
"no-unused-expression": true,allow-fast-null-checks
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"allow-fast-null-checks",
"allow-new",
"allow-tagged-template"
]
},
"minLength": 0,
"maxLength": 3
}
For more information see this page.
missing whitespace Open
contractWrite: () => Promise<`0x${string}`>,
- Read upRead up
- Create a ticketCreate a ticket
- Exclude checks
Rule: whitespace
Enforces whitespace style conventions.
Rationale
Helps maintain a readable, consistent style in your codebase.
Notes
- Has Fix
Config
Several arguments may be optionally provided:
-
"check-branch"
checks branching statements (if
/else
/for
/while
) are followed by whitespace. -
"check-decl"
checks that variable declarations have whitespace around the equals token. -
"check-operator"
checks for whitespace around operator tokens. -
"check-module"
checks for whitespace in import & export statements. -
"check-separator"
checks for whitespace after separator tokens (,
/;
). -
"check-rest-spread"
checks that there is no whitespace after rest/spread operator (...
). -
"check-type"
checks for whitespace before a variable type specification. -
"check-typecast"
checks for whitespace between a typecast and its target. -
"check-type-operator"
checks for whitespace between type operators|
and&
. -
"check-preblock"
checks for whitespace before the opening brace of a block. -
"check-postbrace"
checks for whitespace after an opening brace.
Examples
"whitespace": true,check-branch,check-operator,check-typecast
Schema
{
"type": "array",
"items": {
"type": "string",
"enum": [
"check-branch",
"check-decl",
"check-operator",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-typecast",
"check-type-operator",
"check-preblock",
"check-postbrace"
]
},
"minLength": 0,
"maxLength": 11
}
For more information see this page.