@open-xchange/linter-presets 1.2.18 → 1.2.19

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,10 @@
1
1
  # Changelog
2
2
 
3
+ ## `1.2.19` – 2025-Mar-06
4
+
5
+ - chore: bump dependencies
6
+ - added: (ESLint) rule `vue/no-implicit-coercion`
7
+
3
8
  ## `1.2.18` – 2025-Mar-03
4
9
 
5
10
  - chore: bump dependencies
@@ -1,5 +1,5 @@
1
1
  import eslintJs from "@eslint/js";
2
- import { SRC_GLOB, VUE_GLOB, extGlob } from "../shared/env-utils.js";
2
+ import { SRC_GLOB, VUE_GLOB, NO_IMPLICIT_COERCION_OPTIONS, extGlob } from "../shared/env-utils.js";
3
3
  import { builtinRestrictedRules } from "../shared/restricted.js";
4
4
  // functions ==================================================================
5
5
  /**
@@ -74,7 +74,7 @@ export default function base(languageConfig) {
74
74
  "no-extend-native": "error",
75
75
  "no-extra-bind": "error",
76
76
  "no-extra-label": "error",
77
- "no-implicit-coercion": ["error", { disallowTemplateShorthand: true, allow: ["!!"] }],
77
+ "no-implicit-coercion": ["error", NO_IMPLICIT_COERCION_OPTIONS],
78
78
  "no-implied-eval": "error",
79
79
  "no-iterator": "error",
80
80
  "no-label-var": "error",
@@ -1,7 +1,7 @@
1
1
  import vuePlugin from "eslint-plugin-vue";
2
2
  import vueParser from "vue-eslint-parser";
3
3
  import tseslint from "typescript-eslint";
4
- import { fixMissingFilesOption, convertRuleWarningsToErrors, getCommaDangleConfig } from "../shared/env-utils.js";
4
+ import { NO_IMPLICIT_COERCION_OPTIONS, fixMissingFilesOption, convertRuleWarningsToErrors, getCommaDangleConfig } from "../shared/env-utils.js";
5
5
  // functions ==================================================================
6
6
  /**
7
7
  * Creates configuration objects with linter rules for Vue.js.
@@ -56,6 +56,7 @@ export default function vue(languageConfig, stylisticConfig) {
56
56
  "vue/max-attributes-per-line": "off",
57
57
  "vue/no-console": "error",
58
58
  "vue/no-empty-pattern": "error",
59
+ "vue/no-implicit-coercion": ["error", NO_IMPLICIT_COERCION_OPTIONS],
59
60
  "vue/no-irregular-whitespace": "error",
60
61
  "vue/no-sparse-arrays": "error",
61
62
  "vue/no-template-target-blank": "error",
@@ -55,7 +55,6 @@ export default function react(envOptions) {
55
55
  "@eslint-react/hooks-extra/no-unnecessary-use-callback": "error",
56
56
  "@eslint-react/hooks-extra/no-unnecessary-use-memo": "error",
57
57
  "@eslint-react/naming-convention/filename-extension": ["error", { allow: "as-needed" }],
58
- "@eslint-react/naming-convention/use-state": "error",
59
58
  },
60
59
  }),
61
60
  // "react-hooks" plugin
@@ -172,6 +172,14 @@ export declare const NO_UNUSED_VARS_OPTIONS: {
172
172
  caughtErrors: string;
173
173
  ignoreRestSiblings: boolean;
174
174
  };
175
+ /**
176
+ * Shared options for the core rule `no-implicit-coercion`, and all related
177
+ * plugin rules (e.g. from the Vue plugin).
178
+ */
179
+ export declare const NO_IMPLICIT_COERCION_OPTIONS: {
180
+ disallowTemplateShorthand: boolean;
181
+ allow: string[];
182
+ };
175
183
  /**
176
184
  * Creates a glob pattern deeply matching all files with the specified file
177
185
  * extensions.
@@ -42,6 +42,14 @@ export const NO_UNUSED_VARS_OPTIONS = {
42
42
  caughtErrors: "all",
43
43
  ignoreRestSiblings: true,
44
44
  };
45
+ /**
46
+ * Shared options for the core rule `no-implicit-coercion`, and all related
47
+ * plugin rules (e.g. from the Vue plugin).
48
+ */
49
+ export const NO_IMPLICIT_COERCION_OPTIONS = {
50
+ disallowTemplateShorthand: true,
51
+ allow: ["!!"],
52
+ };
45
53
  // functions ==================================================================
46
54
  /**
47
55
  * Creates a glob pattern deeply matching all files with the specified file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-xchange/linter-presets",
3
- "version": "1.2.18",
3
+ "version": "1.2.19",
4
4
  "description": "Configuration presets for ESLint and StyleLint",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,7 +11,7 @@
11
11
  "engines": {
12
12
  "node": ">=20.18"
13
13
  },
14
- "packageManager": "yarn@4.6.0",
14
+ "packageManager": "yarn@4.7.0",
15
15
  "type": "module",
16
16
  "exports": "./dist/index.js",
17
17
  "scripts": {
@@ -27,12 +27,12 @@
27
27
  "@babel/eslint-parser": "^7.26.8",
28
28
  "@babel/plugin-proposal-decorators": "^7.25.9",
29
29
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
30
- "@eslint-react/eslint-plugin": "^1.30.0",
30
+ "@eslint-react/eslint-plugin": "^1.30.2",
31
31
  "@eslint/compat": "^1.2.7",
32
32
  "@eslint/js": "^9.21.0",
33
33
  "@eslint/markdown": "^6.2.2",
34
- "@stylistic/eslint-plugin": "^4.1.0",
35
- "@stylistic/eslint-plugin-migrate": "^4.1.0",
34
+ "@stylistic/eslint-plugin": "^4.2.0",
35
+ "@stylistic/eslint-plugin-migrate": "^4.2.0",
36
36
  "@stylistic/stylelint-config": "^2.0.0",
37
37
  "@stylistic/stylelint-plugin": "^3.1.2",
38
38
  "@types/css-tree": "^2.3.10",
@@ -50,13 +50,13 @@
50
50
  "eslint-plugin-jsonc": "^2.19.1",
51
51
  "eslint-plugin-jsx-a11y": "^6.10.2",
52
52
  "eslint-plugin-license-header": "^0.8.0",
53
- "eslint-plugin-n": "^17.16.1",
53
+ "eslint-plugin-n": "^17.16.2",
54
54
  "eslint-plugin-promise": "^7.2.1",
55
55
  "eslint-plugin-react-hooks": "^5.2.0",
56
56
  "eslint-plugin-react-hooks-static-deps": "^1.0.7",
57
57
  "eslint-plugin-react-refresh": "^0.4.19",
58
58
  "eslint-plugin-testing-library": "^7.1.1",
59
- "eslint-plugin-vue": "^9.32.0",
59
+ "eslint-plugin-vue": "^10.0.0",
60
60
  "eslint-plugin-yml": "^1.17.0",
61
61
  "find-up": "^7.0.0",
62
62
  "globals": "^16.0.0",
@@ -67,14 +67,14 @@
67
67
  "stylelint-config-standard-scss": "^14.0.0",
68
68
  "stylelint-config-standard-vue": "^1.0.0",
69
69
  "stylelint-plugin-license-header": "^1.0.3",
70
- "typescript-eslint": "^8.25.0",
71
- "vue-eslint-parser": "^9.4.3"
70
+ "typescript-eslint": "^8.26.0",
71
+ "vue-eslint-parser": "^10.1.1"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/confusing-browser-globals": "^1.0.3",
75
75
  "@types/eslint-scope": "^3.7.7",
76
76
  "@types/react": "^19.0.10",
77
- "@typescript-eslint/utils": "^8.25.0",
77
+ "@typescript-eslint/utils": "^8.26.0",
78
78
  "eslint": "^9.21.0",
79
79
  "jest": "^29.7.0",
80
80
  "jiti": "^2.4.2",