This package has been deprecated

Author message:

Now included in eslint as the vars-on-top rule

eslint-varsontop

0.2.0 • Public • Published

THIS IS NOW AN OFFICIAL RULE OF ESLINT AND IS NO LONGER MAINTAINED HERE

Deprecated! vars-on-top is now included in eslint. And as such, this repo will no longer be maintained.


vars-on-top

ESLint custom rule to enforce var declarations are only at the top of functions.

For information on how to use this custom rule, please refer to Working with Rules.

npm package can be installed with npm install eslint-varsontop.

var must be defined at the top of your function scope.

The vars-on-top rule generates warnings when variable declarations are not used serially at the top of a function scope.

Rule Details

This rule aims to keep all variable declarations to the top of functions. Allowing multiple helps promote maintainability and reduces syntax.

No variable declarations in if

// BAD
function doSomething() {
    var first;
    if (true) {
        first = true;
    }
    var second; //not declared at the top
}

// GOOD
function doSomething() {
    var first;
    var second; //multiple declarations are allowed at thet op
    if (true) {
        first = true;
    }
}

No variable declarations in for

// BAD
function doSomething() {
    for (var i=0; i<10; i++) {}
}

// GOOD
function doSomething() {
    var i;
    for (i=0; i<10; i++) {}
}

No variable declarations in for in

// BAD
function doSomething() {
    var list = [1,2,3];
    for (var num in list) {}
}

// GOOD
function doSomething() {
    var list = [1,2,3];
    var num;
    for (num in list) {}
}

No variable declarations in try/catch

// BAD
function doAnother() {
    try {
        var build = 1;
    } catch (e) {
        var f = build;
    }
}

// GOOD
function doAnother() {
    var build, f;
    try {
        build = 1;
    } catch (e) {
        f = build;
    }
}

Comments can naturally describe variables.

// GOOD
function doSomething() {
    var first;
    var second
}

//ALSO GOOD
function doSomething() {
    // this is the first var.
    var first;
    // this is the second var.
    var second
}

Further Reading

Readme

Keywords

none

Package Sidebar

Install

npm i eslint-varsontop

Weekly Downloads

5

Version

0.2.0

License

MIT

Last publish

Collaborators

  • dannyfritz