@open-xchange/linter-presets 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## `1.13.0` – 2025-Oct-16
4
+
5
+ - chore: bump dependencies
6
+ - changed: (ESLint) `@eslint-react/eslint-plugin`: switch to "strict-type-checked" preset
7
+ - added: (ESLint) rule `jsdoc/ts-no-unnecessary-template-expression`
8
+
3
9
  ## `1.12.0` – 2025-Oct-09
4
10
 
5
11
  - chore: bump dependencies
@@ -69,6 +69,7 @@ export default function jsdoc() {
69
69
  "jsdoc/require-throws-description": "error",
70
70
  "jsdoc/require-yields-description": "error",
71
71
  "jsdoc/tag-lines": "off",
72
+ "jsdoc/ts-no-unnecessary-template-expression": "error",
72
73
  },
73
74
  },
74
75
  ];
@@ -26,6 +26,7 @@ const reactHooksPlugin = reactHooksPluginModule;
26
26
  * The configuration entries to be added to the resulting configuration array.
27
27
  */
28
28
  export default function react(envOptions) {
29
+ const reactConfig = reactPlugin.configs["strict-type-checked"];
29
30
  return [
30
31
  // configure "react" plugin for all source files (JSX and TSX)
31
32
  createConfig("env.react.recommended", envOptions, {
@@ -35,10 +36,10 @@ export default function react(envOptions) {
35
36
  parserOptions: { projectService: true },
36
37
  },
37
38
  // register rule implementations and language settings, raise all recommended rules to "error" level
38
- ...convertRuleWarningsToErrors(reactPlugin.configs["recommended-type-checked"]),
39
+ ...convertRuleWarningsToErrors(reactConfig),
39
40
  // additional settings
40
41
  settings: {
41
- ...reactPlugin.configs["recommended-type-checked"].settings,
42
+ ...reactConfig.settings,
42
43
  ...(envOptions.effectHooks?.length ? {
43
44
  "react-hooks": {
44
45
  additionalEffectHooks: `^(${envOptions.effectHooks.join("|")})$`,
@@ -48,20 +49,16 @@ export default function react(envOptions) {
48
49
  }, {
49
50
  // custom overrides
50
51
  "@eslint-react/jsx-no-iife": "error",
51
- "@eslint-react/jsx-no-duplicate-props": "error",
52
52
  "@eslint-react/jsx-no-undef": "error",
53
53
  "@eslint-react/jsx-shorthand-boolean": "error",
54
54
  "@eslint-react/jsx-shorthand-fragment": "error",
55
- "@eslint-react/jsx-uses-vars": "error",
56
- "@eslint-react/no-children-prop": "error",
57
- "@eslint-react/no-class-component": "error",
58
55
  "@eslint-react/no-missing-component-display-name": "error",
59
- "@eslint-react/no-unnecessary-use-callback": "error",
60
- "@eslint-react/no-unnecessary-use-memo": "error",
61
- "@eslint-react/no-useless-fragment": "error",
56
+ "@eslint-react/no-missing-context-display-name": "error",
62
57
  "@eslint-react/prefer-namespace-import": "error",
63
58
  "@eslint-react/prefer-read-only-props": "error",
64
59
  "@eslint-react/dom/no-unknown-property": "error",
60
+ "@eslint-react/naming-convention/component-name": "error",
61
+ "@eslint-react/naming-convention/context-name": "error",
65
62
  "@eslint-react/naming-convention/filename-extension": ["error", { allow: "as-needed" }],
66
63
  }),
67
64
  // "react-hooks" plugin and recommended rules, raise all recommended rules to "error" level
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-xchange/linter-presets",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "description": "Configuration presets for ESLint and StyleLint",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,7 +34,7 @@
34
34
  "@babel/eslint-parser": "^7.28.4",
35
35
  "@babel/plugin-proposal-decorators": "^7.28.0",
36
36
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
37
- "@eslint-react/eslint-plugin": "^2.0.6",
37
+ "@eslint-react/eslint-plugin": "^2.2.2",
38
38
  "@eslint/compat": "^1.4.0",
39
39
  "@eslint/config-helpers": "^0.4.0",
40
40
  "@eslint/js": "^9.37.0",
@@ -44,7 +44,7 @@
44
44
  "@stylistic/stylelint-config": "^3.0.1",
45
45
  "@stylistic/stylelint-plugin": "^4.0.0",
46
46
  "@types/picomatch": "^4.0.2",
47
- "@vitest/eslint-plugin": "^1.3.16",
47
+ "@vitest/eslint-plugin": "^1.3.20",
48
48
  "confusing-browser-globals": "^1.0.11",
49
49
  "empathic": "^2.0.0",
50
50
  "eslint-plugin-chai-expect": "^3.1.0",
@@ -54,7 +54,7 @@
54
54
  "eslint-plugin-jest": "^29.0.1",
55
55
  "eslint-plugin-jest-dom": "^5.5.0",
56
56
  "eslint-plugin-jest-extended": "^3.0.1",
57
- "eslint-plugin-jsdoc": "^61.0.1",
57
+ "eslint-plugin-jsdoc": "^61.1.4",
58
58
  "eslint-plugin-jsonc": "^2.21.0",
59
59
  "eslint-plugin-jsx-a11y": "^6.10.2",
60
60
  "eslint-plugin-license-header": "^0.8.0",
@@ -62,10 +62,10 @@
62
62
  "eslint-plugin-promise": "^7.2.1",
63
63
  "eslint-plugin-react-hooks": "^7.0.0",
64
64
  "eslint-plugin-react-hooks-static-deps": "^1.0.7",
65
- "eslint-plugin-react-refresh": "^0.4.23",
65
+ "eslint-plugin-react-refresh": "^0.4.24",
66
66
  "eslint-plugin-regexp": "^2.10.0",
67
- "eslint-plugin-testing-library": "^7.13.0",
68
- "eslint-plugin-vue": "^10.5.0",
67
+ "eslint-plugin-testing-library": "^7.13.3",
68
+ "eslint-plugin-vue": "^10.5.1",
69
69
  "eslint-plugin-yml": "^1.19.0",
70
70
  "globals": "^16.4.0",
71
71
  "picomatch": "^4.0.3",
@@ -75,15 +75,15 @@
75
75
  "stylelint-config-standard-scss": "^16.0.0",
76
76
  "stylelint-config-standard-vue": "^1.0.0",
77
77
  "stylelint-plugin-license-header": "^1.0.3",
78
- "typescript-eslint": "^8.46.0",
78
+ "typescript-eslint": "^8.46.1",
79
79
  "vue-eslint-parser": "^10.2.0"
80
80
  },
81
81
  "devDependencies": {
82
82
  "@types/confusing-browser-globals": "^1.0.3",
83
83
  "@types/eslint-scope": "^8.3.2",
84
- "@types/node": "^24.7.0",
84
+ "@types/node": "^24.7.2",
85
85
  "@types/react": "^19.2.2",
86
- "@typescript-eslint/utils": "^8.46.0",
86
+ "@typescript-eslint/utils": "^8.46.1",
87
87
  "eslint": "^9.37.0",
88
88
  "jest": "^30.2.0",
89
89
  "jiti": "^2.6.1",