@putout/plugin-declare-before-reference
🐊Putout plugin adds ability move declarations before references
Last updated a year ago by coderaiser .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @putout/plugin-declare-before-reference 
SYNC missed versions from official npm registry.

@putout/plugin-declare-before-reference NPM version

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

Current Tags

  • 10.1.0                                ...           latest (a month ago)

23 Versions

  • 10.1.0                                ...           a month ago
  • 10.0.0                                ...           2 months ago
  • 9.0.1                                ...           3 months ago
  • 9.0.0                                ...           3 months ago
  • 8.3.0                                ...           5 months ago
  • 8.2.0                                ...           10 months ago
  • 8.1.0                                ...           a year ago
  • 8.0.0                                ...           a year ago
  • 7.0.0                                ...           a year ago
  • 6.2.0                                ...           a year ago
  • 6.1.0                                ...           a year ago
  • 6.0.0                                ...           a year ago
  • 5.2.0                                ...           a year ago
  • 5.1.0                                ...           a year ago
  • 5.0.0                                ...           a year ago
  • 4.0.0                                ...           2 years ago
  • 3.0.0                                ...           3 years ago
  • 2.0.0                                ...           3 years ago
  • 1.3.0                                ...           4 years ago
  • 1.2.0                                ...           4 years ago
  • 1.1.1                                ...           4 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.0                                ...           4 years ago

Copyright 2013 - present © cnpmjs.org | Home |