Skip to content

Commit 1fac68e

Browse files
committed
refactor: Update ESLint configurations for ESLint 9 compatibility
- Migrate eslint-plugin-fiori-custom from rel-npmjs branch - Convert to TypeScript with passing tests - Update ESLint configurations and improve rule definitions - Change TypeScript ESLint configuration to use recommendedTypeChecked - Enhance rule exports for better compatibility and lazy loading - Remove author information from rule files for consistency - Add fiori-custom plugin for backward compatibility - Fix eslint-plugin-eslint-plugin lint issues - Apply multiple lint fixes throughout the codebase
1 parent 26adbcb commit 1fac68e

File tree

188 files changed

+16735
-476
lines changed

Some content is hidden

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

188 files changed

+16735
-476
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
"eslint-plugin-prettier": "5.2.3",
2424
"eslint-plugin-promise": "7.2.1",
2525
"eslint-plugin-sonarjs": "3.0.2",
26-
"typescript-eslint": "8.46.2",
2726
"globals": "16.0.0",
2827
"husky": "8.0.3",
2928
"jest": "30.2.0",
@@ -39,6 +38,7 @@
3938
"rimraf": "6.0.1",
4039
"ts-jest": "29.4.5",
4140
"typescript": "5.9.3",
41+
"typescript-eslint": "8.46.2",
4242
"update-ts-references": "3.6.2",
4343
"yargs-parser": "21.1.1"
4444
},
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
const { defineConfig } = require('eslint/config');
2+
const babelParser = require('@babel/eslint-parser');
3+
const js = require('@eslint/js');
4+
5+
module.exports = defineConfig([
6+
{
7+
files: ['./webapp/**/*.js', './webapp/**/*.ts'],
8+
9+
ignores: [
10+
'target/**',
11+
'webapp/test/**',
12+
'webapp/localservice/**',
13+
'backup/**',
14+
'**/Gruntfile.js',
15+
'**/changes_preview.js',
16+
'**/changes_preview.ts',
17+
'**/gulpfile.js',
18+
'**/*.d.ts',
19+
'test/**'
20+
],
21+
22+
languageOptions: {
23+
parser: babelParser,
24+
parserOptions: {
25+
requireConfigFile: false
26+
}
27+
},
28+
29+
plugins: {
30+
'@sap-ux/fiori-tools': require('../lib/index.js')
31+
},
32+
33+
rules: {
34+
...js.configs.recommended.rules,
35+
'@sap-ux/fiori-tools/sap-no-global-variable': 'error',
36+
'@sap-ux/fiori-tools/sap-no-jquery-device-api': 'warn',
37+
'@sap-ux/fiori-tools/sap-no-hardcoded-color': 'error',
38+
'@sap-ux/fiori-tools/sap-no-hardcoded-url': 'error',
39+
'@sap-ux/fiori-tools/sap-no-localstorage': 'error',
40+
'@sap-ux/fiori-tools/sap-no-override-rendering': 'error',
41+
'@sap-ux/fiori-tools/sap-no-override-storage-prototype': 'error',
42+
'@sap-ux/fiori-tools/sap-no-sessionstorage': 'error',
43+
'@sap-ux/fiori-tools/sap-no-ui5base-prop': 'error',
44+
'@sap-ux/fiori-tools/sap-message-toast': 'warn',
45+
'@sap-ux/fiori-tools/sap-no-ui5-prop-warning': 'warn',
46+
'@sap-ux/fiori-tools/sap-no-localhost': 'warn',
47+
'@sap-ux/fiori-tools/sap-usage-basemastercontroller': 'warn',
48+
'@sap-ux/fiori-tools/sap-no-absolute-component-path': 'error',
49+
'@sap-ux/fiori-tools/sap-no-encode-file-service': 'warn',
50+
'@sap-ux/fiori-tools/sap-no-dom-insertion': 'warn',
51+
'@sap-ux/fiori-tools/sap-cross-application-navigation': 'warn',
52+
'@sap-ux/fiori-tools/sap-no-location-usage': 'warn',
53+
'@sap-ux/fiori-tools/sap-timeout-usage': 'warn',
54+
'@sap-ux/fiori-tools/sap-no-proprietary-browser-api': 'warn',
55+
'@sap-ux/fiori-tools/sap-no-dom-access': 'warn',
56+
'@sap-ux/fiori-tools/sap-no-history-manipulation': 'warn',
57+
'@sap-ux/fiori-tools/sap-no-global-selection': 'warn',
58+
'@sap-ux/fiori-tools/sap-no-location-reload': 'error',
59+
'@sap-ux/fiori-tools/sap-no-global-event': 'error',
60+
'@sap-ux/fiori-tools/sap-no-exec-command': 'error',
61+
'@sap-ux/fiori-tools/sap-no-br-on-return': 'error',
62+
'@sap-ux/fiori-tools/sap-no-dynamic-style-insertion': 'error',
63+
'@sap-ux/fiori-tools/sap-no-element-creation': 'error',
64+
'@sap-ux/fiori-tools/sap-no-global-define': 'error',
65+
'@sap-ux/fiori-tools/sap-forbidden-window-property': 'warn',
66+
'@sap-ux/fiori-tools/sap-no-navigator': 'error',
67+
'@sap-ux/fiori-tools/sap-no-inner-html-write': 'error',
68+
'@sap-ux/fiori-tools/sap-no-inner-html-access': 'warn',
69+
'@sap-ux/fiori-tools/sap-bookmark-performance': 'warn',
70+
'@sap-ux/fiori-tools/sap-no-commons-usage': 'error',
71+
'@sap-ux/fiori-tools/sap-ui5-no-private-prop': 'off',
72+
'@sap-ux/fiori-tools/sap-browser-api-error': 'off',
73+
'@sap-ux/fiori-tools/sap-browser-api-warning': 'warn',
74+
'@sap-ux/fiori-tools/sap-no-window-alert': 'off',
75+
'@sap-ux/fiori-tools/sap-ui5-legacy-jquerysap-usage': 'warn',
76+
'@sap-ux/fiori-tools/sap-ui5-global-eval': 'warn',
77+
'@sap-ux/fiori-tools/sap-ui5-legacy-factories': 'warn',
78+
'@sap-ux/fiori-tools/sap-ui5-forms': 'warn'
79+
}
80+
}
81+
]);
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const { defineConfig } = require('eslint/config');
2+
const babelParser = require('@babel/eslint-parser');
3+
4+
module.exports = defineConfig([{
5+
files: ['webapp/test/**/*.js', 'webapp/test/**/*.ts'],
6+
ignores: ['**/*.d.ts'],
7+
8+
languageOptions: {
9+
parser: babelParser,
10+
parserOptions: {
11+
requireConfigFile: false
12+
}
13+
},
14+
15+
plugins: {
16+
'@sap-ux/fiori-tools': require('../lib/index.js')
17+
},
18+
19+
rules: {
20+
'@sap-ux/fiori-tools/sap-opa5-autowait-true': 'warn'
21+
}
22+
}]);

packages/eslint-plugin-fiori-tools/config/flat/eslintrc-typescript.js renamed to packages/eslint-plugin-fiori-tools/config/eslintrc-typescript.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const tseslint = require('typescript-eslint');
1111

1212
module.exports = defineConfig([
1313
...tseslint.configs.recommended,
14-
...tseslint.configs.recommended_requiring_type_checking,
14+
...tseslint.configs.recommendedTypeChecked,
1515
{
1616
files: ["./webapp/*.ts", "./webapp/**/*.ts"],
1717

packages/eslint-plugin-fiori-tools/config/flat/eslintrc-prod.js

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

packages/eslint-plugin-fiori-tools/config/flat/eslintrc-test.js

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

packages/eslint-plugin-fiori-tools/config/legacy/eslintrc-common.js

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

packages/eslint-plugin-fiori-tools/config/legacy/eslintrc-prod.js

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

packages/eslint-plugin-fiori-tools/config/legacy/eslintrc-test.js

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

0 commit comments

Comments
 (0)