Giter Site home page Giter Site logo

Comments (9)

zckrs avatar zckrs commented on April 20, 2024 136

Since 2015 the rule no-unused-vars have news options.

You can use http://eslint.org/docs/rules/no-unused-vars#argsignorepattern

Example in package.json

"eslintConfig": {
    "rules": {
      "no-unused-vars": ["error", { "argsIgnorePattern": "next" }]
    }
  }

from generator.

vvo avatar vvo commented on April 20, 2024 11

You can also use:

// eslint-disable-next-line no-unused-vars

To be extra specific

from generator.

dougwilson avatar dougwilson commented on April 20, 2024 10

Yes, the biggest issue is that Express error middleware is generally not compatible with that rule. You can probably add some kind of ESLint comment to disable that rule just for the error handling function.

The reason it's there, but unused, is because in Express, an error middlware is differentiated from a normal middleware by the function taking 4 arguments rather than 3 arguments (i.e. function (req, res, next) vs function (err, req, res, next)).

You are also getting an error when you manually call next() because in Express, you can only call next() if you have not responded. The res.render statement responds to the client, to the call to next() will cause an error, since you cannot do both.

It boils down to that rule not being compatible with Express error middlewares is all. I have never user ESLint (only JSHint), so I don't know how to tell you what you need to change in your ESLint rules.

from generator.

nvzard avatar nvzard commented on April 20, 2024 9

None of the above-mentioned solutions are working for something like:

    this.express.use((err: Error, req: Request, res: Response, next: NextFunction) => {
      handleError(err, res);
    });

error 'next' is defined but never used @typescript-eslint/no-unused-vars

Had to use:

    /* eslint-disable */
    this.express.use((err: Error, req: Request, res: Response, next: NextFunction) => {
      handleError(err, res);
    });
    /* eslint-enable */

Weird thing is, I am not getting error for unused req but only for next argument.

from generator.

adrianosouzacostacr avatar adrianosouzacostacr commented on April 20, 2024 6

My Function

requestHandler(_req: Request, res: Response, _next: Next): Promise<void> {
    return new UserController().list(res);
  }

You can use:

"rules": {
    "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }]
  }

Result is zero warnings on lint

This pattern is shown in https://eslint.org/docs/rules/no-unused-vars

from generator.

gghez avatar gghez commented on April 20, 2024 4

@zckrs it is a little bit unsafe, custom error handler appears once in your code, so you may prefer using // eslint-disable-line to disable eslint locally.

from generator.

dougwilson avatar dougwilson commented on April 20, 2024

It looks like here is the issue on ESLint: eslint/eslint#1494 seems they say just don't use that rule.

from generator.

kevinSuttle avatar kevinSuttle commented on April 20, 2024

Thanks so much, @dougwilson. I have relaxed it to a warning for now.

from generator.

rafis avatar rafis commented on April 20, 2024

Is it possible to use no-unused-vars in JSHint?

This is nearest answer I have found.

from generator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.