Skip to content

Commit 0ec9d5a

Browse files
committed
Update to eslint 9 and ts-eslint 8
Fixes #75
1 parent d77f8e4 commit 0ec9d5a

File tree

7 files changed

+284
-232
lines changed

7 files changed

+284
-232
lines changed

README.md

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,11 @@ Find and remove unused es6 module imports. It works by splitting up the `no-unus
44

55
## _Versions_
66

7+
- Version 4.x.x is for eslint 9 with @typescript-eslint/eslint-plugin 8
78
- Version 3.x.x is for eslint 8 with @typescript-eslint/eslint-plugin 6 - 7
89
- Version 2.x.x is for eslint 8 with @typescript-eslint/eslint-plugin 5
910
- Version 1.x.x is for eslint 6 and 7.
1011

11-
## _Important for version 1.1_
12-
13-
The `-ts` rules are deprecated, the package now looks for `@typescript-eslint/eslint-plugin` to exist to decide between the typescript and eslint version.
14-
The `-ts` rule will still work, but point to the new rule instead.
15-
1612
## Typescript
1713

1814
If running typescript with [@typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) make sure to use both `@typescript-eslint/eslint-plugin` and `@typescript-eslint/parser`.
@@ -39,20 +35,18 @@ npm install eslint-plugin-unused-imports --save-dev
3935

4036
## Usage
4137

42-
Add `unused-imports` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix:
38+
Add `unused-imports` to the plugins section of your `.eslintrc` configuration file.
4339

4440
```jsonc
45-
{
46-
"plugins": [<other_plugins_you_use>, "unused-imports"]
47-
}
48-
```
49-
50-
Then configure the rules you want to use under the rules section. I can recommend adding a check for underscores, e.g.
41+
import unusedImports from "eslint-plugin-unused-imports";
5142

52-
```jsonc
53-
{
54-
"rules": {
55-
"no-unused-vars": "off", // or "@typescript-eslint/no-unused-vars": "off",
43+
export default [{
44+
plugins: {
45+
"unused-imports": unusedImports,
46+
},
47+
rules: {
48+
"no-unused-vars": "off",
49+
"@typescript-eslint/no-unused-vars": "off",
5650
"unused-imports/no-unused-imports": "error",
5751
"unused-imports/no-unused-vars": [
5852
"warn",
@@ -62,9 +56,9 @@ Then configure the rules you want to use under the rules section. I can recommen
6256
"args": "after-used",
6357
"argsIgnorePattern": "^_",
6458
},
65-
],
66-
},
67-
}
59+
]
60+
}
61+
}];
6862
```
6963

7064
## Supported Rules

lib/__test__/no-unused-imports-ts.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
RuleTester = require("eslint").RuleTester;
2+
const tsParser = require("@typescript-eslint/parser");
23

34
const ruleTester = new RuleTester({
4-
parser: require.resolve('@typescript-eslint/parser'),
5-
parserOptions: {
5+
languageOptions: {
6+
parser: tsParser,
67
ecmaVersion: 2015,
78
sourceType: "module",
89
},

lib/__test__/no-unused-imports.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
RuleTester = require("eslint").RuleTester;
22

33
const ruleTester = new RuleTester({
4-
parserOptions: { ecmaVersion: 2015, sourceType: "module" },
4+
languageOptions: { ecmaVersion: 2015, sourceType: "module" },
55
});
66

77
const cases = require("./cases");

lib/index.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,15 @@
77
const noUnusedVars = require("./rules/no-unused-vars");
88
const noUnusedImports = require("./rules/no-unused-imports");
99

10-
// import all rules in lib/rules
11-
module.exports.rules = {
12-
"no-unused-vars": noUnusedVars,
13-
"no-unused-imports": noUnusedImports,
14-
"no-unused-vars-ts": noUnusedVars,
15-
"no-unused-imports-ts": noUnusedImports,
10+
const plugin = {
11+
meta: {},
12+
configs: {},
13+
rules: {
14+
"no-unused-vars": noUnusedVars,
15+
"no-unused-imports": noUnusedImports,
16+
},
17+
processors: {},
1618
};
19+
20+
// import all rules in lib/rules
21+
module.exports = plugin;

lib/rules/load-rule.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ try {
77
rule = tslint.rules["no-unused-vars"];
88
} catch (_) {
99
const eslint = require("eslint");
10-
rule = new eslint.Linter().getRules().get("no-unused-vars");
10+
rule = new eslint.Linter({ configType: "eslintrc" }).getRules().get("no-unused-vars");
1111
}
1212
module.exports = rule;

0 commit comments

Comments
 (0)