TypeScript linter warning: no-unused-variable is deprecated; but I'm not using this config

realtebo picture realtebo · Jul 31, 2018 · Viewed 19.1k times · Source

Today I see this warning in a project being refreshed after 3 months.

no-unused-variable is deprecated. Since TypeScript 2.9. Please use the built-in compiler checks instead.

But my tsconfig.json does not seem to use this.

{
  "compilerOptions": {
    "lib": ["es6"],
    "module": "commonjs",
    "noImplicitReturns": true,
    "outDir": "lib",
    "sourceMap": true,
    "target": "es6",
    "allowJs" : true
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}

Probably it's a config implicit in any of the previous configs.

Could you point me to what to do to fix it?

If usefull

$ node -v
v10.3.0
$ npm -v
6.1.0

And these are devDependencies relates to type script in my package.json

"devDependencies": {
    ...
    "tslint": "^5.11.0",
    "typescript": "^2.9.1"
    ...
  },

Answer

Diego Pedro picture Diego Pedro · Jul 31, 2018

As it says, tslint deprecated that rule (more info here https://github.com/palantir/tslint/pull/3919)

Check your tslint.json, and remove the rule and the warning should disappear.