Skip to content

Commit d6a2fd5

Browse files
FieteOdatho7561
andauthored
Migrate from tslint to eslint (#2415)
* Add eslint * Remove tslint references, replace tslint ignores with eslint ignores * Ignore node_modules, use eslint arrow function, add webpack plugin * Lint ts files, address lint errors in ts files * Fix problem matcher Signed-off-by: Fiete Ostkamp <[email protected]> Co-authored-by: David Thompson <[email protected]>
1 parent 7a51f2c commit d6a2fd5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1717
-813
lines changed

.eslintrc.json

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
{
2+
"env": {
3+
"es6": true,
4+
"node": true
5+
},
6+
"parser": "@typescript-eslint/parser",
7+
"parserOptions": {
8+
"ecmaVersion": "latest",
9+
"project": "tsconfig.json"
10+
},
11+
"plugins": [
12+
"@typescript-eslint"
13+
],
14+
"rules": {
15+
"@typescript-eslint/member-delimiter-style": [
16+
"error",
17+
{
18+
"multiline": {
19+
"delimiter": "semi",
20+
"requireLast": true
21+
},
22+
"singleline": {
23+
"delimiter": "semi",
24+
"requireLast": false
25+
}
26+
}
27+
],
28+
"@typescript-eslint/naming-convention": "error",
29+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
30+
"@typescript-eslint/prefer-for-of": "error",
31+
"@typescript-eslint/semi": [
32+
"error",
33+
"always"
34+
],
35+
"@typescript-eslint/type-annotation-spacing": "error",
36+
"curly": [
37+
"error",
38+
"multi-line"
39+
],
40+
"eqeqeq": [
41+
"error",
42+
"always"
43+
],
44+
"id-denylist": [
45+
"error",
46+
"any",
47+
"Number",
48+
"number",
49+
"String",
50+
"string",
51+
"Boolean",
52+
"boolean",
53+
"Undefined",
54+
"undefined"
55+
],
56+
"id-match": "error",
57+
"no-debugger": "error",
58+
"no-multiple-empty-lines": "error",
59+
"no-trailing-spaces": "error",
60+
"no-underscore-dangle": "error",
61+
"no-var": "error",
62+
"prefer-arrow-callback": [
63+
"error",
64+
{ "allowNamedFunctions": true }
65+
],
66+
"prefer-const": "error",
67+
"prefer-template": "error",
68+
"quote-props": [
69+
"error",
70+
"as-needed"
71+
],
72+
"semi": "error",
73+
"spaced-comment": [
74+
"error",
75+
"always",
76+
{
77+
"markers": [
78+
"/"
79+
]
80+
}
81+
]
82+
},
83+
"overrides": [
84+
{
85+
"files": [
86+
"**/*.js"
87+
],
88+
"rules": {
89+
"@typescript-eslint/no-var-requires": "off",
90+
"@typescript-eslint/naming-convention": "off",
91+
"@typescript-eslint/semi": "off",
92+
"prefer-arrow/prefer-arrow-functions": "off",
93+
"prefer-arrow-callback": "off",
94+
"no-useless-escape": "off",
95+
"spaced-comment": "off",
96+
"semi": "off",
97+
"prefer-template": "off",
98+
"prefer-const": "off"
99+
}
100+
},
101+
{
102+
"files": [
103+
"**/*.test.ts"
104+
],
105+
"rules": {
106+
"prefer-arrow-callback": "off"
107+
}
108+
}
109+
]
110+
}

.github/workflows/pr-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- run: npm run vscode:prepublish
2929
- run: vsce package
3030
- run: ls -ll java-*vsix
31-
- run: npm run tslint
31+
- run: npm run eslint
3232
- name: Run Tests
3333
if: runner.os == 'Linux'
3434
env:

.vscode/extensions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// for the documentation about the extensions.json format
44
"recommendations": [
55
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
6-
"ms-vscode.vscode-typescript-tslint-plugin",
6+
"dbaeumer.vscode-eslint",
77
"EditorConfig.EditorConfig",
88
"amodio.tsl-problem-matcher"
99
]

.vscode/launch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
"skipFiles": [
122122
"<node_internals>/**"
123123
],
124-
"type": "pwa-node"
124+
"type": "node"
125125
}
126126
],
127127
"inputs": [

.vscode/tasks.json

Lines changed: 48 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,52 @@
11
// See https://go.microsoft.com/fwlink/?LinkId=733558
22
// for the documentation about the tasks.json format
33
{
4-
"version": "2.0.0",
5-
"tasks": [
6-
{
7-
"type": "npm",
8-
"script": "watch",
9-
"problemMatcher": [
10-
"$ts-webpack-watch",
11-
"$tslint-webpack-watch"
12-
],
13-
"isBackground": true,
14-
"presentation": {
15-
"reveal": "never"
16-
},
17-
"group": {
18-
"kind": "build",
19-
"isDefault": true
20-
}
21-
},
22-
{
23-
"type": "gulp",
24-
"label": "cleanTestFolder",
25-
"task": "clean_test_folder",
26-
},
27-
{
28-
"type": "gulp",
29-
"label": "generateStandardTestFolder",
30-
"task": "generate_standard_test_folder"
31-
},
32-
{
33-
"type": "gulp",
34-
"label": "generateLightweightTestFolder",
35-
"task": "generate_lightweight_test_folder"
36-
},
37-
{
38-
"label": "prepareStandardTest",
39-
"dependsOn": [
40-
"cleanTestFolder",
41-
"generateStandardTestFolder",
42-
"npm: compile"
43-
]
44-
},
45-
{
46-
"label": "prepareLightweightTest",
47-
"dependsOn": [
48-
"cleanTestFolder",
49-
"generateLightweightTestFolder",
50-
"npm: compile"
51-
]
52-
}
53-
]
4+
"version": "2.0.0",
5+
"tasks": [
6+
{
7+
"label": "npm: watch",
8+
"type": "npm",
9+
"script": "watch",
10+
"problemMatcher": ["$ts-webpack-watch", "$eslint-stylish"],
11+
"isBackground": true,
12+
"presentation": {
13+
"reveal": "never"
14+
},
15+
"group": {
16+
"kind": "build",
17+
"isDefault": true
18+
}
19+
},
20+
{
21+
"type": "gulp",
22+
"label": "cleanTestFolder",
23+
"task": "clean_test_folder"
24+
},
25+
{
26+
"type": "gulp",
27+
"label": "generateStandardTestFolder",
28+
"task": "generate_standard_test_folder"
29+
},
30+
{
31+
"type": "gulp",
32+
"label": "generateLightweightTestFolder",
33+
"task": "generate_lightweight_test_folder"
34+
},
35+
{
36+
"label": "prepareStandardTest",
37+
"dependsOn": [
38+
"cleanTestFolder",
39+
"generateStandardTestFolder",
40+
"npm: compile"
41+
]
42+
},
43+
{
44+
"label": "prepareLightweightTest",
45+
"dependsOn": [
46+
"cleanTestFolder",
47+
"generateLightweightTestFolder",
48+
"npm: compile"
49+
]
50+
}
51+
]
5452
}

.vscodeignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ node_modules
2020
.travis.yml
2121
gulpfile.js
2222
Jenkinsfile
23-
tslint.json
23+
.eslintrc.json
24+
.eslintignore
2425
webpack.config.js
2526
.DS_Store

0 commit comments

Comments
 (0)