Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
@typescript-eslint/eslint-plugin
Advanced tools
The @typescript-eslint/eslint-plugin package is an ESLint plugin that contains a set of ESLint rules that are specifically designed for TypeScript code. It helps in identifying and reporting on patterns found in TypeScript code, and it can be used to enforce a wide range of coding standards and conventions.
Type-aware linting
This feature allows for rules that require type information. For example, the 'strict-boolean-expressions' rule ensures that boolean expressions are clear and error-free by considering the types involved in the expression.
/* eslint @typescript-eslint/strict-boolean-expressions: 'error' */
function isTruthy(value: any): boolean {
return Boolean(value);
}
Code style enforcement
Enforces naming conventions for everything from variables to type parameters. This example enforces camelCase naming for variables.
/* eslint @typescript-eslint/naming-convention: ['error', { 'selector': 'variable', 'format': ['camelCase'] }] */
let myVariable = 1;
Accessibility checks
This feature requires functions and methods to explicitly define their return type to improve code readability and maintainability.
/* eslint @typescript-eslint/explicit-function-return-type: 'warn' */
function add(x: number, y: number) {
return x + y;
}
This package provides linting rules for React and JSX. It's similar to @typescript-eslint/eslint-plugin in that it extends ESLint's capabilities to a specific language extension, but it focuses on React rather than TypeScript.
This package is designed for linting Vue.js templates and scripts. Like @typescript-eslint/eslint-plugin, it provides additional rules that are specific to the Vue.js framework, complementing the standard ESLint rules.
This plugin provides a set of rules that help ensure proper imports, exports, and module structure. While it's not specific to TypeScript, it complements @typescript-eslint/eslint-plugin by enforcing best practices in module usage.
An ESLint plugin which provides lint rules for TypeScript codebases.
These docs walk you through setting up ESLint, this plugin, and our parser. If you know what you're doing and just want to quick start, read on...
Make sure you have TypeScript and @typescript-eslint/parser
installed:
$ yarn add -D typescript @typescript-eslint/parser
$ npm i --save-dev typescript @typescript-eslint/parser
Then install the plugin:
$ yarn add -D @typescript-eslint/eslint-plugin
$ npm i --save-dev @typescript-eslint/eslint-plugin
It is important that you use the same version number for @typescript-eslint/parser
and @typescript-eslint/eslint-plugin
.
Note: If you installed ESLint globally (using the -g
flag) then you must also install @typescript-eslint/eslint-plugin
globally.
Add @typescript-eslint/parser
to the parser
field and @typescript-eslint
to the plugins section of your .eslintrc
configuration file, then configure the rules you want to use under the rules section.
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"rules": {
"@typescript-eslint/rule-name": "error"
}
}
You can also enable all the recommended rules for our plugin. Add plugin:@typescript-eslint/recommended
in extends:
{
"extends": ["plugin:@typescript-eslint/recommended"]
}
You can also use eslint:recommended
(the set of rules which are recommended for all projects by the ESLint Team) with this plugin:
{
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"]
}
As of version 2 of this plugin, by design, none of the rules in the main recommended
config require type-checking in order to run. This means that they are more lightweight and faster to run.
Some highly valuable rules require type-checking in order to be implemented correctly, however, so we provide an additional config you can extend from called recommended-requiring-type-checking
. You would apply this in addition to the recommended configs previously mentioned, e.g.:
{
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
]
}
Pro Tip: For larger codebases you may want to consider splitting our linting into two separate stages: 1. fast feedback rules which operate purely based on syntax (no type-checking), 2. rules which are based on semantics (type-checking).
You can read more about linting with type information here
For the exhaustive list of supported rules, please see our website.
FAQs
TypeScript plugin for ESLint
The npm package @typescript-eslint/eslint-plugin receives a total of 25,960,511 weekly downloads. As such, @typescript-eslint/eslint-plugin popularity was classified as popular.
We found that @typescript-eslint/eslint-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.