Sha256: 85cb0606704bc29940ec3133e1b58739299e0db3c89f9c4eb3d8eb7b5bc847a4

Contents?: true

Size: 1.47 KB

Versions: 92

Compression:

Stored size: 1.47 KB

Contents

# ESLint Scope

ESLint Scope is the [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) scope analyzer used in ESLint. It is a fork of [escope](http://github.com/estools/escope).

## Usage

Install:

```
npm i eslint-scope --save
```

Example:

```js
var eslintScope = require('eslint-scope');
var espree = require('espree');
var estraverse = require('estraverse');

var ast = espree.parse(code);
var scopeManager = eslintScope.analyze(ast);

var currentScope = scopeManager.acquire(ast);   // global scope

estraverse.traverse(ast, {
    enter: function(node, parent) {
        // do stuff

        if (/Function/.test(node.type)) {
            currentScope = scopeManager.acquire(node);  // get current function scope
        }
    },
    leave: function(node, parent) {
        if (/Function/.test(node.type)) {
            currentScope = currentScope.upper;  // set to parent scope
        }

        // do stuff
    }
});
```

## Contributing

Issues and pull requests will be triaged and responded to as quickly as possible. We operate under the [ESLint Contributor Guidelines](http://eslint.org/docs/developer-guide/contributing), so please be sure to read them before contributing. If you're not sure where to dig in, check out the [issues](https://github.com/eslint/eslint-scope/issues).

## Build Commands

* `npm test` - run all linting and tests
* `npm run lint` - run all linting

## License

ESLint Scope is licensed under a permissive BSD 2-clause license.

Version data entries

92 entries across 91 versions & 13 rubygems

Version Path
rapid_stack-0.1.1 templates/FrontEnd/node_modules/webpack/node_modules/eslint-scope/README.md
rapid_stack-0.1.0 templates/FrontEnd/node_modules/webpack/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.62 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.61 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.60 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.59 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.58 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.57 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.56 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.55 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.54 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.53 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.52 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.51 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.50 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.49 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.48 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.47 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.46 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md
immosquare-cleaner-0.1.45 node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope/README.md