Big update!Introducing GitHub Bot Commands. Learn more
Socket
Log inBook a demo

@typescript-eslint/scope-manager

Package Overview
Dependencies
2
Maintainers
1
Versions
1702
Issues
File Explorer

Advanced tools

@typescript-eslint/scope-manager

TypeScript scope analyser for ESLint

    5.45.0latest

Version published
Maintainers
1
Weekly downloads
23,182,423
decreased by-11.84%

Weekly downloads

Changelog

Source

5.45.0 (2022-11-28)

Bug Fixes

  • eslint-plugin: [array-type] --fix flag removes parentheses from type (#5997) (42b33af)
  • eslint-plugin: [keyword-spacing] prevent crash on no options (#6073) (1f19998)
  • eslint-plugin: [member-ordering] support private fields (#5859) (f02761a)
  • eslint-plugin: [prefer-readonly] report if a member's property is reassigned (#6043) (6e079eb)
  • scope-manager: add support for TS4.9 satisfies expression (#6059) (44027db)
  • typescript-estree: stub out ts.SatisfiesExpression on old TS versions (#6076) (1302b30)

Features

  • eslint-plugin: [member-ordering] add a required option for required vs. optional member ordering (#5965) (2abadc6)
  • support Auto Accessor syntax (#5926) (becd1f8)

Readme

Source

TypeScript Scope Manager

CI NPM Version NPM Downloads

This is a fork of eslint-scope, enhanced to support TypeScript functionality. You can view the original license for the code here.

This package is consumed automatically by @typescript-eslint/parser. You probably don't want to use it directly.

Getting Started

You can find our Getting Started docs here

Installation

$ yarn add -D typescript @typescript-eslint/scope-manager $ npm i --save-dev typescript @typescript-eslint/scope-manager

API

analyze(tree, options)

Analyses a given AST and returns the resulting ScopeManager.

interface AnalyzeOptions { /** * Known visitor keys. */ childVisitorKeys?: Record<string, string[]> | null; /** * Which ECMAScript version is considered. * Defaults to `2018`. * `'latest'` is converted to 1e8 at parser. */ ecmaVersion?: EcmaVersion | 1e8; /** * Whether the whole script is executed under node.js environment. * When enabled, the scope manager adds a function scope immediately following the global scope. * Defaults to `false`. */ globalReturn?: boolean; /** * Implied strict mode (if ecmaVersion >= 5). * Defaults to `false`. */ impliedStrict?: boolean; /** * The identifier that's used for JSX Element creation (after transpilation). * This should not be a member expression - just the root identifier (i.e. use "React" instead of "React.createElement"). * Defaults to `"React"`. */ jsxPragma?: string; /** * The identifier that's used for JSX fragment elements (after transpilation). * If `null`, assumes transpilation will always use a member on `jsxFactory` (i.e. React.Fragment). * This should not be a member expression - just the root identifier (i.e. use "h" instead of "h.Fragment"). * Defaults to `null`. */ jsxFragmentName?: string | null; /** * The lib used by the project. * This automatically defines a type variable for any types provided by the configured TS libs. * For more information, see https://www.typescriptlang.org/tsconfig#lib * * Defaults to the lib for the provided `ecmaVersion`. */ lib?: Lib[]; /** * The source type of the script. */ sourceType?: 'script' | 'module'; /** * Emit design-type metadata for decorated declarations in source. * Defaults to `false`. */ emitDecoratorMetadata?: boolean; }

Example usage:

import { analyze } from '@typescript-eslint/scope-manager'; import { parse } from '@typescript-eslint/typescript-estree'; const code = `const hello: string = 'world';`; const ast = parse(code, { // note that scope-manager requires ranges on the AST range: true, }); const scope = analyze(ast, { ecmaVersion: 2020, sourceType: 'module', });

References

Contributing

See the contributing guide here

Keywords

FAQs

What is @typescript-eslint/scope-manager?

TypeScript scope analyser for ESLint

Is @typescript-eslint/scope-manager popular?

The npm package @typescript-eslint/scope-manager receives a total of 18,445,476 weekly downloads. As such, @typescript-eslint/scope-manager popularity was classified as popular.

Is @typescript-eslint/scope-manager well maintained?

We found that @typescript-eslint/scope-manager demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 1 open source maintainer collaborating on the project.

Last updated on 28 Nov 2022

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket

Product

Subscribe to our newsletter

Get open source security insights delivered straight into your inbox. Be the first to learn about new features and product updates.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc