Skip to content

Commit bfa5b6d

Browse files
authored
Fixing lint for CI pass (#358)
* lint fix * adding deprecation supresser, updating plugins, indentation, updating config files * fixing comments * reverting to use tsconfig from build-tools * removing tsconfig.test, updating ts
1 parent a7b096c commit bfa5b6d

48 files changed

Lines changed: 5067 additions & 4888 deletions

Some content is hidden

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

.eslintignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

common/config/rush/pnpm-lock.yaml

Lines changed: 4789 additions & 4617 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/scripts/.eslintrc.ts.base.json

Lines changed: 0 additions & 39 deletions
This file was deleted.

common/scripts/.eslintrc.ts.json

Lines changed: 0 additions & 9 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
{
2-
"extends": ["./.eslintrc.ts.base.json"],
3-
"rules": {
1+
const baseConfig = require("./eslint.base.config.js");
2+
3+
module.exports = {
4+
...baseConfig,
5+
rules: {
6+
...(baseConfig.rules),
47
"simple-import-sort/sort": "error",
58
"@typescript-eslint/no-inferrable-types": "error",
6-
"curly": "error",
9+
curly: "error",
710
"react-hooks/exhaustive-deps": "off",
811
"@typescript-eslint/consistent-type-imports": "error"
912
}
10-
}
13+
};
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
const tsPlugin = require("@typescript-eslint/eslint-plugin");
2+
const tsParser = require("@typescript-eslint/parser");
3+
const react = require("eslint-plugin-react");
4+
const prettier = require("eslint-plugin-prettier");
5+
const simpleImportSort = require("eslint-plugin-simple-import-sort");
6+
const reactHooks = require("eslint-plugin-react-hooks");
7+
const iTwinPlugin = require("@itwin/eslint-plugin");
8+
const reactApp = require("eslint-config-react-app");
9+
10+
module.exports = {
11+
files: ["**/*.{ts,tsx}"],
12+
...iTwinPlugin.configs.iTwinjsRecommendedConfig,
13+
languageOptions: {
14+
ecmaVersion: 2022,
15+
sourceType: "module",
16+
parser: tsParser,
17+
parserOptions: {
18+
project: "./tsconfig.json",
19+
},
20+
},
21+
plugins: {
22+
"@typescript-eslint": tsPlugin,
23+
react,
24+
"simple-import-sort": simpleImportSort,
25+
"react-hooks": reactHooks,
26+
"react-app": reactApp,
27+
prettier,
28+
},
29+
rules: {
30+
...react.configs.recommended.rules,
31+
"no-console": "off",
32+
"no-var": "error",
33+
"import/prefer-default-export": "off",
34+
radix: "off",
35+
"@typescript-eslint/no-explicit-any": "off",
36+
"@typescript-eslint/explicit-function-return-type": "off",
37+
"@typescript-eslint/explicit-member-accessibility": "off",
38+
"@typescript-eslint/explicit-module-boundary-types": "off",
39+
"@typescript-eslint/interface-name-prefix": "off",
40+
"react/no-unescaped-entities": "off",
41+
"react/display-name": "off",
42+
"react/prop-types": "off",
43+
"no-unused-vars": "off",
44+
"@typescript-eslint/no-unused-vars": ["warn", { ignoreRestSiblings: true }],
45+
"@typescript-eslint/no-deprecated": "error",
46+
},
47+
settings: {
48+
"import/resolver": {
49+
node: {
50+
extensions: [".js", ".jsx", ".ts", ".tsx"],
51+
},
52+
},
53+
react: {
54+
version: "detect",
55+
}
56+
}
57+
};

common/scripts/eslint.config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const baseConfig = require("./eslint.base.config.js");
2+
3+
module.exports = {
4+
...baseConfig,
5+
rules: {
6+
...(baseConfig.rules),
7+
"@typescript-eslint/no-floating-promises": "error",
8+
"@typescript-eslint/prefer-optional-chain": "warn",
9+
"@typescript-eslint/prefer-nullish-coalescing": "warn",
10+
"react-hooks/exhaustive-deps": "warn",
11+
},
12+
};

common/scripts/package.json

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,24 @@
55
"license": "MIT",
66
"repository": "https://github.com/itwin/viewer/tree/main/common/scripts",
77
"devDependencies": {
8-
"@typescript-eslint/eslint-plugin": "^4.5.0",
9-
"@typescript-eslint/parser": "^4.5.0",
10-
"eslint": "^7.11.0",
11-
"eslint-config-airbnb": "^18.2.1",
12-
"eslint-config-prettier": "^6.11.0",
13-
"eslint-config-react-app": "^6.0.0",
14-
"eslint-plugin-flowtype": "^5.2.0",
15-
"eslint-plugin-deprecation": "1.2.1",
16-
"eslint-plugin-import": "^2.22.0",
17-
"eslint-plugin-jsx-a11y": "^6.3.1",
18-
"eslint-plugin-prefer-arrow": "^1.1.7",
19-
"eslint-plugin-prettier": "^3.1.4",
8+
"@typescript-eslint/eslint-plugin": "^8.32.0",
9+
"@typescript-eslint/parser": "^8.32.0",
10+
"@itwin/eslint-plugin": "^5.1.0",
11+
"eslint": "^9.13.0",
12+
"eslint-config-prettier": "^10.0.1",
13+
"eslint-config-react-app": "^7.0.0",
14+
"eslint-plugin-prettier": "^5.4.0",
2015
"eslint-plugin-react": "^7.20.3",
21-
"eslint-plugin-react-hooks": "^4.0.7",
22-
"eslint-plugin-simple-import-sort": "^5.0.3",
23-
"lint-staged": "^10.2.11",
24-
"prettier": "^2.0.5",
25-
"stylelint": "^13.6.1",
26-
"stylelint-config-prettier": "^8.0.2",
27-
"stylelint-config-sass-guidelines": "^7.0.0",
28-
"stylelint-prettier": "^1.1.2",
29-
"stylelint-scss": "^3.18.0"
16+
"eslint-plugin-react-hooks": "^5.0.2",
17+
"eslint-plugin-simple-import-sort": "^12.1.1",
18+
"lint-staged": "^11.2.6",
19+
"prettier": "^3.5.3",
20+
"typescript-eslint": "^8.32.0",
21+
"stylelint": "^16.19.1",
22+
"stylelint-config-prettier": "^9.0.5",
23+
"stylelint-config-sass-guidelines": "^12.1.0",
24+
"stylelint-prettier": "^5.0.3",
25+
"stylelint-scss": "^6.12.0"
3026
},
3127
"scripts": {
3228
"build": "",

common/scripts/pre-commit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ async function preCommit() {
55
config: {
66
"*.{ts,tsx}": [
77
"node ./common/scripts/copyright-linter.js --",
8-
"node --max_old_space_size=4096 ./common/scripts/node_modules/eslint/bin/eslint.js --config ./common/scripts/.eslintrc.ts.autofix.json --ignore-path ./.eslintignore --resolve-plugins-relative-to ./common/scripts --fix",
8+
"node --max_old_space_size=4096 ./common/scripts/node_modules/eslint/bin/eslint.js --config ./common/scripts/eslint.autofix.config.js --ignore-pattern **/node_modules/** --fix",
99
"node ./common/scripts/node_modules/prettier --write --config ./.prettierrc --ignore-path ./.prettierignore",
10-
"node --max_old_space_size=4096 ./common/scripts/node_modules/eslint/bin/eslint.js --config ./common/scripts/.eslintrc.ts.json --ignore-path ./.eslintignore --color --resolve-plugins-relative-to ./common/scripts",
10+
"node --max_old_space_size=4096 ./common/scripts/node_modules/eslint/bin/eslint.js --config ./common/scripts/eslint.autofix.config.js --ignore-pattern **/node_modules/** --color",
1111
],
1212
"*.{md,json}": [
1313
"node ./common/scripts/node_modules/prettier --write --config ./.prettierrc --ignore-path ./.prettierignore",
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const config = require("../../../common/scripts/eslint.config.js");
2+
module.exports = {
3+
...config,
4+
languageOptions: {
5+
...config.languageOptions,
6+
parserOptions: {
7+
...config.languageOptions.parserOptions,
8+
tsconfigRootDir: __dirname,
9+
project: ["./tsconfig.json", "./tsconfig.backend.json"],
10+
},
11+
},
12+
};

0 commit comments

Comments
 (0)