Skip to content

Rule probosal: scope disable comments by blocks. #250

Open
@seiyab

Description

@seiyab

Proposed rule prevents forgetting to enable eslint rule again after disabling it. I suggest block should be a good boundary to disable / enable rule.

Examples
correct:

function f(x) {
  /* eslint-disable no-unused-vars */
  var a;
  return x * 2;
  /* eslint-enable no-unused-vars */
}

function g(x) {
  return (y) => {
    /* eslint-disable no-unused-vars */
    var a;
    return x + y;
    /* eslint-enable no-unused-vars */
  }
}

incorrect:

function f(x) {
  /* eslint-disable no-unused-vars */
  var a;
  return x * 2;
}

function g(x) {
  return (y) => {
    /* eslint-disable no-unused-vars */
    var a;
    return x + y;
  }
  /* eslint-enable no-unused-vars */
}

autofix:

function f(x) {
  /* eslint-disable no-unused-vars */
  var a;
  return x * 2;
  /* eslint-enable no-unused-vars */
}

function g(x) {
  return (y) => {
    /* eslint-disable no-unused-vars */
    var a;
    return x + y;
    /* eslint-enable no-unused-vars */
  }
  /* eslint-disable no-unused-vars */
}

Object literal and array literal can also be good boundaries.

correct:

const x = {
  /* eslint-disable object-shorthand */
  a: a,
  b: b,
  /* eslint-enable object-shorthand */
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions