@putout/plugin-declare-before-reference
v4.0.0
Published
🐊Putout plugin adds ability move declarations before references
Downloads
28,499
Maintainers
Readme
@putout/plugin-declare-before-reference
The
ReferenceError
object represents an error when a variable hasn't yet been initialized in the current scope is referenced.(c) MDN
🐊Putout plugin adds ability to apply declare before reference to avoid ReferenceError
.
The rule is similar to ESLint's no-use-before-define, but it's auto fixable, and ignores:
- ✅ Function declarations
- ✅ Class declarations
- ✅ Different scopes
Also it works only on top level and helps to @operator/declare with a bunch of nested declarations.
Install
npm i @putout/plugin-declare-before-reference
Rule
{
"rules": {
"declare-before-reference": "on"
}
}
❌ Example of incorrect code
const {remove} = operator;
const {types, operator} = require('putout');
✅ Example of correct code
const {types, operator} = require('putout');
const {remove} = operator;
Comparison
Linter | Rule | Fix
--------|-------|------------|
🐊 Putout | declare-before-reference
| ✅
⏣ ESLint | no-use-before-define
| ❌
License
MIT