@depup/oxlint 1.83.0-depup.0 → 1.86.0-depup.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/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/oxlint
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [oxlint](https://www.npmjs.com/package/oxlint) @ 1.83.0 |
17
- | Processed | 2026-09-14 |
16
+ | Original | [oxlint](https://www.npmjs.com/package/oxlint) @ 1.86.0 |
17
+ | Processed | 2026-09-28 |
18
18
  | Smoke test | passed |
19
19
  | Deps updated | 0 |
20
20
 
package/changes.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "bumped": {},
3
- "timestamp": "2026-09-14T16:11:25.885Z",
3
+ "timestamp": "2026-09-28T16:11:23.812Z",
4
4
  "totalUpdated": 0
5
5
  }
@@ -8042,6 +8042,9 @@
8042
8042
  "typescript/no-for-in-array": {
8043
8043
  "$ref": "#/definitions/RuleNoConfig"
8044
8044
  },
8045
+ "typescript/no-generated-empty-object-type": {
8046
+ "$ref": "#/definitions/RuleNoConfig"
8047
+ },
8045
8048
  "typescript/no-implied-eval": {
8046
8049
  "$ref": "#/definitions/RuleNoConfig"
8047
8050
  },
@@ -16917,6 +16920,12 @@
16917
16920
  "OnlyExportComponentsConfig": {
16918
16921
  "type": "object",
16919
16922
  "properties": {
16923
+ "allowCompoundComponents": {
16924
+ "description": "Allow an exported object when every property is a React component.\nThis matches Vite's compound component support. The object must be non-empty,\ncontain no nested objects, spreads, or accessors, and anonymous functions\nmust use a component name as a static property key.\n\n```jsx\n// Allowed when allowCompoundComponents: true\nconst Root = () => <div />;\nconst Label = () => <span />;\nexport const Tag = { Root, Label };\n```",
16925
+ "default": false,
16926
+ "type": "boolean",
16927
+ "markdownDescription": "Allow an exported object when every property is a React component.\nThis matches Vite's compound component support. The object must be non-empty,\ncontain no nested objects, spreads, or accessors, and anonymous functions\nmust use a component name as a static property key.\n\n```jsx\n// Allowed when allowCompoundComponents: true\nconst Root = () => <div />;\nconst Label = () => <span />;\nexport const Tag = { Root, Label };\n```"
16928
+ },
16920
16929
  "allowConstantExport": {
16921
16930
  "description": "Allow exporting primitive constants (string/number/boolean/template literal)\nalongside component exports without triggering a violation. Recommended when your\nbundler’s Fast Refresh integration supports this (enabled by the plugin’s `vite`\npreset).\n\n```jsx\n// Allowed when allowConstantExport: true\nexport const VERSION = \"3\";\nexport const Foo = () => null;\n```",
16922
16931
  "default": false,
package/dist/bindings.js CHANGED
@@ -23,7 +23,8 @@ const loadErrors = [], isMusl = () => {
23
23
  };
24
24
  function requireNative() {
25
25
  if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) try {
26
- return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
26
+ let overrideBinding = require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
27
+ return overrideBinding && typeof overrideBinding.__napiBindingTarget == "string" && overrideBinding.__napiBindingTarget, overrideBinding;
27
28
  } catch (err) {
28
29
  loadErrors.push(err);
29
30
  }
@@ -36,7 +37,7 @@ function requireNative() {
36
37
  }
37
38
  try {
38
39
  let binding = require("@oxlint/binding-android-arm64"), bindingPackageVersion = require("@oxlint/binding-android-arm64/package.json").version;
39
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
40
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
40
41
  return binding;
41
42
  } catch (e) {
42
43
  loadErrors.push(e);
@@ -49,7 +50,7 @@ function requireNative() {
49
50
  }
50
51
  try {
51
52
  let binding = require("@oxlint/binding-android-arm-eabi"), bindingPackageVersion = require("@oxlint/binding-android-arm-eabi/package.json").version;
52
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
53
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
53
54
  return binding;
54
55
  } catch (e) {
55
56
  loadErrors.push(e);
@@ -65,7 +66,7 @@ function requireNative() {
65
66
  }
66
67
  try {
67
68
  let binding = require("@oxlint/binding-win32-x64-gnu"), bindingPackageVersion = require("@oxlint/binding-win32-x64-gnu/package.json").version;
68
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
69
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
69
70
  return binding;
70
71
  } catch (e) {
71
72
  loadErrors.push(e);
@@ -78,7 +79,7 @@ function requireNative() {
78
79
  }
79
80
  try {
80
81
  let binding = require("@oxlint/binding-win32-x64-msvc"), bindingPackageVersion = require("@oxlint/binding-win32-x64-msvc/package.json").version;
81
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
82
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
82
83
  return binding;
83
84
  } catch (e) {
84
85
  loadErrors.push(e);
@@ -92,7 +93,7 @@ function requireNative() {
92
93
  }
93
94
  try {
94
95
  let binding = require("@oxlint/binding-win32-ia32-msvc"), bindingPackageVersion = require("@oxlint/binding-win32-ia32-msvc/package.json").version;
95
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
96
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
96
97
  return binding;
97
98
  } catch (e) {
98
99
  loadErrors.push(e);
@@ -105,7 +106,7 @@ function requireNative() {
105
106
  }
106
107
  try {
107
108
  let binding = require("@oxlint/binding-win32-arm64-msvc"), bindingPackageVersion = require("@oxlint/binding-win32-arm64-msvc/package.json").version;
108
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
109
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
109
110
  return binding;
110
111
  } catch (e) {
111
112
  loadErrors.push(e);
@@ -119,7 +120,7 @@ function requireNative() {
119
120
  }
120
121
  try {
121
122
  let binding = require("@oxlint/binding-darwin-universal"), bindingPackageVersion = require("@oxlint/binding-darwin-universal/package.json").version;
122
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
123
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
123
124
  return binding;
124
125
  } catch (e) {
125
126
  loadErrors.push(e);
@@ -132,7 +133,7 @@ function requireNative() {
132
133
  }
133
134
  try {
134
135
  let binding = require("@oxlint/binding-darwin-x64"), bindingPackageVersion = require("@oxlint/binding-darwin-x64/package.json").version;
135
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
136
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
136
137
  return binding;
137
138
  } catch (e) {
138
139
  loadErrors.push(e);
@@ -145,7 +146,7 @@ function requireNative() {
145
146
  }
146
147
  try {
147
148
  let binding = require("@oxlint/binding-darwin-arm64"), bindingPackageVersion = require("@oxlint/binding-darwin-arm64/package.json").version;
148
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
149
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
149
150
  return binding;
150
151
  } catch (e) {
151
152
  loadErrors.push(e);
@@ -160,7 +161,7 @@ function requireNative() {
160
161
  }
161
162
  try {
162
163
  let binding = require("@oxlint/binding-freebsd-x64"), bindingPackageVersion = require("@oxlint/binding-freebsd-x64/package.json").version;
163
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
164
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
164
165
  return binding;
165
166
  } catch (e) {
166
167
  loadErrors.push(e);
@@ -173,7 +174,7 @@ function requireNative() {
173
174
  }
174
175
  try {
175
176
  let binding = require("@oxlint/binding-freebsd-arm64"), bindingPackageVersion = require("@oxlint/binding-freebsd-arm64/package.json").version;
176
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
177
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
177
178
  return binding;
178
179
  } catch (e) {
179
180
  loadErrors.push(e);
@@ -189,7 +190,7 @@ function requireNative() {
189
190
  }
190
191
  try {
191
192
  let binding = require("@oxlint/binding-linux-x64-musl"), bindingPackageVersion = require("@oxlint/binding-linux-x64-musl/package.json").version;
192
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
193
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
193
194
  return binding;
194
195
  } catch (e) {
195
196
  loadErrors.push(e);
@@ -202,7 +203,7 @@ function requireNative() {
202
203
  }
203
204
  try {
204
205
  let binding = require("@oxlint/binding-linux-x64-gnu"), bindingPackageVersion = require("@oxlint/binding-linux-x64-gnu/package.json").version;
205
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
206
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
206
207
  return binding;
207
208
  } catch (e) {
208
209
  loadErrors.push(e);
@@ -217,7 +218,7 @@ function requireNative() {
217
218
  }
218
219
  try {
219
220
  let binding = require("@oxlint/binding-linux-arm64-musl"), bindingPackageVersion = require("@oxlint/binding-linux-arm64-musl/package.json").version;
220
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
221
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
221
222
  return binding;
222
223
  } catch (e) {
223
224
  loadErrors.push(e);
@@ -230,7 +231,7 @@ function requireNative() {
230
231
  }
231
232
  try {
232
233
  let binding = require("@oxlint/binding-linux-arm64-gnu"), bindingPackageVersion = require("@oxlint/binding-linux-arm64-gnu/package.json").version;
233
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
234
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
234
235
  return binding;
235
236
  } catch (e) {
236
237
  loadErrors.push(e);
@@ -245,7 +246,7 @@ function requireNative() {
245
246
  }
246
247
  try {
247
248
  let binding = require("@oxlint/binding-linux-arm-musleabihf"), bindingPackageVersion = require("@oxlint/binding-linux-arm-musleabihf/package.json").version;
248
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
249
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
249
250
  return binding;
250
251
  } catch (e) {
251
252
  loadErrors.push(e);
@@ -258,7 +259,7 @@ function requireNative() {
258
259
  }
259
260
  try {
260
261
  let binding = require("@oxlint/binding-linux-arm-gnueabihf"), bindingPackageVersion = require("@oxlint/binding-linux-arm-gnueabihf/package.json").version;
261
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
262
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
262
263
  return binding;
263
264
  } catch (e) {
264
265
  loadErrors.push(e);
@@ -273,7 +274,7 @@ function requireNative() {
273
274
  }
274
275
  try {
275
276
  let binding = require("@oxlint/binding-linux-loong64-musl"), bindingPackageVersion = require("@oxlint/binding-linux-loong64-musl/package.json").version;
276
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
277
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
277
278
  return binding;
278
279
  } catch (e) {
279
280
  loadErrors.push(e);
@@ -286,7 +287,7 @@ function requireNative() {
286
287
  }
287
288
  try {
288
289
  let binding = require("@oxlint/binding-linux-loong64-gnu"), bindingPackageVersion = require("@oxlint/binding-linux-loong64-gnu/package.json").version;
289
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
290
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
290
291
  return binding;
291
292
  } catch (e) {
292
293
  loadErrors.push(e);
@@ -301,7 +302,7 @@ function requireNative() {
301
302
  }
302
303
  try {
303
304
  let binding = require("@oxlint/binding-linux-riscv64-musl"), bindingPackageVersion = require("@oxlint/binding-linux-riscv64-musl/package.json").version;
304
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
305
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
305
306
  return binding;
306
307
  } catch (e) {
307
308
  loadErrors.push(e);
@@ -314,7 +315,7 @@ function requireNative() {
314
315
  }
315
316
  try {
316
317
  let binding = require("@oxlint/binding-linux-riscv64-gnu"), bindingPackageVersion = require("@oxlint/binding-linux-riscv64-gnu/package.json").version;
317
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
318
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
318
319
  return binding;
319
320
  } catch (e) {
320
321
  loadErrors.push(e);
@@ -328,7 +329,7 @@ function requireNative() {
328
329
  }
329
330
  try {
330
331
  let binding = require("@oxlint/binding-linux-ppc64-gnu"), bindingPackageVersion = require("@oxlint/binding-linux-ppc64-gnu/package.json").version;
331
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
332
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
332
333
  return binding;
333
334
  } catch (e) {
334
335
  loadErrors.push(e);
@@ -341,7 +342,7 @@ function requireNative() {
341
342
  }
342
343
  try {
343
344
  let binding = require("@oxlint/binding-linux-s390x-gnu"), bindingPackageVersion = require("@oxlint/binding-linux-s390x-gnu/package.json").version;
344
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
345
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
345
346
  return binding;
346
347
  } catch (e) {
347
348
  loadErrors.push(e);
@@ -356,7 +357,7 @@ function requireNative() {
356
357
  }
357
358
  try {
358
359
  let binding = require("@oxlint/binding-openharmony-arm64"), bindingPackageVersion = require("@oxlint/binding-openharmony-arm64/package.json").version;
359
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
360
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
360
361
  return binding;
361
362
  } catch (e) {
362
363
  loadErrors.push(e);
@@ -369,7 +370,7 @@ function requireNative() {
369
370
  }
370
371
  try {
371
372
  let binding = require("@oxlint/binding-openharmony-x64"), bindingPackageVersion = require("@oxlint/binding-openharmony-x64/package.json").version;
372
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
373
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
373
374
  return binding;
374
375
  } catch (e) {
375
376
  loadErrors.push(e);
@@ -382,7 +383,7 @@ function requireNative() {
382
383
  }
383
384
  try {
384
385
  let binding = require("@oxlint/binding-openharmony-arm"), bindingPackageVersion = require("@oxlint/binding-openharmony-arm/package.json").version;
385
- if (bindingPackageVersion !== "1.83.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
386
+ if (bindingPackageVersion !== "1.86.0" && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") throw Error(`Native binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
386
387
  return binding;
387
388
  } catch (e) {
388
389
  loadErrors.push(e);
@@ -449,7 +450,7 @@ if (forceWasi || (nativeBinding = requireNative()), !nativeBinding || forceWasi)
449
450
  if (candidateError = __napiWasiResolveCandidate("@oxlint/binding-wasm32-wasi", !0, void 0), candidateFailed = candidateError !== null, !candidateFailed) {
450
451
  if (process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== "0") {
451
452
  let bindingPackageVersion = require("@oxlint/binding-wasm32-wasi/package.json").version;
452
- if (bindingPackageVersion !== "1.83.0") throw Error(`WASI binding package version mismatch, expected 1.83.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
453
+ if (bindingPackageVersion !== "1.86.0") throw Error(`WASI binding package version mismatch, expected 1.86.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`);
453
454
  }
454
455
  wasiBinding = require("@oxlint/binding-wasm32-wasi"), nativeBinding = wasiBinding, wasiBindingLoaded = !0;
455
456
  }
package/dist/cli.js CHANGED
@@ -38,11 +38,12 @@ function setupRuleConfigsWrapper(optionsJSON) {
38
38
  * @param optionsIds - IDs of options to use for rules on this file, in same order as `ruleIds`
39
39
  * @param settingsJSON - Settings for file, as JSON
40
40
  * @param globalsJSON - Globals for file, as JSON
41
+ * @param collectTimings - Whether to collect per-rule timing information
41
42
  * @param workspaceUri - Workspace URI (`null` in CLI mode, `string` in LSP mode)
42
- * @returns Diagnostics or error serialized to JSON string
43
+ * @returns Diagnostics and optional timing records, or an error serialized to JSON
43
44
  */
44
- function lintFileWrapper(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri) {
45
- return lintFile(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri);
45
+ function lintFileWrapper(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, collectTimings, workspaceUri) {
46
+ return lintFile(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, collectTimings, workspaceUri);
46
47
  }
47
48
  /**
48
49
  * Create a new workspace.
package/dist/index.d.ts CHANGED
@@ -1368,6 +1368,7 @@ interface DummyRuleMap {
1368
1368
  "typescript/no-extraneous-class"?: RuleNoConfig | [AllowWarnDeny, NoExtraneousClass];
1369
1369
  "typescript/no-floating-promises"?: RuleNoConfig | [AllowWarnDeny, NoFloatingPromisesConfig];
1370
1370
  "typescript/no-for-in-array"?: RuleNoConfig;
1371
+ "typescript/no-generated-empty-object-type"?: RuleNoConfig;
1371
1372
  "typescript/no-implied-eval"?: RuleNoConfig;
1372
1373
  "typescript/no-import-type-side-effects"?: RuleNoConfig;
1373
1374
  "typescript/no-inferrable-types"?: RuleNoConfig | [AllowWarnDeny, NoInferrableTypes];
@@ -4998,6 +4999,20 @@ interface NoUnstableNestedComponentsConfig {
4998
4999
  propNamePattern?: string;
4999
5000
  }
5000
5001
  interface OnlyExportComponentsConfig {
5002
+ /**
5003
+ * Allow an exported object when every property is a React component.
5004
+ * This matches Vite's compound component support. The object must be non-empty,
5005
+ * contain no nested objects, spreads, or accessors, and anonymous functions
5006
+ * must use a component name as a static property key.
5007
+ *
5008
+ * ```jsx
5009
+ * // Allowed when allowCompoundComponents: true
5010
+ * const Root = () => <div />;
5011
+ * const Label = () => <span />;
5012
+ * export const Tag = { Root, Label };
5013
+ * ```
5014
+ */
5015
+ allowCompoundComponents?: boolean;
5001
5016
  /**
5002
5017
  * Allow exporting primitive constants (string/number/boolean/template literal)
5003
5018
  * alongside component exports without triggering a violation. Recommended when your
package/dist/lint.js CHANGED
@@ -774,8 +774,8 @@ function deserializeCommentIfNeeded(index) {
774
774
  let pos = index << 4, flagPos = pos + 15;
775
775
  if (commentsUint8[flagPos] !== 0) return null;
776
776
  commentsUint8[flagPos] = 1;
777
- let comment = cachedComments[index], isBlock = commentsUint8[pos + 12] !== 0, pos32 = pos >> 2, start = commentsInt32[pos32], end = commentsInt32[pos32 + 1];
778
- return comment.type = isBlock ? "Block" : "Line", comment.value = sourceText.slice(start + 2, end - (isBlock << 1)), comment.range[0] = comment.start = start, comment.range[1] = comment.end = end, comment;
777
+ let comment = cachedComments[index], kind = commentsUint8[pos + 12], isBlock = kind !== 0 && kind < 3, pos32 = pos >> 2, start = commentsInt32[pos32], end = commentsInt32[pos32 + 1];
778
+ return comment.type = isBlock ? "Block" : "Line", comment.value = sourceText.slice(start + (kind < 3 ? 2 : kind), end - (isBlock << 1)), comment.range[0] = comment.start = start, comment.range[1] = comment.end = end, comment;
779
779
  }
780
780
  /**
781
781
  * Reset comments after file has been linted.
@@ -11758,8 +11758,16 @@ var require_eslint_visitor_keys = /* @__PURE__ */ __commonJSMin(((exports) => {
11758
11758
  super(options), this.scopeManager = scopeManager, this.#jsxPragma = options.jsxPragma, this.#jsxFragmentName = options.jsxFragmentName, this.#lib = options.lib;
11759
11759
  }
11760
11760
  populateGlobalsFromLib(globalScope) {
11761
- let libs = this.resolveLibDefinitions();
11762
- for (let lib of libs) for (let [name, variable] of lib.variables) globalScope.defineImplicitVariable(name, variable);
11761
+ let libs = this.resolveLibDefinitions(), variables = /* @__PURE__ */ new Map();
11762
+ for (let lib of libs) for (let [name, variable] of lib.variables) {
11763
+ let existing = variables.get(name);
11764
+ variables.set(name, existing ? {
11765
+ ...existing,
11766
+ isTypeVariable: existing.isTypeVariable || variable.isTypeVariable,
11767
+ isValueVariable: existing.isValueVariable || variable.isValueVariable
11768
+ } : variable);
11769
+ }
11770
+ for (let [name, variable] of variables) globalScope.defineImplicitVariable(name, variable);
11763
11771
  globalScope.defineImplicitVariable("const", {
11764
11772
  eslintImplicitGlobalSetting: "readonly",
11765
11773
  isTypeVariable: !0,
@@ -14274,7 +14282,7 @@ function resetSettings() {
14274
14282
  }
14275
14283
  //#endregion
14276
14284
  //#region package.json
14277
- var version = "1.83.0";
14285
+ var version = "1.86.0";
14278
14286
  //#endregion
14279
14287
  //#region src-js/plugins/context.ts
14280
14288
  const ObjectFreeze$1 = Object.freeze, ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectPreventExtensions = Object.preventExtensions;
@@ -17979,7 +17987,7 @@ function conformHookFn(hookFn, hookName) {
17979
17987
  return hookFn;
17980
17988
  }
17981
17989
  //#endregion
17982
- //#region ../../node_modules/.pnpm/eslint@10.10.0/node_modules/eslint/lib/shared/assert.js
17990
+ //#region ../../node_modules/.pnpm/eslint@10.11.0/node_modules/eslint/lib/shared/assert.js
17983
17991
  /**
17984
17992
  * @fileoverview Assertion utilities equivalent to the Node.js node:asserts module.
17985
17993
  * @author Josh Goldberg
@@ -22021,7 +22029,7 @@ function traverseNode(node, enter, leave) {
22021
22029
  let keys = keys_default[node.type], keysLen = keys.length;
22022
22030
  for (let i = 0; i < keysLen; i++) {
22023
22031
  let child = node[keys[i]];
22024
- if (child !== null) {
22032
+ if (child != null) {
22025
22033
  if (ArrayIsArray(child)) {
22026
22034
  let len = child.length;
22027
22035
  for (let i = 0; i < len; i++) {
@@ -22144,7 +22152,28 @@ var PatchedWeakMap = class extends WeakMap {
22144
22152
  }
22145
22153
  };
22146
22154
  ObjectDefineProperty$1(PatchedWeakMap, "name", { value: "WeakMap" }), globalThis.WeakMap = PatchedWeakMap;
22147
- const resetWeakMaps = resetWeakMapsFn, { matches: esqueryMatches, parse: esqueryParse } = (/* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
22155
+ const resetWeakMaps = resetWeakMapsFn;
22156
+ //#endregion
22157
+ //#region src-js/plugins/timing.ts
22158
+ function timeCall(timing, callback) {
22159
+ let start = performance.now();
22160
+ try {
22161
+ return callback();
22162
+ } finally {
22163
+ timing.durationMs += performance.now() - start, timing.calls++;
22164
+ }
22165
+ }
22166
+ function wrapTimedFunction(fn, timing) {
22167
+ return (...args) => {
22168
+ let start = performance.now();
22169
+ try {
22170
+ return fn(...args);
22171
+ } finally {
22172
+ timing.durationMs += performance.now() - start, timing.calls++;
22173
+ }
22174
+ };
22175
+ }
22176
+ const { matches: esqueryMatches, parse: esqueryParse } = (/* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
22148
22177
  (function(e, t) {
22149
22178
  typeof exports == "object" && module !== void 0 ? module.exports = t() : typeof define == "function" && define.amd ? define(t) : (e ||= self).esquery = t();
22150
22179
  })(exports, (function() {
@@ -23601,8 +23630,9 @@ let visitPropsCacheNextIndex = 0;
23601
23630
  * Add a visitor to compiled visitor.
23602
23631
  *
23603
23632
  * @param visitor - Visitor object
23633
+ * @param timing - Timing accumulator for the rule which owns this visitor
23604
23634
  */
23605
- function addVisitorToCompiled(visitor) {
23635
+ function addVisitorToCompiled(visitor, timing) {
23606
23636
  if (typeof visitor != "object" || !visitor) throw TypeError("Visitor returned from `create` method must be an object");
23607
23637
  let keys = ObjectKeys(visitor), keysLen = keys.length;
23608
23638
  if (keysLen === 0) return;
@@ -23619,7 +23649,7 @@ function addVisitorToCompiled(visitor) {
23619
23649
  let specificity = 0, isExit = name.endsWith(":exit");
23620
23650
  isExit && (name = name.slice(0, -5), specificity = 536870912);
23621
23651
  let visitProp = visitPropsCache[visitPropsCacheNextIndex++];
23622
- visitProp.fn = visitFn, visitProp.specificity = specificity, visitProp.selectorStr = name;
23652
+ visitProp.fn = timing === void 0 ? visitFn : wrapTimedFunction(visitFn, timing), visitProp.specificity = specificity, visitProp.selectorStr = name;
23623
23653
  let typeId = NODE_TYPE_IDS_MAP.get(name);
23624
23654
  if (typeId !== void 0) {
23625
23655
  visitProp.specificity |= 1, typeId < 27 ? addLeafVisitFn(typeId, visitProp) : typeId < 165 ? addNonLeafVisitFn(typeId, visitProp, isExit) : addCfgVisitFn(typeId, visitProp, isExit);
@@ -23627,7 +23657,7 @@ function addVisitorToCompiled(visitor) {
23627
23657
  }
23628
23658
  if (name !== "*") {
23629
23659
  let selector = parseSelector(name);
23630
- visitProp.specificity |= selector.specificity, selector.isComplex && (visitProp.fn = wrapVisitFnWithSelectorMatch(visitFn, selector.esquerySelector));
23660
+ visitProp.specificity |= selector.specificity, selector.isComplex && (visitProp.fn = wrapVisitFnWithSelectorMatch(visitFn, selector.esquerySelector), timing !== void 0 && (visitProp.fn = wrapTimedFunction(visitProp.fn, timing)));
23631
23661
  let { typeIds } = selector;
23632
23662
  if (typeIds !== null) {
23633
23663
  for (let i = 0, len = typeIds.length; i < len; i++) {
@@ -23850,16 +23880,36 @@ const ObjectDefineProperty = Object.defineProperty, buffers = [], afterHooks = [
23850
23880
  * @param optionsIds - IDs of options to use for rules on this file, in same order as `ruleIds`
23851
23881
  * @param settingsJSON - Settings for this file, as JSON string
23852
23882
  * @param globalsJSON - Globals for this file, as JSON string
23883
+ * @param collectTimings - Whether to collect per-rule timing information
23853
23884
  * @param workspaceUri - Workspace URI (`null` in CLI, string in LSP)
23854
- * @returns Diagnostics or error serialized to JSON string
23885
+ * @returns Diagnostics and optional timing records, or an error serialized to JSON
23855
23886
  */
23856
- function lintFile(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri) {
23887
+ function lintFile(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, collectTimings, workspaceUri) {
23888
+ let start = collectTimings ? performance.now() : 0, timings = collectTimings ? [] : null;
23857
23889
  try {
23858
- lintFileImpl(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri);
23890
+ lintFileImpl(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri, timings);
23859
23891
  let ret = null;
23860
- return diagnostics.length !== 0 && (ret = JSONStringify({ Success: diagnostics }), diagnostics.length = 0), resetFile(), ret;
23892
+ if (timings !== null) {
23893
+ let runtimeMs = performance.now() - start;
23894
+ ret = JSONStringify({ Success: {
23895
+ diagnostics,
23896
+ timings: {
23897
+ rules: timings,
23898
+ runtimeMs
23899
+ }
23900
+ } });
23901
+ } else diagnostics.length !== 0 && (ret = JSONStringify({ Success: { diagnostics } }));
23902
+ return diagnostics.length = 0, resetFile(), ret;
23861
23903
  } catch (err) {
23862
- return resetStateAfterError(), JSONStringify({ Failure: getErrorMessage(err) });
23904
+ runAfterHooks(!1);
23905
+ let timingOutput = timings === null ? void 0 : {
23906
+ rules: timings,
23907
+ runtimeMs: performance.now() - start
23908
+ }, failure = { Failure: {
23909
+ message: getErrorMessage(err),
23910
+ timings: timingOutput
23911
+ } };
23912
+ return clearStateAfterError(), JSONStringify(failure);
23863
23913
  }
23864
23914
  }
23865
23915
  /**
@@ -23873,10 +23923,11 @@ function lintFile(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON,
23873
23923
  * @param settingsJSON - Settings for this file, as JSON string
23874
23924
  * @param globalsJSON - Globals for this file, as JSON string
23875
23925
  * @param workspaceUri - Workspace URI (`null` in CLI, string in LSP)
23926
+ * @param timings - Timing accumulators, or `null` if timings are not being collected
23876
23927
  * @throws {Error} If any parameters are invalid
23877
23928
  * @throws {*} If any rule throws
23878
23929
  */
23879
- function lintFileImpl(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri) {
23930
+ function lintFileImpl(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJSON, globalsJSON, workspaceUri, timings = null) {
23880
23931
  if (buffer === null) buffer = buffers[bufferId];
23881
23932
  else {
23882
23933
  let { buffer: arrayBuffer, byteOffset } = buffer;
@@ -23888,18 +23939,24 @@ function lintFileImpl(filePath, bufferId, buffer, ruleIds, optionsIds, settingsJ
23888
23939
  let hasBOM = buffer[2147483574] === 1;
23889
23940
  setupSourceForFile(buffer, hasBOM), setSettingsForFile(settingsJSON), setGlobalsForFile(globalsJSON);
23890
23941
  for (let i = 0, len = ruleIds.length; i < len; i++) {
23891
- let ruleId = ruleIds[i], ruleDetails = registeredRules[ruleId];
23892
- ruleDetails.ruleIndex = i;
23942
+ let ruleId = ruleIds[i], ruleDetails = registeredRules[ruleId], ruleIndex = i;
23943
+ ruleDetails.ruleIndex = ruleIndex;
23944
+ let timing;
23945
+ timings !== null && (timing = {
23946
+ ruleIndex,
23947
+ durationMs: 0,
23948
+ calls: 0
23949
+ }, timings.push(timing));
23893
23950
  let optionsId = optionsIds[i];
23894
23951
  OPTIONS_DESCRIPTOR.value = optionsId === 0 ? ruleDetails.defaultOptions : allOptions[optionsId], ObjectDefineProperty(ruleDetails.context, "options", OPTIONS_DESCRIPTOR);
23895
23952
  let { visitor } = ruleDetails;
23896
- if (visitor === null) visitor = ruleDetails.rule.create(ruleDetails.context);
23953
+ if (visitor === null) visitor = timing === void 0 ? ruleDetails.rule.create(ruleDetails.context) : timeCall(timing, () => ruleDetails.rule.create(ruleDetails.context));
23897
23954
  else {
23898
23955
  let { beforeHook, afterHook } = ruleDetails;
23899
- if (beforeHook !== null && beforeHook() === !1) continue;
23900
- afterHook !== null && afterHooks.push(afterHook);
23956
+ if (beforeHook !== null && (timing === void 0 ? beforeHook() : timeCall(timing, beforeHook)) === !1) continue;
23957
+ afterHook !== null && afterHooks.push(timing === void 0 ? afterHook : wrapTimedFunction(afterHook, timing));
23901
23958
  }
23902
- addVisitorToCompiled(visitor);
23959
+ addVisitorToCompiled(visitor, timing);
23903
23960
  }
23904
23961
  let visitorState = finalizeCompiledVisitor();
23905
23962
  visitorState !== 0 && (ast === null && initAst(), visitorState === 2 ? walkProgramWithCfg(ast, compiledVisitor) : walkProgram(ast, compiledVisitor), resetCompiledVisitor()), runAfterHooks(!0);
@@ -23943,7 +24000,10 @@ function resetFile() {
23943
24000
  * in the correct initial state for linting the next file.
23944
24001
  */
23945
24002
  function resetStateAfterError() {
23946
- runAfterHooks(!1), finalizeCompiledVisitor(), resetCompiledVisitor(), diagnostics.length = 0, ancestors.length = 0, resetFile(), resetCfgWalk();
24003
+ runAfterHooks(!1), clearStateAfterError();
24004
+ }
24005
+ function clearStateAfterError() {
24006
+ finalizeCompiledVisitor(), resetCompiledVisitor(), diagnostics.length = 0, ancestors.length = 0, resetFile(), resetCfgWalk();
23947
24007
  }
23948
24008
  //#endregion
23949
24009
  export { BLOCK_ALIGN as _, loadPlugin as a, DATA_POINTER_POS_32 as b, registeredRules as c, PLACEHOLDER_REGEX as d, diagnostics as f, ACTIVE_SIZE as g, getNodeByRangeIndex as h, resetStateAfterError as i, allOptions as l, getLineColumnFromOffset as m, lintFile as n, registerPlugin as o, replacePlaceholders as p, lintFileImpl as r, registeredPluginNames as s, buffers as t, setOptions as u, BLOCK_SIZE as v, BUFFER_SIZE as y };
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-any.d.ts
1
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/is-any.d.ts
2
2
  /**
3
3
  Returns a boolean for whether the given type is `any`.
4
4
 
@@ -29,7 +29,7 @@ const anyA = get(anyObject, 'a');
29
29
  */
30
30
  type IsAny<T> = 0 extends 1 & NoInfer<T> ? true : false;
31
31
  //#endregion
32
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-optional-key-of.d.ts
32
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/is-optional-key-of.d.ts
33
33
  /**
34
34
  Returns a boolean for whether the given key is an optional key of type.
35
35
 
@@ -72,7 +72,7 @@ type T5 = IsOptionalKeyOf<User | Admin, 'surname'>;
72
72
  */
73
73
  type IsOptionalKeyOf<Type extends object, Key extends keyof Type> = IsAny<Type | Key> extends true ? never : Key extends keyof Type ? Type extends Record<Key, Type[Key]> ? false : true : false;
74
74
  //#endregion
75
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/optional-keys-of.d.ts
75
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/optional-keys-of.d.ts
76
76
  /**
77
77
  Extract all optional keys from the given type.
78
78
 
@@ -110,7 +110,7 @@ type OptionalKeysOf<Type extends object> = Type extends unknown // For distribut
110
110
  ? (keyof { [Key in keyof Type as IsOptionalKeyOf<Type, Key> extends false ? never : Key]: never; }) & keyof Type // Intersect with `keyof Type` to ensure result of `OptionalKeysOf<Type>` is always assignable to `keyof Type`
111
111
  : never; // Should never happen
112
112
  //#endregion
113
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/required-keys-of.d.ts
113
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/required-keys-of.d.ts
114
114
  /**
115
115
  Extract all required keys from the given type.
116
116
 
@@ -144,7 +144,7 @@ const validator3 = createValidation<User>('luckyNumber', value => value > 0);
144
144
  type RequiredKeysOf<Type extends object> = Type extends unknown // For distributing `Type`
145
145
  ? Exclude<keyof Type, OptionalKeysOf<Type>> : never; // Should never happen
146
146
  //#endregion
147
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-never.d.ts
147
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/is-never.d.ts
148
148
  /**
149
149
  Returns a boolean for whether the given type is `never`.
150
150
 
@@ -200,7 +200,7 @@ type B = IsTrueFixed<never>;
200
200
  */
201
201
  type IsNever<T> = [T] extends [never] ? true : false;
202
202
  //#endregion
203
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/if.d.ts
203
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/if.d.ts
204
204
  /**
205
205
  An if-else-like type that resolves depending on whether the given `boolean` type is `true` or `false`.
206
206
 
@@ -295,7 +295,7 @@ type Works = IncludesWithoutIf<HundredZeroes, '1'>;
295
295
  */
296
296
  type If<Type extends boolean, IfBranch, ElseBranch> = IsNever<Type> extends true ? ElseBranch : Type extends true ? IfBranch : ElseBranch;
297
297
  //#endregion
298
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/internal/type.d.ts
298
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/internal/type.d.ts
299
299
  /**
300
300
  An if-else-like type that resolves depending on whether the given type is `any` or `never`.
301
301
 
@@ -346,7 +346,7 @@ type IfNotAnyOrNever<T, Cases extends {
346
346
  ifNever?: unknown;
347
347
  }> = IsAny<T> extends true ? 'ifAny' extends keyof Cases ? Cases['ifAny'] : any : IsNever<T> extends true ? 'ifNever' extends keyof Cases ? Cases['ifNever'] : never : Cases['ifNot'];
348
348
  //#endregion
349
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/simplify.d.ts
349
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/simplify.d.ts
350
350
  /**
351
351
  Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
352
352
 
@@ -407,7 +407,7 @@ fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface`
407
407
  */
408
408
  type Simplify<T> = { [KeyType in keyof T]: T[KeyType]; } & {};
409
409
  //#endregion
410
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/is-equal.d.ts
410
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/is-equal.d.ts
411
411
  /**
412
412
  Returns a boolean for whether the two given types are equal.
413
413
 
@@ -438,7 +438,7 @@ type IsEqual<A, B> = [A] extends [B] ? [B] extends [A] ? _IsEqual<A, B> : false
438
438
  // This version fails the `equalWrappedTupleIntersectionToBeNeverAndNeverExpanded` test in `test-d/is-equal.ts`.
439
439
  type _IsEqual<A, B> = (<G>() => G extends A & G | G ? 1 : 2) extends (<G>() => G extends B & G | G ? 1 : 2) ? true : false;
440
440
  //#endregion
441
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/omit-index-signature.d.ts
441
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/omit-index-signature.d.ts
442
442
  /**
443
443
  Omit any index signatures from the given object type, leaving only explicitly defined properties.
444
444
 
@@ -532,7 +532,7 @@ type ExampleWithoutIndexSignatures = OmitIndexSignature<Example>;
532
532
  */
533
533
  type OmitIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? never : KeyType]: ObjectType[KeyType]; };
534
534
  //#endregion
535
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/pick-index-signature.d.ts
535
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/pick-index-signature.d.ts
536
536
  /**
537
537
  Pick only index signatures from the given object type, leaving out all explicitly defined properties.
538
538
 
@@ -580,7 +580,7 @@ type ExampleIndexSignature = PickIndexSignature<Example>;
580
580
  */
581
581
  type PickIndexSignature<ObjectType> = { [KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? KeyType : never]: ObjectType[KeyType]; };
582
582
  //#endregion
583
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/merge.d.ts
583
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/merge.d.ts
584
584
  // Merges two objects without worrying about index signatures.
585
585
  type SimpleMerge<Destination, Source> = Simplify<{ [Key in keyof Destination as Key extends keyof Source ? never : Key]: Destination[Key]; } & Source>;
586
586
  /**
@@ -651,7 +651,7 @@ type Merge<Destination, Source> = Destination extends unknown // For distributin
651
651
  : never; // Should never happen
652
652
  type _Merge<Destination, Source> = Simplify<SimpleMerge<PickIndexSignature<Destination>, PickIndexSignature<Source>> & SimpleMerge<OmitIndexSignature<Destination>, OmitIndexSignature<Source>>>;
653
653
  //#endregion
654
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/internal/object.d.ts
654
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/internal/object.d.ts
655
655
  /**
656
656
  Merges user specified options with default options.
657
657
 
@@ -708,7 +708,7 @@ type ApplyDefaultOptions<Options extends object, Defaults extends Simplify<Omit<
708
708
  ) ? Result : never;
709
709
  type _ApplyDefaultOptions<Options, Defaults, SpecifiedOptions> = If<IsAny<SpecifiedOptions>, Defaults, If<IsNever<SpecifiedOptions>, Defaults, Merge<Defaults, { [Key in keyof SpecifiedOptions as undefined extends Required<Options>[Key & keyof Options] ? Key : undefined extends SpecifiedOptions[Key] ? never : Key]: SpecifiedOptions[Key]; }>>>;
710
710
  //#endregion
711
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/except.d.ts
711
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/except.d.ts
712
712
  /**
713
713
  Filter out keys from an object.
714
714
 
@@ -808,7 +808,7 @@ type PostPayloadFixed = Except<UserData, 'email'>;
808
808
  type Except<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions = {}> = _Except<ObjectType, KeysType, ApplyDefaultOptions<ExceptOptions, DefaultExceptOptions, Options>>;
809
809
  type _Except<ObjectType, KeysType extends keyof ObjectType, Options extends Required<ExceptOptions>> = { [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType]; } & (Options['requireExactProps'] extends true ? Partial<Record<KeysType, never>> : {});
810
810
  //#endregion
811
- //#region ../../node_modules/.pnpm/type-fest@5.9.0/node_modules/type-fest/source/require-at-least-one.d.ts
811
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/require-at-least-one.d.ts
812
812
  /**
813
813
  Create a type that requires at least one of the given keys, while keeping the remaining keys as is.
814
814
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depup/oxlint",
3
- "version": "1.83.0-depup.0",
3
+ "version": "1.86.0-depup.0",
4
4
  "description": "Linter for the JavaScript Oxidation Compiler (with updated dependencies)",
5
5
  "keywords": [
6
6
  "oxlint",
@@ -52,7 +52,7 @@
52
52
  "./package.json": "./package.json"
53
53
  },
54
54
  "peerDependencies": {
55
- "oxlint-tsgolint": ">=7.0.2001",
55
+ "oxlint-tsgolint": ">=7.0.2003",
56
56
  "vite-plus": "*"
57
57
  },
58
58
  "peerDependenciesMeta": {
@@ -93,32 +93,32 @@
93
93
  },
94
94
  "preferUnplugged": true,
95
95
  "optionalDependencies": {
96
- "@oxlint/binding-darwin-arm64": "1.83.0",
97
- "@oxlint/binding-android-arm64": "1.83.0",
98
- "@oxlint/binding-win32-arm64-msvc": "1.83.0",
99
- "@oxlint/binding-linux-arm64-gnu": "1.83.0",
100
- "@oxlint/binding-linux-arm64-musl": "1.83.0",
101
- "@oxlint/binding-openharmony-arm64": "1.83.0",
102
- "@oxlint/binding-android-arm-eabi": "1.83.0",
103
- "@oxlint/binding-linux-arm-gnueabihf": "1.83.0",
104
- "@oxlint/binding-linux-arm-musleabihf": "1.83.0",
105
- "@oxlint/binding-win32-ia32-msvc": "1.83.0",
106
- "@oxlint/binding-linux-ppc64-gnu": "1.83.0",
107
- "@oxlint/binding-linux-riscv64-gnu": "1.83.0",
108
- "@oxlint/binding-linux-riscv64-musl": "1.83.0",
109
- "@oxlint/binding-linux-s390x-gnu": "1.83.0",
110
- "@oxlint/binding-darwin-x64": "1.83.0",
111
- "@oxlint/binding-win32-x64-msvc": "1.83.0",
112
- "@oxlint/binding-freebsd-x64": "1.83.0",
113
- "@oxlint/binding-linux-x64-gnu": "1.83.0",
114
- "@oxlint/binding-linux-x64-musl": "1.83.0"
96
+ "@oxlint/binding-darwin-arm64": "1.86.0",
97
+ "@oxlint/binding-android-arm64": "1.86.0",
98
+ "@oxlint/binding-win32-arm64-msvc": "1.86.0",
99
+ "@oxlint/binding-linux-arm64-gnu": "1.86.0",
100
+ "@oxlint/binding-linux-arm64-musl": "1.86.0",
101
+ "@oxlint/binding-openharmony-arm64": "1.86.0",
102
+ "@oxlint/binding-android-arm-eabi": "1.86.0",
103
+ "@oxlint/binding-linux-arm-gnueabihf": "1.86.0",
104
+ "@oxlint/binding-linux-arm-musleabihf": "1.86.0",
105
+ "@oxlint/binding-win32-ia32-msvc": "1.86.0",
106
+ "@oxlint/binding-linux-ppc64-gnu": "1.86.0",
107
+ "@oxlint/binding-linux-riscv64-gnu": "1.86.0",
108
+ "@oxlint/binding-linux-riscv64-musl": "1.86.0",
109
+ "@oxlint/binding-linux-s390x-gnu": "1.86.0",
110
+ "@oxlint/binding-darwin-x64": "1.86.0",
111
+ "@oxlint/binding-win32-x64-msvc": "1.86.0",
112
+ "@oxlint/binding-freebsd-x64": "1.86.0",
113
+ "@oxlint/binding-linux-x64-gnu": "1.86.0",
114
+ "@oxlint/binding-linux-x64-musl": "1.86.0"
115
115
  },
116
116
  "depup": {
117
117
  "changes": {},
118
118
  "depsUpdated": 0,
119
119
  "originalPackage": "oxlint",
120
- "originalVersion": "1.83.0",
121
- "processedAt": "2026-09-14T16:11:27.304Z",
120
+ "originalVersion": "1.86.0",
121
+ "processedAt": "2026-09-28T16:11:25.133Z",
122
122
  "smokeTest": "passed"
123
123
  }
124
124
  }