@open-xchange/linter-presets 1.2.26 → 1.2.28

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,14 @@
1
1
  # Changelog
2
2
 
3
+ ## `1.2.28` – 2025-Apr-29
4
+
5
+ - added: (ESLint) allow vitest type-checking expectations
6
+
7
+ ## `1.2.27` – 2025-Apr-25
8
+
9
+ - chore: bump dependencies
10
+ - chore: (StyleLint) add minimal unit test
11
+
3
12
  ## `1.2.26` – 2025-Apr-17
4
13
 
5
14
  - chore: bump dependencies
@@ -69,7 +78,7 @@
69
78
 
70
79
  ## `1.2.10` – 2025-Feb-14
71
80
 
72
- - fix: (ESLint) missing `env/tsconfig.*` in package
81
+ - fixed: (ESLint) missing `env/tsconfig.*` in package
73
82
 
74
83
  ## `1.2.9` – 2025-Feb-14
75
84
 
@@ -97,12 +106,12 @@
97
106
 
98
107
  ## `1.2.3` – 2025-Jan-16
99
108
 
100
- - add: (ESLint) ignore NuxtJS output directories (`.nuxt` and `.output`)
101
- - fix: (ESLint) bundle types for `picomatch`
109
+ - added: (ESLint) ignore NuxtJS output directories (`.nuxt` and `.output`)
110
+ - fixed: (ESLint) bundle types for `picomatch`
102
111
 
103
112
  ## `1.2.2` – 2025-Jan-11
104
113
 
105
- - fix: (ESLint) support all configuration file extensions
114
+ - fixed: (ESLint) support all configuration file extensions
106
115
 
107
116
  ## `1.2.1` – 2025-Jan-10
108
117
 
@@ -110,18 +119,18 @@
110
119
 
111
120
  ## `1.2.0` – 2025-Jan-09
112
121
 
113
- - change: (ESLint) move support for native decorators in JS files into own environment `env.decorators`
122
+ - changed: (ESLint) move support for native decorators in JS files into own environment `env.decorators`
114
123
  - removed: (ESLint) support for TypeScript's experimental decorators
115
124
 
116
125
  ## `1.1.1` – 2025-Jan-08
117
126
 
118
- - fix: (ESLint) remove obsolete package `eslint-import-resolver-typescript`
127
+ - fixed: (ESLint) remove obsolete package `eslint-import-resolver-typescript`
119
128
 
120
129
  ## `1.1.0` – 2025-Jan-08
121
130
 
122
- - add: (ESLint) plugin `eslint-plugin-depend`
123
- - add: (ESLint) config option "packages"
124
- - remove: (ESLint) plugin `eslint-plugin-import`
131
+ - added: (ESLint) plugin `eslint-plugin-depend`
132
+ - added: (ESLint) config option "packages"
133
+ - removed: (ESLint) plugin `eslint-plugin-import`
125
134
 
126
135
  ## `1.0.0` – 2025-Jan-03
127
136
 
@@ -135,29 +144,29 @@
135
144
  ## `0.12.3` – 2024-Dec-20
136
145
 
137
146
  - chore: bump dependencies
138
- - add: (ESLint) more rules of `eslint-plugin-eslint-plugin`
147
+ - added: (ESLint) more rules of `eslint-plugin-eslint-plugin`
139
148
 
140
149
  ## `0.12.2` – 2024-Dec-13
141
150
 
142
- - change: (ESLint) raise all recommended Vue rules to "error" level
151
+ - changed: (ESLint) raise all recommended Vue rules to "error" level
143
152
 
144
153
  ## `0.12.1` – 2024-Dec-13
145
154
 
146
155
  - chore: bump dependencies
147
- - add: (ESLint) support for React v19
156
+ - added: (ESLint) support for React v19
148
157
 
149
158
  ## `0.12.0` – 2024-Dec-06
150
159
 
151
160
  - chore: bump dependencies
152
- - add: (ESLint) more rules for Vue files
161
+ - added: (ESLint) more rules for Vue files
153
162
 
154
163
  ## `0.11.6` – 2024-Dec-01
155
164
 
156
- - add: (ESLint) enable standard rules in Vue files
165
+ - added: (ESLint) enable standard rules in Vue files
157
166
 
158
167
  ## `0.11.5` – 2024-Nov-29
159
168
 
160
- - add: (StyleLint) enable directive `reportUnscopedDisables`
169
+ - added: (StyleLint) enable directive `reportUnscopedDisables`
161
170
 
162
171
  ## `0.11.4` – 2024-Nov-29
163
172
 
@@ -165,7 +174,7 @@
165
174
 
166
175
  ## `0.11.3` – 2024-Nov-25
167
176
 
168
- - change: (StyleLint) disable rule `@stylistic/no-empty-first-line`
177
+ - changed: (StyleLint) disable rule `@stylistic/no-empty-first-line`
169
178
 
170
179
  ## `0.11.2` – 2024-Nov-22
171
180
 
@@ -173,16 +182,16 @@
173
182
 
174
183
  ## `0.11.1` – 2024-Nov-20
175
184
 
176
- - add: (StyleLint) support for `<style>` blocks in Vue SFCs
185
+ - added: (StyleLint) support for `<style>` blocks in Vue SFCs
177
186
 
178
187
  ## `0.11.0` – 2024-Nov-19
179
188
 
180
- - change: (ESLint) switch from `eslint-plugin-react` to `@eslint-react/eslint-plugin`
181
- - change: (ESLint) remove `eslint-plugin-jsx-expressions` plugin
189
+ - changed: (ESLint) switch from `eslint-plugin-react` to `@eslint-react/eslint-plugin`
190
+ - changed: (ESLint) remove `eslint-plugin-jsx-expressions` plugin
182
191
 
183
192
  ## `0.10.4` – 2024-Nov-18
184
193
 
185
- - fix: (ESLint) correctly configure `vue/html-indent` rule
194
+ - fixed: (ESLint) correctly configure `vue/html-indent` rule
186
195
 
187
196
  ## `0.10.3` – 2024-Nov-18
188
197
 
@@ -190,8 +199,8 @@
190
199
 
191
200
  ## `0.10.2` – 2024-Nov-18
192
201
 
193
- - add: (ESLint) add rule `@stylistic/jsx-indent`
194
- - change: (ESLint) change default indentation for Vue files to 4 spaces
202
+ - added: (ESLint) add rule `@stylistic/jsx-indent`
203
+ - changed: (ESLint) change default indentation for Vue files to 4 spaces
195
204
 
196
205
  ## `0.10.1` – 2024-Nov-15
197
206
 
@@ -199,14 +208,14 @@
199
208
 
200
209
  ## `0.10.0` – 2024-Nov-14
201
210
 
202
- - add: (ESLint) support for Vue.js files (`eslint-plugin-vue`)
203
- - change: (ESlint) default value of `ecmaVersion` set to `latest`
204
- - change: (ESlint) custom indentation per file type (default `2` for YAML and Vue)
211
+ - added: (ESLint) support for Vue.js files (`eslint-plugin-vue`)
212
+ - changed: (ESlint) default value of `ecmaVersion` set to `latest`
213
+ - changed: (ESlint) custom indentation per file type (default `2` for YAML and Vue)
205
214
 
206
215
  ## `0.9.0` – 2024-Nov-08
207
216
 
208
- - change: (ESLint) allow static class initialization blocks
209
- - change: (ESLint) allow `Object.hasOwn()`
217
+ - changed: (ESLint) allow static class initialization blocks
218
+ - changed: (ESLint) allow `Object.hasOwn()`
210
219
 
211
220
  ## `0.8.13` – 2024-Nov-08
212
221
 
@@ -214,7 +223,7 @@
214
223
 
215
224
  ## `0.8.12` – 2024-Nov-02
216
225
 
217
- - fix: (ESLint) `@typescript-eslint/switch-exhaustiveness-check`: add option `considerDefaultExhaustiveForUnions`
226
+ - fixed: (ESLint) `@typescript-eslint/switch-exhaustiveness-check`: add option `considerDefaultExhaustiveForUnions`
218
227
 
219
228
  ## `0.8.11` – 2024-Nov-02
220
229
 
@@ -259,11 +268,11 @@
259
268
 
260
269
  ## `0.8.1` – 2024-Sep-04
261
270
 
262
- - change: (ESLint) relax a few strict rules of `@typescript-eslint`
271
+ - changed: (ESLint) relax a few strict rules of `@typescript-eslint`
263
272
 
264
273
  ## `0.8.0` – 2024-Sep-04
265
274
 
266
- - change: (ESLint) raise `@typescript-eslint` rules to "strict" preset
275
+ - changed: (ESLint) raise `@typescript-eslint` rules to "strict" preset
267
276
 
268
277
  ## `0.7.1` – 2024-Aug-30
269
278
 
@@ -331,7 +340,7 @@
331
340
 
332
341
  ## `0.1.13` – 2024-Jul-31
333
342
 
334
- - change: disable rule `no-console` in environment `env.node`
343
+ - changed: disable rule `no-console` in environment `env.node`
335
344
  - chore: add renovate bot
336
345
  - chore: bump dependencies
337
346
 
@@ -1,5 +1,5 @@
1
1
  import vitestPlugin from "@vitest/eslint-plugin";
2
- import { concatConfigs, createConfig, customRules } from "../shared/env-utils.js";
2
+ import { JS_GLOB, concatConfigs, createConfig, customRules } from "../shared/env-utils.js";
3
3
  import { createUnitTestPluginConfigs } from "../shared/unittest.js";
4
4
  // functions ==================================================================
5
5
  /**
@@ -35,6 +35,15 @@ export default function vitest(envOptions) {
35
35
  }),
36
36
  // "jest-dom" and "testing-library" plugin
37
37
  createUnitTestPluginConfigs(envOptions),
38
+ // allow to add type-checking expectations in tests
39
+ createConfig(envOptions, {
40
+ ignores: JS_GLOB,
41
+ settings: {
42
+ vitest: {
43
+ typecheck: true,
44
+ },
45
+ },
46
+ }),
38
47
  // custom rules
39
48
  customRules(envOptions, {
40
49
  // "vitest" plugin
@@ -65,6 +65,7 @@ export function configure(options) {
65
65
  "no-descending-specificity": null,
66
66
  "no-unknown-animations": true,
67
67
  "rule-empty-line-before": null,
68
+ "shorthand-property-no-redundant-values": [true, { ignore: ["four-into-three-edge-values"] }],
68
69
  // license-header plugin
69
70
  ...(options?.license ? { "plugin/license-header": [true, { license: options.license }] } : null),
70
71
  // stylistic plugin
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-xchange/linter-presets",
3
- "version": "1.2.26",
3
+ "version": "1.2.28",
4
4
  "description": "Configuration presets for ESLint and StyleLint",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,23 +24,23 @@
24
24
  "clean": "premove dist",
25
25
  "build": "yarn clean && tsc --project src/tsconfig.json",
26
26
  "lint": "tsc && tsc --project src/tsconfig.json --noEmit && eslint .",
27
- "test": "cd test && eslint ."
27
+ "test": "cd test && eslint . && stylelint \"**/*.{css,scss}\""
28
28
  },
29
29
  "dependencies": {
30
30
  "@babel/core": "^7.26.10",
31
31
  "@babel/eslint-parser": "^7.27.0",
32
32
  "@babel/plugin-proposal-decorators": "^7.25.9",
33
33
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
34
- "@eslint-react/eslint-plugin": "^1.48.2",
34
+ "@eslint-react/eslint-plugin": "^1.48.4",
35
35
  "@eslint/compat": "^1.2.8",
36
- "@eslint/js": "^9.24.0",
37
- "@eslint/markdown": "^6.3.0",
36
+ "@eslint/js": "^9.25.1",
37
+ "@eslint/markdown": "^6.4.0",
38
38
  "@stylistic/eslint-plugin": "^4.2.0",
39
39
  "@stylistic/eslint-plugin-migrate": "^4.2.0",
40
40
  "@stylistic/stylelint-config": "^2.0.0",
41
41
  "@stylistic/stylelint-plugin": "^3.1.2",
42
42
  "@types/picomatch": "^4.0.0",
43
- "@vitest/eslint-plugin": "^1.1.42",
43
+ "@vitest/eslint-plugin": "^1.1.43",
44
44
  "confusing-browser-globals": "^1.0.11",
45
45
  "eslint-plugin-chai-expect": "^3.1.0",
46
46
  "eslint-plugin-codeceptjs": "^1.3.0",
@@ -49,7 +49,7 @@
49
49
  "eslint-plugin-jest": "^28.11.0",
50
50
  "eslint-plugin-jest-dom": "^5.5.0",
51
51
  "eslint-plugin-jest-extended": "^3.0.0",
52
- "eslint-plugin-jsdoc": "^50.6.9",
52
+ "eslint-plugin-jsdoc": "^50.6.10",
53
53
  "eslint-plugin-jsonc": "^2.20.0",
54
54
  "eslint-plugin-jsx-a11y": "^6.10.2",
55
55
  "eslint-plugin-license-header": "^0.8.0",
@@ -57,10 +57,10 @@
57
57
  "eslint-plugin-promise": "^7.2.1",
58
58
  "eslint-plugin-react-hooks": "^5.2.0",
59
59
  "eslint-plugin-react-hooks-static-deps": "^1.0.7",
60
- "eslint-plugin-react-refresh": "^0.4.19",
60
+ "eslint-plugin-react-refresh": "^0.4.20",
61
61
  "eslint-plugin-testing-library": "^7.1.1",
62
62
  "eslint-plugin-vue": "^10.0.0",
63
- "eslint-plugin-yml": "^1.17.0",
63
+ "eslint-plugin-yml": "^1.18.0",
64
64
  "find-up": "^7.0.0",
65
65
  "globals": "^16.0.0",
66
66
  "picomatch": "^4.0.2",
@@ -70,19 +70,19 @@
70
70
  "stylelint-config-standard-scss": "^14.0.0",
71
71
  "stylelint-config-standard-vue": "^1.0.0",
72
72
  "stylelint-plugin-license-header": "^1.0.3",
73
- "typescript-eslint": "^8.30.1",
73
+ "typescript-eslint": "^8.31.0",
74
74
  "vue-eslint-parser": "^10.1.3"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@types/confusing-browser-globals": "^1.0.3",
78
78
  "@types/eslint-scope": "^3.7.7",
79
79
  "@types/react": "^19.1.2",
80
- "@typescript-eslint/utils": "^8.30.1",
81
- "eslint": "^9.24.0",
80
+ "@typescript-eslint/utils": "^8.31.0",
81
+ "eslint": "^9.25.1",
82
82
  "jest": "^29.7.0",
83
83
  "jiti": "^2.4.2",
84
84
  "premove": "^4.0.0",
85
- "stylelint": "^16.18.0",
85
+ "stylelint": "^16.19.0",
86
86
  "typescript": "^5.8.3"
87
87
  },
88
88
  "peerDependencies": {