Socket
Socket
Sign inDemoInstall

@typescript-eslint/utils

Package Overview
Dependencies
123
Maintainers
1
Versions
1745
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @typescript-eslint/utils

Utilities for working with TypeScript + ESLint together


Version published
Maintainers
1
Created

Package description

What is @typescript-eslint/utils?

The @typescript-eslint/utils package provides utility functions and types that are used across the TypeScript ESLint project. It's designed to help with the development of ESLint rules, parsers, and plugins by providing a consistent set of tools for working with TypeScript code. This package is particularly useful for those creating custom ESLint rules or integrating TypeScript more deeply into their ESLint configurations.

What are @typescript-eslint/utils's main functionalities?

AST Utilities

AST Utilities provide functions to work with Abstract Syntax Tree (AST) nodes. These utilities can help in identifying node types, such as checking if a node is an identifier or a literal, which is useful when writing custom ESLint rules.

import { ASTUtils } from '@typescript-eslint/utils';
const { isIdentifier, isLiteral } = ASTUtils;

Type Checking

This feature allows rule developers to access TypeScript's type checker, enabling them to perform more sophisticated analyses, such as type inference or type checking, within their custom ESLint rules.

import { ESLintUtils } from '@typescript-eslint/utils';
const { getParserServices } = ESLintUtils;
const parserServices = getParserServices(context);
const checker = parserServices.program.getTypeChecker();

ESLint Rule Creation

Provides a utility for creating ESLint rules with a consistent structure and metadata. This is particularly useful for developers creating custom rules for projects that use TypeScript.

import { ESLintUtils } from '@typescript-eslint/utils';
const createRule = ESLintUtils.RuleCreator(name => `https://example.com/rule/${name}`);
const myRule = createRule({
  name: 'my-custom-rule',
  meta: { /* rule metadata */ },
  defaultOptions: [],
  create(context) { /* rule implementation */ }
});

Other packages similar to @typescript-eslint/utils

Changelog

Source

5.39.0 (2022-10-03)

Features

  • eslint-plugin: allow using void as a default type for a generic argument if allowInGenericTypeArguments is specified (#5671) (bb46ef0)

Readme

Source

Utils for ESLint Plugins

Utilities for working with TypeScript + ESLint together.

CI NPM Version NPM Downloads

Exports

NameDescription
ASTUtilsTools for operating on the ESTree AST. Also includes the eslint-utils package, correctly typed to work with the types found in TSESTree
ESLintUtilsTools for creating ESLint rules with TypeScript.
JSONSchemaTypes from the @types/json-schema package, re-exported to save you having to manually import them. Also ensures you're using the same version of the types as this package.
TSESLintTypes for ESLint, correctly typed to work with the types found in TSESTree.
TSESLintScopeThe eslint-scope package, correctly typed to work with the types found in both TSESTree and TSESLint
TSESTreeTypes for the TypeScript flavor of ESTree created by @typescript-eslint/typescript-estree.
AST_NODE_TYPESAn enum with the names of every single node found in TSESTree.
AST_TOKEN_TYPESAn enum with the names of every single token found in TSESTree.
ParserServicesTyping for the parser services provided when parsing a file using @typescript-eslint/typescript-estree.

Contributing

See the contributing guide here

Keywords

FAQs

Last updated on 03 Oct 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc