Typescript-eslint: [no-unused-vars] false positive when importing interfaces from express

Created on 6 Sep 2019  路  1Comment  路  Source: typescript-eslint/typescript-eslint

Repro

import express, { NextFunction, Request, Response } from 'express';

// Configure Headers
server.use((req: Request, res: Response, next: NextFunction) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader(
    'Access-Control-Allow-Methods',
    'GET, POST, OPTIONS, PUT, PATCH, DELETE'
  );
  res.setHeader(
    'Access-Control-Allow-Headers',
    'Origin, X-Requested-With, Content-Type, Accept'
  );
  next();
});
{
  "env": {
    "es6": true,
    "node": true
  },
  "extends": ["airbnb-base"],
  "globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
  },
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2018,
    "sourceType": "module"
  },
  "plugins": ["@typescript-eslint"],
  "rules": {
    "comma-dangle": "off",
    "arrow-body-style": "off"
  }
}

Expected Result
no warning or error

Actual Result
'NextFunction' is defined but never used.eslint(no-unused-vars)
'Request' is defined but never used.eslint(no-unused-vars)
'Response' is defined but never used.eslint(no-unused-vars)

Additional Info
/Users/Jason/Documents/Projects/Typescript/express-typescript/src/index.ts
1:19 error 'NextFunction' is defined but never used no-unused-vars
1:33 error 'Request' is defined but never used no-unused-vars
1:42 error 'Response' is defined but never used no-unused-vars
31:3 warning Unexpected console statement no-console

Versions

| package | version |
| ---------------------------------- | ------- |
| @typescript-eslint/eslint-plugin | ^2.1.0 |
| @typescript-eslint/parser | ^2.1.0 |
| TypeScript | ^3.5.3 |
| ESLint | ^6.3.0 |
| node | 10.15.1 |
| npm | 6.10.3 |

duplicate eslint-plugin

Most helpful comment

Duplicate of #363

>All comments

Duplicate of #363

Was this page helpful?
0 / 5 - 0 ratings