How can I use ESLint no-unused-vars for a block of code?

I need to disable some variable checks in ESLint.

Currently, I am using this code, but am not getting the desired result:

/* eslint no-unused-vars: ["error", { "caughtErrorsIgnorePattern": "Hey" }] */
export type Hey = {
  a: string,
  b: object
}

Two questions:

  • Is there a variant which can enable no-unused-vars for a block of code?

Something like...

/* eslint rule disable"*/

// I want to place my block of code, here

/* eslint rule disable"*/
  • Or could I make Hey a global variable so that it can be ignored everywhere?

Solution 1:

Just use pair of lines:

/* eslint-disable no-unused-vars */

// ... your code here with unused vars...

/* eslint-enable no-unused-vars */

Solution 2:

Alternatively, you can disable the rule for one line:

// Based on your Typescript example

export type Hey = { // eslint-disable-line no-unused-vars
  a: string,
  b: object
}

Solution 3:

One more option...

function doStuff({
  // eslint-disable-next-line no-unused-vars
  unused,
  usedA,
  usedB
}) {