You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
prefer-spread: In plain JS, it is now considered an error to call function.apply() in cases
where the spread operator could be used instead.
prefer-rest-params: In plain JS, it is now considered an error to use the arguments variable. Use
rest params instead.
prefer-numeric-literals: It is now considered an error to call parseInt to convert a static value from
binary, octal or hexadecimal. Use a binary, octal or hexadecimal literal instead.
prefer-const: In plain JS, it is now considered an error to declare a variable using let if it
is never reassigned. Use const instead.
no-var: Use of var to declare variables is now considered an error in plain JS. Use let
or const instead.
no-useless-rename: Renaming references in import/export statements and destructured assignments is now
considered an error if the new name is the same as the old name.
no-useless-computed-key: Unnecessary use of computed keys in object literals and classes is now disallowed.
prefer-exponentiation-operator: Use of the Math.pow function is now disallowed in favour of the exponentiation
operator **.
no-unneeded-ternary: Ternary expressions are now disallowed in cases where a simpler alternative could
be used instead.
strict: Code must now begin with the "use strict" directive in contexts where it is not
implied. In contexts such as ESM and TypeScript where "use strict" is implied, explicit use of "use strict" is disallowed.
require-unicode-regexp: Regular expressions are now required to include the u flag.
prefer-regex-literals: Calling the RegExp constructor with a string literal or regexp literal as its
argument is now disallowed. Use a regexp literal directly instead.
prefer-promise-reject-errors: It is now considered an error to pass a value that is not an Error to the reject function of a Promise executor.
no-useless-concat: Concatenation of string literals on a single line is now considered an error.
Combine the literals into one string.
no-useless-call: Invocation of function.call() and .apply() is now disallowed in cases where the
function could just be called directly.
no-sequences: Use of the comma operator is now disallowed, except in the initialization or update
portions of a for statement.
no-return-assign: Assigning to a variable within a return statement is now considered an error.
no-param-reassign: Reassigning function parameters is now considered an error.
no-octal-escape: Octal escape sequences are no longer allowed in string literals. Use unicode escape
sequences instead.
no-nonoctal-decimal-escape: The useless escape sequences \8 and \9 are no longer allowed in strings. Write
just 8 or 9 instead.
no-lone-blocks: Unnecessary nested blocks are now disallowed. See no-lone-blocks.
no-iterator: Use of the obsolete SpiderMonkey extension __iterator__ is now disallowed.
no-invalid-this: In plain JS, the this keyword is no longer allowed outside classes or class-like
objects. See no-invalid-this.
no-implicit-coercion: Certain confusing implicit conversions are now disallowed. See no-implicit-coercion.
no-extend-native: It is now considered an error to modify the prototypes of built-in types such as
Array or Object.
no-constructor-return: It is now considered an error to return a value from a constructor.
no-alert: It is now considered an error to call alert(), confirm(), or prompt().
consistent-return: In plain JS, it is now considered an error if one code path through a function
returns an explicit value, but another does not.
array-callback-return: In plain JS, callbacks passed to array functions such as reduce() are now checked
to ensure they return a value. If you don't need to return a value, use forEach instead.
require-atomic-updates: Certain patterns of assignment in asynchronous code are disallowed because they can
lead to race conditions. See require-atomic-updates.
no-useless-backreference: Useless backreferences in regular expressions are now disallowed. See no-useless-backreference.
no-unsafe-optional-chaining: In plain JS code, it is now considered an error to use optional chaining in a
context where undefined is not allowed. See no-unsafe-optional-chaining.
no-promise-executor-return: It is now considered an error to return a value from a Promise executor.
prefer-object-literal: It is now considered an error to create an object and then unconditionally assign
properties to it. Use an object literal instead.
no-useless-catch: Catch clauses that do nothing but rethrow the exception are now disallowed.
no-unused-collection: It is now considered an error to populate a collection but then never use its
contents.
no-redundant-jump: Redundant return, break, or continue statements are now considered an error
in most cases. See no-redundant-jump.
no-redundant-boolean: Redundant boolean literals are now disallowed. See no-redundant-boolean.
no-inverted-boolean-check: Needlessly complex inverted boolean checks are now disallowed. See no-inverted-boolean-check.
no-identical-functions: Functions of three lines or longer with identical implementations are now
disallowed.
no-gratuitous-expressions: Boolean expressions that have no effect are now considered an error. See no-gratuitous-expressions.
no-duplicated-branches: Duplicate branches in conditional statements are now considered an error.
no-collection-size-mischeck: It is now considered an error to test the size of a collection in a way that does
not make sense. See no-collection-size-mischeck.
no-collapsible-if: It is now considered an error to write nested if statements that could be collapsed
into a single statement.
non-existent-operator: Use of the assignment operator = paired with +, - or ! is now disallowed in
contexts where the pairing could be confused for +=, -=, or !=.
no-use-of-empty-return-value: Using the return value of a void function is now disallowed.
no-one-iteration-loop: Loops that iterate at most once are now considered to be an error.
no-ignored-return: It is now considered an error to ignore the return value of certain functions that
are known to have no side-effects.
no-empty-collection: It is now considered an error to access or iterate a collection that is definitely
empty.
no-identical-expressions: It is now considered an error to specify identical expressions on either side of a
binary operator where it makes little sense to do so. See no-identical-expressions.
no-identical-conditions: Related if/else if statements with identical conditions are no longer allowed.
no-extra-arguments: In plain JS (not TypeScript), it is now considered an error to pass extra unused
arguments to a function.
no-element-overwrite: It is now considered an error to unconditionally overwrite an element in a
collection that was previously set.
no-all-duplicated-branches: Conditional statements or expressions where all branches have the same
implementation are now considered to be an error.
prefer-while: The prefer-while rule now applies to plain JavaScript as well as TypeScript.
strict-boolean-expressions: It is no longer permitted to perform implicit casts to boolean. Non-boolean
expressions may not be used the argument of a conditional statement, or as the argument of a boolean
operator.
require-array-sort-compare: Calls to array.sort() must now provide a compare function, unless the array is an
array of strings.
prefer-string-starts-ends-with: Code that compares the start or end of a string to a value must now use the
startsWith or endsWith functions.
prefer-return-this-type: Functions that always return this must be typed as returning this.
prefer-readonly: Private class members must now be marked readonly if they are not modified outside
the constructor.
prefer-optional-chain: Chains of logical and expressions are now disallowed where optional chain
expressions could be used instead.
prefer-nullish-coalescing: Use of boolean operators to coalesce nullish values is no longer allowed. Use the
nullish coalescing operator ?? instead.
prefer-includes: Use of indexOf or regular expressions is no longer allowed in cases where
includes() could be used instead.
non-nullable-type-assertion-style: Type casts that only remove null and/or undefined from the type are no longer
allowed. Use notNull() from @softwareventures/nullable instead.
no-unused-expressions: Unused JSX expressions are no longer allowed.
no-unsafe-return: Returning any from a function that declares a specific return type is no longer
allowed. Cast the value to unknown and narrow its type using type guards instead.
no-unsafe-member-access: Member access to any types is no longer allowed. Cast the value to unknown and
narrow its type using type guards instead.
no-unsafe-assignment: Assigning any to a variable with a specific type is no longer allowed. Cast the
value to unknown and then narrow its type using type guards instead.
no-unsafe-argument: Passing any to a function that expects a specific type is no longer allowed.
Cast the value to unknown and then narrow its type using type guards instead.
no-unnecessary-type-constraint: Generic type constraints that extend unknown are no longer allowed. These are
useless and can be omitted.
no-unnecessary-type-assertion: Type assertions that do not change the type of the expression are no longer
allowed.
no-unnecessary-type-arguments: Unnecessary type arguments (that match the default) are no longer allowed.
no-unnecessary-qualifier: Unnecessary namespace or enum qualifiers are no longer allowed.
no-loss-of-precision: Numeric literals that cannot be precisely represented as Number values are no
longer allowed.
no-loop-func: Functions declared inside loop statements may not reference variables from the loop
scope declared with var, or variables declared with let or var from any parent scope where the
variable is modified inside or outside the loop. Such code is unlikely to behave as the author
intended and is usually indicative of an error.
no-invalid-void-type: Use of the type void is no longer allowed except as a function return type or as
a generic type parameter. Outside of these contexts, undefined is more appropriate.
no-implicit-any-catch: Use of the any type in a catch clause is no longer allowed. This is the default
type for the catch clause variable, and the only other permissible type is unknown, so catch
clause variables must be explicitly typed as unknown. The error can then be handled by narrowing
the type using type guards.
no-explicit-any: Use of the any type is no longer allowed. Use the actual type if possible, or use unknown in combination with type guards if not.
no-confusing-void-expression: Void expressions are now disallowed in certain contexts. Void expressions may not
be returned from a function, assigned to a variable, or passed as a parameter, unless explicitly
marked as void using the void operator to make the intent clear. See no-confusing-void-expressions
for rationale.
no-non-null-assertion: Use of the non-null assertion ! is now disallowed. Use optional chaining ?. or
the notNull() assertion from @softwareventures/nullable instead.
no-base-to-string: Calling the base Object.toString method (explicitly or implicitly) is now
disallowed.
naming-convention: Some naming conventions are now enforced. Variables, functions, parameters and enum
members must be named in camelCase. Types must be named in PascalCase. Property and method names
should be in camelCase but are not enforced because that would prevent the use of many third-party
libraries.
method-signature-style: The method-signature-style
rule is now enforced with option "property". Method signatures must be expressed as properties
with function types, instead of using method syntax. This style enables more correct typechecking.
See the documentation of the rule for more.
explicit-module-boundary-types: Exported variables must now specify an explicit type.
consistent-type-imports: Type-only imports are now required wherever possible. Dynamic-style imports of
types are disallowed. See consistent-type-imports.
The rule is enforced with its default settings.
consistent-type-definitions: The rule consistent-type-definitions
is now enforced. "interface" is preferred over "type" wherever possible.
consistent-type-assertions: The rule consistent-type-assertions
is now enforced, with configuration {{assertionStyle: "as", objectLiteralTypeAssertions: "never"}.
no-irregular-whitespace: The no-irregular-whitespace rule is now
enforced for string literals as well as in all other contexts (skipStrings: false). If you need
irregular whitespace characters in a string literal, use a Unicode escape instead.
ban-types: The type {} is now disallowed by the ban-types rule.