@kasoa/vite-plus-config 0.4.0 → 0.4.1

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
@@ -69,7 +69,7 @@ export default composeConfig(
69
69
  );
70
70
  ```
71
71
 
72
- The native fragment permits React Native's `__DEV__` and Expo's statically replaced `process.env`, rejects DOM and Worker globals, excludes DOM accessibility rules, and ignores `.expo` output. `reactNativeTestLintConfig` assigns portable test files to Vitest and `*.native.test.*` or `*.native.spec.*` files to Jest.
72
+ The native fragment permits React Native's `__DEV__` and Expo's statically replaced `process.env`, rejects DOM and Worker globals, excludes DOM accessibility rules, and ignores `.expo` output. It also follows the bundled Hermes runtime: `toReversed()` remains preferred, while `toSorted()` and `Intl.RelativeTimeFormat` are rejected and copied arrays may use `sort()`. `reactNativeTestLintConfig` assigns portable test files to Vitest and `*.native.test.*` or `*.native.spec.*` files to Jest.
73
73
 
74
74
  ## Libraries and workspaces
75
75
 
@@ -163,14 +163,294 @@ const reactDomRules = {
163
163
  "react/void-dom-elements-no-children": "error"
164
164
  };
165
165
  //#endregion
166
+ //#region src/lint/rules/universal.ts
167
+ const universalRestrictedProperties = [{
168
+ object: "Reflect",
169
+ property: "get"
170
+ }, {
171
+ object: "Reflect",
172
+ property: "apply"
173
+ }];
174
+ const universalRules = {
175
+ "accessor-pairs": "error",
176
+ "array-callback-return": "error",
177
+ "arrow-body-style": "error",
178
+ curly: [
179
+ "error",
180
+ "multi-line",
181
+ "consistent"
182
+ ],
183
+ "default-case-last": "error",
184
+ "default-param-last": "error",
185
+ eqeqeq: "error",
186
+ "func-name-matching": "error",
187
+ "func-names": "error",
188
+ "grouped-accessor-pairs": ["error", "getBeforeSet"],
189
+ "guard-for-in": "error",
190
+ "import/consistent-type-specifier-style": "error",
191
+ "import/first": "error",
192
+ "import/newline-after-import": "error",
193
+ "import/no-duplicates": "error",
194
+ "import/no-mutable-exports": "error",
195
+ "import/no-named-default": "error",
196
+ "logical-assignment-operators": "error",
197
+ "max-depth": ["error", { max: 3 }],
198
+ "max-nested-callbacks": ["error", { max: 3 }],
199
+ "max-params": ["error", { max: 3 }],
200
+ "no-array-constructor": "error",
201
+ "no-await-in-loop": "error",
202
+ "no-case-declarations": "error",
203
+ "no-constructor-return": "error",
204
+ "no-else-return": "error",
205
+ "no-empty": "error",
206
+ "no-extra-label": "error",
207
+ "no-fallthrough": "error",
208
+ "no-implicit-coercion": "error",
209
+ "no-inline-comments": "error",
210
+ "no-inner-declarations": "error",
211
+ "no-label-var": "error",
212
+ "no-labels": "error",
213
+ "no-lone-blocks": "error",
214
+ "no-lonely-if": "error",
215
+ "no-loop-func": "error",
216
+ "no-multi-assign": "error",
217
+ "no-multi-str": "error",
218
+ "no-nested-ternary": "error",
219
+ "no-new-func": "error",
220
+ "no-new-wrappers": "error",
221
+ "no-object-constructor": "error",
222
+ "no-promise-executor-return": "error",
223
+ "no-prototype-builtins": "error",
224
+ "no-redeclare": "error",
225
+ "no-restricted-properties": ["error", ...universalRestrictedProperties],
226
+ "no-return-assign": "error",
227
+ "no-script-url": "error",
228
+ "no-self-compare": "error",
229
+ "no-template-curly-in-string": "error",
230
+ "no-useless-call": "error",
231
+ "no-useless-computed-key": "error",
232
+ "no-useless-return": "error",
233
+ "no-warning-comments": "error",
234
+ "object-shorthand": "error",
235
+ "operator-assignment": "error",
236
+ "oxc/branches-sharing-code": "error",
237
+ "oxc/no-accumulating-spread": "error",
238
+ "oxc/no-map-spread": "error",
239
+ "prefer-arrow-callback": "error",
240
+ "prefer-const": "error",
241
+ "prefer-destructuring": "error",
242
+ "prefer-exponentiation-operator": "error",
243
+ "prefer-named-capture-group": "error",
244
+ "prefer-numeric-literals": "error",
245
+ "prefer-object-has-own": "error",
246
+ "prefer-object-spread": "error",
247
+ "prefer-regex-literals": "error",
248
+ "prefer-rest-params": "error",
249
+ "prefer-spread": "error",
250
+ "prefer-template": "error",
251
+ "promise/no-nesting": "error",
252
+ "promise/no-return-wrap": "error",
253
+ "promise/param-names": "error",
254
+ "promise/prefer-await-to-then": "error",
255
+ "promise/prefer-catch": "error",
256
+ radix: "error",
257
+ "symbol-description": "error",
258
+ "typescript/adjacent-overload-signatures": "error",
259
+ "typescript/array-type": "error",
260
+ "typescript/ban-ts-comment": ["error", { minimumDescriptionLength: 10 }],
261
+ "typescript/ban-tslint-comment": "error",
262
+ "typescript/class-literal-property-style": "error",
263
+ "typescript/consistent-generic-constructors": "error",
264
+ "typescript/consistent-indexed-object-style": "error",
265
+ "typescript/consistent-type-assertions": "error",
266
+ "typescript/consistent-type-exports": "error",
267
+ "typescript/consistent-type-imports": ["error", {
268
+ prefer: "type-imports",
269
+ fixStyle: "separate-type-imports"
270
+ }],
271
+ "typescript/dot-notation": "error",
272
+ "typescript/method-signature-style": "error",
273
+ "typescript/no-confusing-void-expression": "error",
274
+ "typescript/no-deprecated": "error",
275
+ "typescript/no-empty-object-type": "error",
276
+ "typescript/no-inferrable-types": "error",
277
+ "typescript/no-misused-promises": "error",
278
+ "typescript/no-mixed-enums": "error",
279
+ "typescript/no-unnecessary-qualifier": "error",
280
+ "typescript/no-unsafe-argument": "error",
281
+ "typescript/no-unsafe-assignment": "error",
282
+ "typescript/no-unsafe-call": "error",
283
+ "typescript/no-unsafe-function-type": "error",
284
+ "typescript/no-unsafe-member-access": "error",
285
+ "typescript/no-unsafe-return": "error",
286
+ "typescript/no-unsafe-type-assertion": "error",
287
+ "typescript/no-wrapper-object-types": "error",
288
+ "typescript/only-throw-error": "error",
289
+ "typescript/parameter-properties": "error",
290
+ "typescript/prefer-enum-initializers": "error",
291
+ "typescript/prefer-find": "error",
292
+ "typescript/prefer-for-of": "error",
293
+ "typescript/prefer-function-type": "error",
294
+ "typescript/prefer-includes": "error",
295
+ "typescript/prefer-nullish-coalescing": "error",
296
+ "typescript/prefer-promise-reject-errors": "error",
297
+ "typescript/prefer-readonly": "error",
298
+ "typescript/prefer-reduce-type-parameter": "error",
299
+ "typescript/prefer-regexp-exec": "error",
300
+ "typescript/prefer-return-this-type": "error",
301
+ "typescript/prefer-string-starts-ends-with": "error",
302
+ "typescript/related-getter-setter-pairs": "error",
303
+ "typescript/restrict-plus-operands": "error",
304
+ "typescript/return-await": "error",
305
+ "typescript/strict-boolean-expressions": "error",
306
+ "typescript/strict-void-return": "error",
307
+ "typescript/switch-exhaustiveness-check": "error",
308
+ "typescript/unified-signatures": "error",
309
+ "unicorn/catch-error-name": "error",
310
+ "unicorn/consistent-assert": "error",
311
+ "unicorn/consistent-date-clone": "error",
312
+ "unicorn/consistent-empty-array-spread": "error",
313
+ "unicorn/consistent-existence-index-check": "error",
314
+ "unicorn/consistent-template-literal-escape": "error",
315
+ "unicorn/custom-error-definition": "error",
316
+ "unicorn/error-message": "error",
317
+ "unicorn/escape-case": "error",
318
+ "unicorn/explicit-length-check": "error",
319
+ "unicorn/explicit-timer-delay": "error",
320
+ "unicorn/filename-case": ["error", { case: "kebabCase" }],
321
+ "unicorn/max-nested-calls": ["error", { max: 5 }],
322
+ "unicorn/new-for-builtins": "error",
323
+ "unicorn/no-array-callback-reference": "error",
324
+ "unicorn/no-array-method-this-argument": "error",
325
+ "unicorn/no-await-expression-member": "error",
326
+ "unicorn/no-console-spaces": "error",
327
+ "unicorn/no-hex-escape": "error",
328
+ "unicorn/no-immediate-mutation": "error",
329
+ "unicorn/no-instanceof-array": "error",
330
+ "unicorn/no-negation-in-equality-check": "error",
331
+ "unicorn/no-new-buffer": "error",
332
+ "unicorn/no-static-only-class": "error",
333
+ "unicorn/no-this-assignment": "error",
334
+ "unicorn/no-typeof-undefined": "error",
335
+ "unicorn/no-unnecessary-array-flat-depth": "error",
336
+ "unicorn/no-unnecessary-array-splice-count": "error",
337
+ "unicorn/no-unnecessary-slice-end": "error",
338
+ "unicorn/no-unreadable-array-destructuring": "error",
339
+ "unicorn/no-unreadable-iife": "error",
340
+ "unicorn/no-useless-collection-argument": "error",
341
+ "unicorn/no-useless-promise-resolve-reject": "error",
342
+ "unicorn/no-useless-switch-case": "error",
343
+ "unicorn/no-useless-undefined": "error",
344
+ "unicorn/no-zero-fractions": "error",
345
+ "unicorn/number-literal-case": "error",
346
+ "unicorn/numeric-separators-style": "error",
347
+ "unicorn/prefer-array-find": "error",
348
+ "unicorn/prefer-array-flat": "error",
349
+ "unicorn/prefer-array-flat-map": "error",
350
+ "unicorn/prefer-array-index-of": "error",
351
+ "unicorn/prefer-array-some": "error",
352
+ "unicorn/prefer-at": "error",
353
+ "unicorn/prefer-bigint-literals": "error",
354
+ "unicorn/prefer-blob-reading-methods": "error",
355
+ "unicorn/prefer-class-fields": "error",
356
+ "unicorn/prefer-code-point": "error",
357
+ "unicorn/prefer-date-now": "error",
358
+ "unicorn/prefer-default-parameters": "error",
359
+ "unicorn/prefer-export-from": "error",
360
+ "unicorn/prefer-global-this": "error",
361
+ "unicorn/prefer-import-meta-properties": "error",
362
+ "unicorn/prefer-includes": "error",
363
+ "unicorn/prefer-logical-operator-over-ternary": "error",
364
+ "unicorn/prefer-math-min-max": "error",
365
+ "unicorn/prefer-math-trunc": "error",
366
+ "unicorn/prefer-native-coercion-functions": "error",
367
+ "unicorn/prefer-negative-index": "error",
368
+ "unicorn/prefer-number-coercion": "error",
369
+ "unicorn/prefer-object-from-entries": "error",
370
+ "unicorn/prefer-optional-catch-binding": "error",
371
+ "unicorn/prefer-prototype-methods": "error",
372
+ "unicorn/prefer-regexp-test": "error",
373
+ "unicorn/prefer-response-static-json": "error",
374
+ "unicorn/prefer-set-has": "error",
375
+ "unicorn/prefer-single-call": "error",
376
+ "unicorn/prefer-spread": "error",
377
+ "unicorn/prefer-string-raw": "error",
378
+ "unicorn/prefer-string-replace-all": "error",
379
+ "unicorn/prefer-string-slice": "error",
380
+ "unicorn/prefer-string-trim-start-end": "error",
381
+ "unicorn/prefer-structured-clone": "error",
382
+ "unicorn/prefer-ternary": ["error", "only-single-line"],
383
+ "unicorn/prefer-type-error": "error",
384
+ "unicorn/relative-url-style": "error",
385
+ "unicorn/require-array-join-separator": "error",
386
+ "unicorn/require-module-attributes": "error",
387
+ "unicorn/require-number-to-fixed-digits-argument": "error",
388
+ "unicorn/switch-case-braces": "error",
389
+ "unicorn/switch-case-break-position": "error",
390
+ "unicorn/text-encoding-identifier-case": "error",
391
+ "unicorn/throw-new-error": "error",
392
+ yoda: "error",
393
+ complexity: ["error", { max: 20 }],
394
+ "getter-return": "error",
395
+ "no-bitwise": "error",
396
+ "no-console": ["error", { allow: [
397
+ "info",
398
+ "warn",
399
+ "error"
400
+ ] }],
401
+ "no-param-reassign": ["error", { props: true }],
402
+ "no-plusplus": "error",
403
+ "no-undef": "error",
404
+ "no-unneeded-ternary": "error",
405
+ "no-unreachable": "error",
406
+ "import/no-cycle": "error",
407
+ "import/no-unassigned-import": "off",
408
+ "oxc/bad-match-all-arg": "error",
409
+ "typescript/consistent-return": "error",
410
+ "typescript/explicit-module-boundary-types": "error",
411
+ "typescript/no-dynamic-delete": "error",
412
+ "typescript/no-explicit-any": "error",
413
+ "typescript/no-floating-promises": "error",
414
+ "typescript/no-misused-spread": "error",
415
+ "typescript/no-non-null-assertion": "error",
416
+ "typescript/no-require-imports": "error",
417
+ "typescript/no-unnecessary-condition": "error",
418
+ "typescript/no-unnecessary-type-arguments": "error",
419
+ "typescript/no-unnecessary-type-assertion": "error",
420
+ "typescript/no-unnecessary-type-parameters": "error",
421
+ "typescript/no-useless-default-assignment": "error",
422
+ "typescript/non-nullable-type-assertion-style": "error",
423
+ "typescript/prefer-optional-chain": "error",
424
+ "typescript/require-array-sort-compare": "error",
425
+ "typescript/restrict-template-expressions": "error",
426
+ "typescript/unbound-method": "error",
427
+ "typescript/use-unknown-in-catch-callback-variable": "error",
428
+ "unicorn/no-abusive-eslint-disable": "error"
429
+ };
430
+ //#endregion
166
431
  //#region src/lint/rules/react-native.ts
167
432
  const reactNativeRules = {
433
+ "no-restricted-properties": [
434
+ "error",
435
+ ...universalRestrictedProperties,
436
+ {
437
+ property: "toSorted",
438
+ message: "Hermes lacks toSorted; copy the array before sorting."
439
+ },
440
+ {
441
+ object: "Intl",
442
+ property: "RelativeTimeFormat",
443
+ message: "Hermes lacks Intl.RelativeTimeFormat; use a supported formatter."
444
+ }
445
+ ],
168
446
  "react/iframe-missing-sandbox": "off",
169
447
  "react/jsx-no-script-url": "off",
170
448
  "react/no-unknown-property": "off",
171
449
  "react/no-unescaped-entities": "off",
172
450
  "react/no-unstable-nested-components": ["error", { allowAsProps: true }],
173
- "react/void-dom-elements-no-children": "off"
451
+ "react/void-dom-elements-no-children": "off",
452
+ "unicorn/no-array-reverse": "error",
453
+ "unicorn/no-array-sort": ["error", { allowAfterSpread: true }]
174
454
  };
175
455
  //#endregion
176
456
  //#region src/lint/rules/vitest.ts
@@ -372,328 +652,60 @@ const reactWebLint = {
372
652
  ...browserRules,
373
653
  ...reactCoreRules,
374
654
  ...reactDomRules
375
- }
376
- };
377
- const reactNativeLint = {
378
- env: reactNativeEnvironment,
379
- globals: reactNativeGlobals,
380
- plugins: [...BASE_LINT_PLUGINS, "react"],
381
- rules: {
382
- ...reactCoreRules,
383
- ...reactNativeRules
384
- }
385
- };
386
- const reactNativeJestTestLint = {
387
- env: reactNativeJestEnvironment,
388
- globals: reactNativeGlobals,
389
- plugins: [
390
- ...BASE_LINT_PLUGINS,
391
- "react",
392
- "jest"
393
- ],
394
- rules: {
395
- ...reactCoreRules,
396
- ...reactNativeRules,
397
- ...jestRules
398
- }
399
- };
400
- const cloudflareWorkerLint = {
401
- env: cloudflareWorkerEnvironment,
402
- globals: cloudflareWorkerGlobals,
403
- plugins: [...BASE_LINT_PLUGINS]
404
- };
405
- const nodeTestLint = {
406
- ...nodeLint,
407
- plugins: [
408
- ...BASE_LINT_PLUGINS,
409
- "node",
410
- "vitest"
411
- ],
412
- rules: {
413
- ...nodeRules,
414
- ...vitestRules
415
- }
416
- };
417
- const browserTestLint = {
418
- ...browserLint,
419
- plugins: [...BASE_LINT_PLUGINS, "vitest"],
420
- rules: {
421
- ...browserRules,
422
- ...vitestRules
423
- }
424
- };
425
- const cloudflareWorkerTestLint = {
426
- ...cloudflareWorkerLint,
427
- plugins: [...BASE_LINT_PLUGINS, "vitest"],
428
- rules: vitestRules
429
- };
430
- //#endregion
431
- //#region src/lint/rules/universal.ts
432
- const universalRules = {
433
- "accessor-pairs": "error",
434
- "array-callback-return": "error",
435
- "arrow-body-style": "error",
436
- curly: [
437
- "error",
438
- "multi-line",
439
- "consistent"
440
- ],
441
- "default-case-last": "error",
442
- "default-param-last": "error",
443
- eqeqeq: "error",
444
- "func-name-matching": "error",
445
- "func-names": "error",
446
- "grouped-accessor-pairs": ["error", "getBeforeSet"],
447
- "guard-for-in": "error",
448
- "import/consistent-type-specifier-style": "error",
449
- "import/first": "error",
450
- "import/newline-after-import": "error",
451
- "import/no-duplicates": "error",
452
- "import/no-mutable-exports": "error",
453
- "import/no-named-default": "error",
454
- "logical-assignment-operators": "error",
455
- "max-depth": ["error", { max: 3 }],
456
- "max-nested-callbacks": ["error", { max: 3 }],
457
- "max-params": ["error", { max: 3 }],
458
- "no-array-constructor": "error",
459
- "no-await-in-loop": "error",
460
- "no-case-declarations": "error",
461
- "no-constructor-return": "error",
462
- "no-else-return": "error",
463
- "no-empty": "error",
464
- "no-extra-label": "error",
465
- "no-fallthrough": "error",
466
- "no-implicit-coercion": "error",
467
- "no-inline-comments": "error",
468
- "no-inner-declarations": "error",
469
- "no-label-var": "error",
470
- "no-labels": "error",
471
- "no-lone-blocks": "error",
472
- "no-lonely-if": "error",
473
- "no-loop-func": "error",
474
- "no-multi-assign": "error",
475
- "no-multi-str": "error",
476
- "no-nested-ternary": "error",
477
- "no-new-func": "error",
478
- "no-new-wrappers": "error",
479
- "no-object-constructor": "error",
480
- "no-promise-executor-return": "error",
481
- "no-prototype-builtins": "error",
482
- "no-redeclare": "error",
483
- "no-restricted-properties": [
484
- "error",
485
- {
486
- object: "Reflect",
487
- property: "get"
488
- },
489
- {
490
- object: "Reflect",
491
- property: "apply"
492
- }
655
+ }
656
+ };
657
+ const reactNativeLint = {
658
+ env: reactNativeEnvironment,
659
+ globals: reactNativeGlobals,
660
+ plugins: [...BASE_LINT_PLUGINS, "react"],
661
+ rules: {
662
+ ...reactCoreRules,
663
+ ...reactNativeRules
664
+ }
665
+ };
666
+ const reactNativeJestTestLint = {
667
+ env: reactNativeJestEnvironment,
668
+ globals: reactNativeGlobals,
669
+ plugins: [
670
+ ...BASE_LINT_PLUGINS,
671
+ "react",
672
+ "jest"
493
673
  ],
494
- "no-return-assign": "error",
495
- "no-script-url": "error",
496
- "no-self-compare": "error",
497
- "no-template-curly-in-string": "error",
498
- "no-useless-call": "error",
499
- "no-useless-computed-key": "error",
500
- "no-useless-return": "error",
501
- "no-warning-comments": "error",
502
- "object-shorthand": "error",
503
- "operator-assignment": "error",
504
- "oxc/branches-sharing-code": "error",
505
- "oxc/no-accumulating-spread": "error",
506
- "oxc/no-map-spread": "error",
507
- "prefer-arrow-callback": "error",
508
- "prefer-const": "error",
509
- "prefer-destructuring": "error",
510
- "prefer-exponentiation-operator": "error",
511
- "prefer-named-capture-group": "error",
512
- "prefer-numeric-literals": "error",
513
- "prefer-object-has-own": "error",
514
- "prefer-object-spread": "error",
515
- "prefer-regex-literals": "error",
516
- "prefer-rest-params": "error",
517
- "prefer-spread": "error",
518
- "prefer-template": "error",
519
- "promise/no-nesting": "error",
520
- "promise/no-return-wrap": "error",
521
- "promise/param-names": "error",
522
- "promise/prefer-await-to-then": "error",
523
- "promise/prefer-catch": "error",
524
- radix: "error",
525
- "symbol-description": "error",
526
- "typescript/adjacent-overload-signatures": "error",
527
- "typescript/array-type": "error",
528
- "typescript/ban-ts-comment": ["error", { minimumDescriptionLength: 10 }],
529
- "typescript/ban-tslint-comment": "error",
530
- "typescript/class-literal-property-style": "error",
531
- "typescript/consistent-generic-constructors": "error",
532
- "typescript/consistent-indexed-object-style": "error",
533
- "typescript/consistent-type-assertions": "error",
534
- "typescript/consistent-type-exports": "error",
535
- "typescript/consistent-type-imports": ["error", {
536
- prefer: "type-imports",
537
- fixStyle: "separate-type-imports"
538
- }],
539
- "typescript/dot-notation": "error",
540
- "typescript/method-signature-style": "error",
541
- "typescript/no-confusing-void-expression": "error",
542
- "typescript/no-deprecated": "error",
543
- "typescript/no-empty-object-type": "error",
544
- "typescript/no-inferrable-types": "error",
545
- "typescript/no-misused-promises": "error",
546
- "typescript/no-mixed-enums": "error",
547
- "typescript/no-unnecessary-qualifier": "error",
548
- "typescript/no-unsafe-argument": "error",
549
- "typescript/no-unsafe-assignment": "error",
550
- "typescript/no-unsafe-call": "error",
551
- "typescript/no-unsafe-function-type": "error",
552
- "typescript/no-unsafe-member-access": "error",
553
- "typescript/no-unsafe-return": "error",
554
- "typescript/no-unsafe-type-assertion": "error",
555
- "typescript/no-wrapper-object-types": "error",
556
- "typescript/only-throw-error": "error",
557
- "typescript/parameter-properties": "error",
558
- "typescript/prefer-enum-initializers": "error",
559
- "typescript/prefer-find": "error",
560
- "typescript/prefer-for-of": "error",
561
- "typescript/prefer-function-type": "error",
562
- "typescript/prefer-includes": "error",
563
- "typescript/prefer-nullish-coalescing": "error",
564
- "typescript/prefer-promise-reject-errors": "error",
565
- "typescript/prefer-readonly": "error",
566
- "typescript/prefer-reduce-type-parameter": "error",
567
- "typescript/prefer-regexp-exec": "error",
568
- "typescript/prefer-return-this-type": "error",
569
- "typescript/prefer-string-starts-ends-with": "error",
570
- "typescript/related-getter-setter-pairs": "error",
571
- "typescript/restrict-plus-operands": "error",
572
- "typescript/return-await": "error",
573
- "typescript/strict-boolean-expressions": "error",
574
- "typescript/strict-void-return": "error",
575
- "typescript/switch-exhaustiveness-check": "error",
576
- "typescript/unified-signatures": "error",
577
- "unicorn/catch-error-name": "error",
578
- "unicorn/consistent-assert": "error",
579
- "unicorn/consistent-date-clone": "error",
580
- "unicorn/consistent-empty-array-spread": "error",
581
- "unicorn/consistent-existence-index-check": "error",
582
- "unicorn/consistent-template-literal-escape": "error",
583
- "unicorn/custom-error-definition": "error",
584
- "unicorn/error-message": "error",
585
- "unicorn/escape-case": "error",
586
- "unicorn/explicit-length-check": "error",
587
- "unicorn/explicit-timer-delay": "error",
588
- "unicorn/filename-case": ["error", { case: "kebabCase" }],
589
- "unicorn/max-nested-calls": ["error", { max: 5 }],
590
- "unicorn/new-for-builtins": "error",
591
- "unicorn/no-array-callback-reference": "error",
592
- "unicorn/no-array-method-this-argument": "error",
593
- "unicorn/no-await-expression-member": "error",
594
- "unicorn/no-console-spaces": "error",
595
- "unicorn/no-hex-escape": "error",
596
- "unicorn/no-immediate-mutation": "error",
597
- "unicorn/no-instanceof-array": "error",
598
- "unicorn/no-negation-in-equality-check": "error",
599
- "unicorn/no-new-buffer": "error",
600
- "unicorn/no-static-only-class": "error",
601
- "unicorn/no-this-assignment": "error",
602
- "unicorn/no-typeof-undefined": "error",
603
- "unicorn/no-unnecessary-array-flat-depth": "error",
604
- "unicorn/no-unnecessary-array-splice-count": "error",
605
- "unicorn/no-unnecessary-slice-end": "error",
606
- "unicorn/no-unreadable-array-destructuring": "error",
607
- "unicorn/no-unreadable-iife": "error",
608
- "unicorn/no-useless-collection-argument": "error",
609
- "unicorn/no-useless-promise-resolve-reject": "error",
610
- "unicorn/no-useless-switch-case": "error",
611
- "unicorn/no-useless-undefined": "error",
612
- "unicorn/no-zero-fractions": "error",
613
- "unicorn/number-literal-case": "error",
614
- "unicorn/numeric-separators-style": "error",
615
- "unicorn/prefer-array-find": "error",
616
- "unicorn/prefer-array-flat": "error",
617
- "unicorn/prefer-array-flat-map": "error",
618
- "unicorn/prefer-array-index-of": "error",
619
- "unicorn/prefer-array-some": "error",
620
- "unicorn/prefer-at": "error",
621
- "unicorn/prefer-bigint-literals": "error",
622
- "unicorn/prefer-blob-reading-methods": "error",
623
- "unicorn/prefer-class-fields": "error",
624
- "unicorn/prefer-code-point": "error",
625
- "unicorn/prefer-date-now": "error",
626
- "unicorn/prefer-default-parameters": "error",
627
- "unicorn/prefer-export-from": "error",
628
- "unicorn/prefer-global-this": "error",
629
- "unicorn/prefer-import-meta-properties": "error",
630
- "unicorn/prefer-includes": "error",
631
- "unicorn/prefer-logical-operator-over-ternary": "error",
632
- "unicorn/prefer-math-min-max": "error",
633
- "unicorn/prefer-math-trunc": "error",
634
- "unicorn/prefer-native-coercion-functions": "error",
635
- "unicorn/prefer-negative-index": "error",
636
- "unicorn/prefer-number-coercion": "error",
637
- "unicorn/prefer-object-from-entries": "error",
638
- "unicorn/prefer-optional-catch-binding": "error",
639
- "unicorn/prefer-prototype-methods": "error",
640
- "unicorn/prefer-regexp-test": "error",
641
- "unicorn/prefer-response-static-json": "error",
642
- "unicorn/prefer-set-has": "error",
643
- "unicorn/prefer-single-call": "error",
644
- "unicorn/prefer-spread": "error",
645
- "unicorn/prefer-string-raw": "error",
646
- "unicorn/prefer-string-replace-all": "error",
647
- "unicorn/prefer-string-slice": "error",
648
- "unicorn/prefer-string-trim-start-end": "error",
649
- "unicorn/prefer-structured-clone": "error",
650
- "unicorn/prefer-ternary": ["error", "only-single-line"],
651
- "unicorn/prefer-type-error": "error",
652
- "unicorn/relative-url-style": "error",
653
- "unicorn/require-array-join-separator": "error",
654
- "unicorn/require-module-attributes": "error",
655
- "unicorn/require-number-to-fixed-digits-argument": "error",
656
- "unicorn/switch-case-braces": "error",
657
- "unicorn/switch-case-break-position": "error",
658
- "unicorn/text-encoding-identifier-case": "error",
659
- "unicorn/throw-new-error": "error",
660
- yoda: "error",
661
- complexity: ["error", { max: 20 }],
662
- "getter-return": "error",
663
- "no-bitwise": "error",
664
- "no-console": ["error", { allow: [
665
- "info",
666
- "warn",
667
- "error"
668
- ] }],
669
- "no-param-reassign": ["error", { props: true }],
670
- "no-plusplus": "error",
671
- "no-undef": "error",
672
- "no-unneeded-ternary": "error",
673
- "no-unreachable": "error",
674
- "import/no-cycle": "error",
675
- "import/no-unassigned-import": "off",
676
- "oxc/bad-match-all-arg": "error",
677
- "typescript/consistent-return": "error",
678
- "typescript/explicit-module-boundary-types": "error",
679
- "typescript/no-dynamic-delete": "error",
680
- "typescript/no-explicit-any": "error",
681
- "typescript/no-floating-promises": "error",
682
- "typescript/no-misused-spread": "error",
683
- "typescript/no-non-null-assertion": "error",
684
- "typescript/no-require-imports": "error",
685
- "typescript/no-unnecessary-condition": "error",
686
- "typescript/no-unnecessary-type-arguments": "error",
687
- "typescript/no-unnecessary-type-assertion": "error",
688
- "typescript/no-unnecessary-type-parameters": "error",
689
- "typescript/no-useless-default-assignment": "error",
690
- "typescript/non-nullable-type-assertion-style": "error",
691
- "typescript/prefer-optional-chain": "error",
692
- "typescript/require-array-sort-compare": "error",
693
- "typescript/restrict-template-expressions": "error",
694
- "typescript/unbound-method": "error",
695
- "typescript/use-unknown-in-catch-callback-variable": "error",
696
- "unicorn/no-abusive-eslint-disable": "error"
674
+ rules: {
675
+ ...reactCoreRules,
676
+ ...reactNativeRules,
677
+ ...jestRules
678
+ }
679
+ };
680
+ const cloudflareWorkerLint = {
681
+ env: cloudflareWorkerEnvironment,
682
+ globals: cloudflareWorkerGlobals,
683
+ plugins: [...BASE_LINT_PLUGINS]
684
+ };
685
+ const nodeTestLint = {
686
+ ...nodeLint,
687
+ plugins: [
688
+ ...BASE_LINT_PLUGINS,
689
+ "node",
690
+ "vitest"
691
+ ],
692
+ rules: {
693
+ ...nodeRules,
694
+ ...vitestRules
695
+ }
696
+ };
697
+ const browserTestLint = {
698
+ ...browserLint,
699
+ plugins: [...BASE_LINT_PLUGINS, "vitest"],
700
+ rules: {
701
+ ...browserRules,
702
+ ...vitestRules
703
+ }
704
+ };
705
+ const cloudflareWorkerTestLint = {
706
+ ...cloudflareWorkerLint,
707
+ plugins: [...BASE_LINT_PLUGINS, "vitest"],
708
+ rules: vitestRules
697
709
  };
698
710
  //#endregion
699
711
  //#region src/lint/configs.ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["nodeTestLintConfig","browserTestLintConfig","cloudflareWorkerTestLintConfig","reactNativeTestLintConfig","nodeTestLintSettings","browserTestLintSettings","cloudflareWorkerTestLintSettings","reactNativeTestLintSettings"],"sources":["../../src/compose.ts","../../src/format.ts","../../src/lint/rules/browser.ts","../../src/lint/rules/jest.ts","../../src/lint/rules/node.ts","../../src/lint/rules/react-core.ts","../../src/lint/rules/react-dom.ts","../../src/lint/rules/react-native.ts","../../src/lint/rules/vitest.ts","../../src/lint/profiles.ts","../../src/lint/rules/universal.ts","../../src/lint/configs.ts","../../src/fragments.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig, mergeConfig } from \"vite-plus\";\n\ninterface NamedPlugin {\n readonly name: string;\n}\n\ntype PluginValue = NamedPlugin | false | null | undefined;\n\nexport type PluginInput = PluginValue | Promise<PluginInput> | readonly PluginInput[];\n\nexport type ConfigFragment = Omit<UserConfig, \"plugins\"> & {\n readonly plugins?: readonly PluginInput[];\n};\n\nfunction toUserConfig(config: ConfigFragment): UserConfig {\n // eslint-disable-next-line typescript/no-unsafe-type-assertion -- Vite's recursive PluginOption overflows TypeScript 7 when consumers pass an ordinary Plugin; ConfigFragment preserves the named-plugin boundary without recursive comparison.\n return config as UserConfig;\n}\n\nexport function composeConfig(...fragments: readonly ConfigFragment[]): UserConfig {\n let config: UserConfig = {};\n\n for (const fragment of fragments) {\n config = mergeConfig(config, toUserConfig(fragment));\n }\n\n return defineConfig(config);\n}\n","import type { UserConfig } from \"vite-plus\";\nimport {\n CLOUDFLARE_WORKER_IGNORE_PATTERNS,\n DEFAULT_IGNORE_PATTERNS,\n REACT_NATIVE_IGNORE_PATTERNS,\n} from \"./constants.ts\";\n\ntype FormatConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFormatConfig: FormatConfig = {\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n sortImports: {\n internalPattern: [\"#\", \"@/\"],\n newlinesBetween: false,\n groups: [\n \"type-import\",\n [\"value-builtin\", \"value-external\"],\n \"type-internal\",\n \"value-internal\",\n [\"type-parent\", \"type-sibling\", \"type-index\"],\n [\"value-parent\", \"value-sibling\", \"value-index\"],\n \"unknown\",\n ],\n },\n};\n\nexport const reactFormatConfig: FormatConfig = {\n sortTailwindcss: {\n functions: [\"tv\"],\n },\n};\n\nexport const reactNativeFormatConfig: FormatConfig = {\n ignorePatterns: [...REACT_NATIVE_IGNORE_PATTERNS],\n};\n\nexport const cloudflareWorkerFormatConfig: FormatConfig = {\n ignorePatterns: [...CLOUDFLARE_WORKER_IGNORE_PATTERNS],\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const browserRules: LintRules = {\n \"no-alert\": \"error\",\n \"unicorn/prefer-classlist-toggle\": \"error\",\n \"unicorn/prefer-dom-node-append\": \"error\",\n \"unicorn/prefer-dom-node-dataset\": \"error\",\n \"unicorn/prefer-dom-node-remove\": \"error\",\n \"unicorn/prefer-dom-node-text-content\": \"error\",\n \"unicorn/prefer-keyboard-event-key\": \"error\",\n \"unicorn/prefer-modern-dom-apis\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const jestRules: LintRules = {\n \"max-nested-callbacks\": [\n \"error\",\n {\n max: 4,\n },\n ],\n \"jest/consistent-test-it\": [\n \"error\",\n {\n fn: \"test\",\n withinDescribe: \"it\",\n },\n ],\n \"jest/max-nested-describe\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"jest/no-alias-methods\": \"error\",\n \"jest/no-duplicate-hooks\": \"error\",\n \"jest/no-identical-title\": \"error\",\n \"jest/no-interpolation-in-snapshots\": \"error\",\n \"jest/no-large-snapshots\": \"error\",\n \"jest/no-mocks-import\": \"error\",\n \"jest/no-restricted-jest-methods\": [\n \"error\",\n {\n doMock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n mock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n unstable_mockModule: \"Use a maintained implementation, spy, or injected owned dependency.\",\n },\n ],\n \"jest/no-test-prefixes\": \"error\",\n \"jest/no-test-return-statement\": \"error\",\n \"jest/no-unneeded-async-expect-function\": \"error\",\n \"jest/padding-around-after-all-blocks\": \"error\",\n \"jest/padding-around-test-blocks\": \"error\",\n \"jest/prefer-called-with\": \"error\",\n \"jest/prefer-comparison-matcher\": \"error\",\n \"jest/prefer-each\": \"error\",\n \"jest/prefer-equality-matcher\": \"error\",\n \"jest/prefer-hooks-in-order\": \"error\",\n \"jest/prefer-hooks-on-top\": \"error\",\n \"jest/prefer-importing-jest-globals\": \"error\",\n \"jest/prefer-mock-promise-shorthand\": \"error\",\n \"jest/prefer-mock-return-shorthand\": \"error\",\n \"jest/prefer-spy-on\": \"error\",\n \"jest/prefer-to-be\": \"error\",\n \"jest/prefer-to-contain\": \"error\",\n \"jest/prefer-to-have-been-called-times\": \"error\",\n \"jest/prefer-to-have-length\": \"error\",\n \"jest/prefer-todo\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const nodeRules: LintRules = {\n \"node/exports-style\": \"error\",\n \"node/global-require\": \"error\",\n \"node/no-exports-assign\": \"error\",\n \"node/no-mixed-requires\": \"error\",\n \"unicorn/prefer-node-protocol\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const reactCoreRules: LintRules = {\n \"react/display-name\": \"error\",\n \"react/function-component-definition\": [\n \"error\",\n {\n namedComponents: \"function-declaration\",\n unnamedComponents: [\"arrow-function\", \"function-expression\"],\n },\n ],\n \"react/hook-use-state\": \"error\",\n \"react/jsx-boolean-value\": \"error\",\n \"react/jsx-curly-brace-presence\": \"error\",\n \"react/jsx-fragments\": \"error\",\n \"react/jsx-max-depth\": [\n \"error\",\n {\n max: 6,\n },\n ],\n \"react/jsx-no-constructed-context-values\": \"error\",\n \"react/jsx-no-useless-fragment\": \"error\",\n \"react/jsx-pascal-case\": \"error\",\n \"react/no-array-index-key\": \"error\",\n \"react/no-object-type-as-default-prop\": \"error\",\n \"react/no-redundant-should-component-update\": \"error\",\n \"react/no-set-state\": \"error\",\n \"react/prefer-es6-class\": \"error\",\n \"react/rules-of-hooks\": \"error\",\n \"react/self-closing-comp\": \"error\",\n \"react/state-in-constructor\": \"error\",\n \"react/exhaustive-deps\": \"error\",\n \"react/error-boundaries\": \"error\",\n \"react/globals\": \"error\",\n \"react/immutability\": \"error\",\n \"react/incompatible-library\": \"error\",\n \"react/preserve-manual-memoization\": \"error\",\n \"react/purity\": \"error\",\n \"react/refs\": \"error\",\n \"react/set-state-in-effect\": \"error\",\n \"react/set-state-in-render\": \"error\",\n \"react/static-components\": \"error\",\n \"react/unsupported-syntax\": \"error\",\n \"react/use-memo\": \"error\",\n \"react/void-use-memo\": \"error\",\n \"react/react-in-jsx-scope\": \"off\",\n \"react/jsx-key\": \"error\",\n \"react/jsx-no-duplicate-props\": \"error\",\n \"react/jsx-no-undef\": \"error\",\n \"react/no-children-prop\": \"error\",\n \"react/no-clone-element\": \"error\",\n \"react/no-direct-mutation-state\": \"error\",\n \"react/no-react-children\": \"error\",\n \"react/no-string-refs\": \"error\",\n \"react/no-unsafe\": \"error\",\n \"react/style-prop-object\": \"off\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const reactDomRules: LintRules = {\n \"react/checked-requires-onchange-or-readonly\": \"error\",\n \"react/jsx-no-target-blank\": \"error\",\n \"react/no-unescaped-entities\": \"error\",\n \"react/no-danger\": \"error\",\n \"react/no-danger-with-children\": \"error\",\n \"react/no-find-dom-node\": \"error\",\n \"react/no-unknown-property\": \"error\",\n \"react/void-dom-elements-no-children\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const reactNativeRules: LintRules = {\n \"react/iframe-missing-sandbox\": \"off\",\n \"react/jsx-no-script-url\": \"off\",\n \"react/no-unknown-property\": \"off\",\n \"react/no-unescaped-entities\": \"off\",\n \"react/no-unstable-nested-components\": [\n \"error\",\n {\n allowAsProps: true,\n },\n ],\n \"react/void-dom-elements-no-children\": \"off\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const vitestRules: LintRules = {\n \"max-nested-callbacks\": [\n \"error\",\n {\n max: 4,\n },\n ],\n \"vitest/consistent-each-for\": \"error\",\n \"vitest/consistent-test-it\": [\n \"error\",\n {\n fn: \"test\",\n withinDescribe: \"it\",\n },\n ],\n \"vitest/consistent-vitest-vi\": \"error\",\n \"vitest/max-nested-describe\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"vitest/no-alias-methods\": \"error\",\n \"vitest/no-duplicate-hooks\": \"error\",\n \"vitest/no-identical-title\": \"error\",\n \"vitest/no-import-node-test\": \"error\",\n \"vitest/no-interpolation-in-snapshots\": \"error\",\n \"vitest/no-large-snapshots\": \"error\",\n \"vitest/no-mocks-import\": \"error\",\n \"vitest/no-restricted-vi-methods\": [\n \"error\",\n {\n doMock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n mock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n },\n ],\n \"vitest/no-test-prefixes\": \"error\",\n \"vitest/no-test-return-statement\": \"error\",\n \"vitest/no-unneeded-async-expect-function\": \"error\",\n \"vitest/padding-around-after-all-blocks\": \"error\",\n \"vitest/padding-around-test-blocks\": \"error\",\n \"vitest/prefer-called-exactly-once-with\": \"error\",\n \"vitest/prefer-called-once\": \"error\",\n \"vitest/prefer-called-with\": \"error\",\n \"vitest/prefer-comparison-matcher\": \"error\",\n \"vitest/prefer-each\": \"error\",\n \"vitest/prefer-equality-matcher\": \"error\",\n \"vitest/prefer-expect-resolves\": \"error\",\n \"vitest/prefer-expect-type-of\": \"error\",\n \"vitest/prefer-hooks-in-order\": \"error\",\n \"vitest/prefer-hooks-on-top\": \"error\",\n \"vitest/prefer-import-in-mock\": \"error\",\n \"vitest/prefer-importing-vitest-globals\": \"error\",\n \"vitest/prefer-mock-promise-shorthand\": \"error\",\n \"vitest/prefer-mock-return-shorthand\": \"error\",\n \"vitest/prefer-spy-on\": \"error\",\n \"vitest/prefer-strict-boolean-matchers\": \"error\",\n \"vitest/prefer-strict-equal\": \"error\",\n \"vitest/prefer-to-be\": \"error\",\n \"vitest/prefer-to-be-object\": \"error\",\n \"vitest/prefer-to-contain\": \"error\",\n \"vitest/prefer-to-have-been-called-times\": \"error\",\n \"vitest/prefer-to-have-length\": \"error\",\n \"vitest/prefer-todo\": \"error\",\n};\n","import type { LintConfig, LintProfile } from \"./types.ts\";\nimport { browserRules } from \"./rules/browser.ts\";\nimport { jestRules } from \"./rules/jest.ts\";\nimport { nodeRules } from \"./rules/node.ts\";\nimport { reactCoreRules } from \"./rules/react-core.ts\";\nimport { reactDomRules } from \"./rules/react-dom.ts\";\nimport { reactNativeRules } from \"./rules/react-native.ts\";\nimport { vitestRules } from \"./rules/vitest.ts\";\n\nexport const BASE_LINT_PLUGINS = [\"typescript\", \"unicorn\", \"oxc\", \"import\", \"promise\"] as const;\n\nexport const neutralEnvironment: NonNullable<LintConfig[\"env\"]> = {\n browser: false,\n node: false,\n serviceworker: false,\n worker: false,\n} as const;\n\nexport const nodeEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n node: true,\n} as const;\n\nexport const browserEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n browser: true,\n} as const;\n\nexport const reactNativeEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n} as const;\n\nconst reactNativeJestEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...reactNativeEnvironment,\n jest: true,\n} as const;\n\nexport const cloudflareWorkerEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n serviceworker: true,\n worker: true,\n} as const;\n\nconst platformGlobalsOff = {\n __DEV__: \"off\",\n Cloudflare: \"off\",\n DigestStream: \"off\",\n FixedLengthStream: \"off\",\n HTMLRewriter: \"off\",\n IdentityTransformStream: \"off\",\n process: \"off\",\n WebSocketPair: \"off\",\n WebSocketRequestResponsePair: \"off\",\n} as const;\n\nconst nodeGlobals = {\n ...platformGlobalsOff,\n console: \"readonly\",\n process: \"readonly\",\n} as const;\n\nconst cloudflareWorkerGlobals = {\n ...platformGlobalsOff,\n Cloudflare: \"readonly\",\n DigestStream: \"readonly\",\n FixedLengthStream: \"readonly\",\n HTMLRewriter: \"readonly\",\n IdentityTransformStream: \"readonly\",\n WebSocketPair: \"readonly\",\n WebSocketRequestResponsePair: \"readonly\",\n} as const;\n\nexport const neutralLint: LintProfile = {\n env: neutralEnvironment,\n globals: platformGlobalsOff,\n plugins: [...BASE_LINT_PLUGINS],\n};\n\nexport const nodeLint: LintProfile = {\n env: nodeEnvironment,\n globals: nodeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"node\"],\n rules: nodeRules,\n};\n\nexport const browserLint: LintProfile = {\n env: browserEnvironment,\n globals: platformGlobalsOff,\n plugins: [...BASE_LINT_PLUGINS],\n rules: browserRules,\n};\n\nexport const reactCoreLint: LintProfile = {\n plugins: [...BASE_LINT_PLUGINS, \"react\"],\n rules: reactCoreRules,\n};\n\nexport const reactDomLint: LintProfile = {\n plugins: [...BASE_LINT_PLUGINS, \"react\", \"jsx-a11y\"],\n rules: reactDomRules,\n};\n\nconst reactNativeGlobals = {\n ...platformGlobalsOff,\n __BUNDLE_START_TIME__: \"readonly\",\n __DEV__: \"readonly\",\n AbortController: \"readonly\",\n AbortSignal: \"readonly\",\n alert: \"readonly\",\n Blob: \"readonly\",\n cancelAnimationFrame: \"readonly\",\n clearImmediate: \"readonly\",\n clearInterval: \"readonly\",\n clearTimeout: \"readonly\",\n console: \"readonly\",\n crypto: \"readonly\",\n DOMRect: \"readonly\",\n ErrorUtils: \"readonly\",\n Event: \"readonly\",\n EventTarget: \"readonly\",\n fetch: \"readonly\",\n fetchBundle: \"readonly\",\n File: \"readonly\",\n FileReader: \"readonly\",\n FormData: \"readonly\",\n Headers: \"readonly\",\n HermesInternal: \"readonly\",\n navigator: \"readonly\",\n originalXMLHttpRequest: \"readonly\",\n performance: \"readonly\",\n process: \"readonly\",\n queueMicrotask: \"readonly\",\n requestAnimationFrame: \"readonly\",\n Request: \"readonly\",\n require: \"readonly\",\n Response: \"readonly\",\n setImmediate: \"readonly\",\n setInterval: \"readonly\",\n setTimeout: \"readonly\",\n URL: \"readonly\",\n URLSearchParams: \"readonly\",\n WebSocket: \"readonly\",\n XMLHttpRequest: \"readonly\",\n XMLHttpRequestUpload: \"readonly\",\n} as const;\n\nexport const reactNativeRuntimeLint: LintProfile = {\n env: reactNativeEnvironment,\n globals: reactNativeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"react\"],\n rules: reactNativeRules,\n};\n\nexport const reactWebLint: LintProfile = {\n env: browserEnvironment,\n globals: platformGlobalsOff,\n plugins: [...BASE_LINT_PLUGINS, \"react\", \"jsx-a11y\"],\n rules: {\n ...browserRules,\n ...reactCoreRules,\n ...reactDomRules,\n },\n};\n\nexport const reactNativeLint: LintProfile = {\n env: reactNativeEnvironment,\n globals: reactNativeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"react\"],\n rules: {\n ...reactCoreRules,\n ...reactNativeRules,\n },\n};\n\nexport const reactNativeJestTestLint: LintProfile = {\n env: reactNativeJestEnvironment,\n globals: reactNativeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"react\", \"jest\"],\n rules: {\n ...reactCoreRules,\n ...reactNativeRules,\n ...jestRules,\n },\n};\n\nexport const cloudflareWorkerLint: LintProfile = {\n env: cloudflareWorkerEnvironment,\n globals: cloudflareWorkerGlobals,\n plugins: [...BASE_LINT_PLUGINS],\n};\n\nexport const nodeTestLint: LintProfile = {\n ...nodeLint,\n plugins: [...BASE_LINT_PLUGINS, \"node\", \"vitest\"],\n rules: {\n ...nodeRules,\n ...vitestRules,\n },\n};\n\nexport const browserTestLint: LintProfile = {\n ...browserLint,\n plugins: [...BASE_LINT_PLUGINS, \"vitest\"],\n rules: {\n ...browserRules,\n ...vitestRules,\n },\n};\n\nexport const cloudflareWorkerTestLint: LintProfile = {\n ...cloudflareWorkerLint,\n plugins: [...BASE_LINT_PLUGINS, \"vitest\"],\n rules: vitestRules,\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const universalRules: LintRules = {\n \"accessor-pairs\": \"error\",\n \"array-callback-return\": \"error\",\n \"arrow-body-style\": \"error\",\n curly: [\"error\", \"multi-line\", \"consistent\"],\n \"default-case-last\": \"error\",\n \"default-param-last\": \"error\",\n eqeqeq: \"error\",\n \"func-name-matching\": \"error\",\n \"func-names\": \"error\",\n \"grouped-accessor-pairs\": [\"error\", \"getBeforeSet\"],\n \"guard-for-in\": \"error\",\n \"import/consistent-type-specifier-style\": \"error\",\n \"import/first\": \"error\",\n \"import/newline-after-import\": \"error\",\n \"import/no-duplicates\": \"error\",\n \"import/no-mutable-exports\": \"error\",\n \"import/no-named-default\": \"error\",\n \"logical-assignment-operators\": \"error\",\n \"max-depth\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"max-nested-callbacks\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"max-params\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"no-array-constructor\": \"error\",\n \"no-await-in-loop\": \"error\",\n \"no-case-declarations\": \"error\",\n \"no-constructor-return\": \"error\",\n \"no-else-return\": \"error\",\n \"no-empty\": \"error\",\n \"no-extra-label\": \"error\",\n \"no-fallthrough\": \"error\",\n \"no-implicit-coercion\": \"error\",\n \"no-inline-comments\": \"error\",\n \"no-inner-declarations\": \"error\",\n \"no-label-var\": \"error\",\n \"no-labels\": \"error\",\n \"no-lone-blocks\": \"error\",\n \"no-lonely-if\": \"error\",\n \"no-loop-func\": \"error\",\n \"no-multi-assign\": \"error\",\n \"no-multi-str\": \"error\",\n \"no-nested-ternary\": \"error\",\n \"no-new-func\": \"error\",\n \"no-new-wrappers\": \"error\",\n \"no-object-constructor\": \"error\",\n \"no-promise-executor-return\": \"error\",\n \"no-prototype-builtins\": \"error\",\n \"no-redeclare\": \"error\",\n \"no-restricted-properties\": [\n \"error\",\n {\n object: \"Reflect\",\n property: \"get\",\n },\n {\n object: \"Reflect\",\n property: \"apply\",\n },\n ],\n \"no-return-assign\": \"error\",\n \"no-script-url\": \"error\",\n \"no-self-compare\": \"error\",\n \"no-template-curly-in-string\": \"error\",\n \"no-useless-call\": \"error\",\n \"no-useless-computed-key\": \"error\",\n \"no-useless-return\": \"error\",\n \"no-warning-comments\": \"error\",\n \"object-shorthand\": \"error\",\n \"operator-assignment\": \"error\",\n \"oxc/branches-sharing-code\": \"error\",\n \"oxc/no-accumulating-spread\": \"error\",\n \"oxc/no-map-spread\": \"error\",\n \"prefer-arrow-callback\": \"error\",\n \"prefer-const\": \"error\",\n \"prefer-destructuring\": \"error\",\n \"prefer-exponentiation-operator\": \"error\",\n \"prefer-named-capture-group\": \"error\",\n \"prefer-numeric-literals\": \"error\",\n \"prefer-object-has-own\": \"error\",\n \"prefer-object-spread\": \"error\",\n \"prefer-regex-literals\": \"error\",\n \"prefer-rest-params\": \"error\",\n \"prefer-spread\": \"error\",\n \"prefer-template\": \"error\",\n \"promise/no-nesting\": \"error\",\n \"promise/no-return-wrap\": \"error\",\n \"promise/param-names\": \"error\",\n \"promise/prefer-await-to-then\": \"error\",\n \"promise/prefer-catch\": \"error\",\n radix: \"error\",\n \"symbol-description\": \"error\",\n \"typescript/adjacent-overload-signatures\": \"error\",\n \"typescript/array-type\": \"error\",\n \"typescript/ban-ts-comment\": [\n \"error\",\n {\n minimumDescriptionLength: 10,\n },\n ],\n \"typescript/ban-tslint-comment\": \"error\",\n \"typescript/class-literal-property-style\": \"error\",\n \"typescript/consistent-generic-constructors\": \"error\",\n \"typescript/consistent-indexed-object-style\": \"error\",\n \"typescript/consistent-type-assertions\": \"error\",\n \"typescript/consistent-type-exports\": \"error\",\n \"typescript/consistent-type-imports\": [\n \"error\",\n {\n prefer: \"type-imports\",\n fixStyle: \"separate-type-imports\",\n },\n ],\n \"typescript/dot-notation\": \"error\",\n \"typescript/method-signature-style\": \"error\",\n \"typescript/no-confusing-void-expression\": \"error\",\n \"typescript/no-deprecated\": \"error\",\n \"typescript/no-empty-object-type\": \"error\",\n \"typescript/no-inferrable-types\": \"error\",\n \"typescript/no-misused-promises\": \"error\",\n \"typescript/no-mixed-enums\": \"error\",\n \"typescript/no-unnecessary-qualifier\": \"error\",\n \"typescript/no-unsafe-argument\": \"error\",\n \"typescript/no-unsafe-assignment\": \"error\",\n \"typescript/no-unsafe-call\": \"error\",\n \"typescript/no-unsafe-function-type\": \"error\",\n \"typescript/no-unsafe-member-access\": \"error\",\n \"typescript/no-unsafe-return\": \"error\",\n \"typescript/no-unsafe-type-assertion\": \"error\",\n \"typescript/no-wrapper-object-types\": \"error\",\n \"typescript/only-throw-error\": \"error\",\n \"typescript/parameter-properties\": \"error\",\n \"typescript/prefer-enum-initializers\": \"error\",\n \"typescript/prefer-find\": \"error\",\n \"typescript/prefer-for-of\": \"error\",\n \"typescript/prefer-function-type\": \"error\",\n \"typescript/prefer-includes\": \"error\",\n \"typescript/prefer-nullish-coalescing\": \"error\",\n \"typescript/prefer-promise-reject-errors\": \"error\",\n \"typescript/prefer-readonly\": \"error\",\n \"typescript/prefer-reduce-type-parameter\": \"error\",\n \"typescript/prefer-regexp-exec\": \"error\",\n \"typescript/prefer-return-this-type\": \"error\",\n \"typescript/prefer-string-starts-ends-with\": \"error\",\n \"typescript/related-getter-setter-pairs\": \"error\",\n \"typescript/restrict-plus-operands\": \"error\",\n \"typescript/return-await\": \"error\",\n \"typescript/strict-boolean-expressions\": \"error\",\n \"typescript/strict-void-return\": \"error\",\n \"typescript/switch-exhaustiveness-check\": \"error\",\n \"typescript/unified-signatures\": \"error\",\n \"unicorn/catch-error-name\": \"error\",\n \"unicorn/consistent-assert\": \"error\",\n \"unicorn/consistent-date-clone\": \"error\",\n \"unicorn/consistent-empty-array-spread\": \"error\",\n \"unicorn/consistent-existence-index-check\": \"error\",\n \"unicorn/consistent-template-literal-escape\": \"error\",\n \"unicorn/custom-error-definition\": \"error\",\n \"unicorn/error-message\": \"error\",\n \"unicorn/escape-case\": \"error\",\n \"unicorn/explicit-length-check\": \"error\",\n \"unicorn/explicit-timer-delay\": \"error\",\n \"unicorn/filename-case\": [\n \"error\",\n {\n case: \"kebabCase\",\n },\n ],\n \"unicorn/max-nested-calls\": [\n \"error\",\n {\n max: 5,\n },\n ],\n \"unicorn/new-for-builtins\": \"error\",\n \"unicorn/no-array-callback-reference\": \"error\",\n \"unicorn/no-array-method-this-argument\": \"error\",\n \"unicorn/no-await-expression-member\": \"error\",\n \"unicorn/no-console-spaces\": \"error\",\n \"unicorn/no-hex-escape\": \"error\",\n \"unicorn/no-immediate-mutation\": \"error\",\n \"unicorn/no-instanceof-array\": \"error\",\n \"unicorn/no-negation-in-equality-check\": \"error\",\n \"unicorn/no-new-buffer\": \"error\",\n \"unicorn/no-static-only-class\": \"error\",\n \"unicorn/no-this-assignment\": \"error\",\n \"unicorn/no-typeof-undefined\": \"error\",\n \"unicorn/no-unnecessary-array-flat-depth\": \"error\",\n \"unicorn/no-unnecessary-array-splice-count\": \"error\",\n \"unicorn/no-unnecessary-slice-end\": \"error\",\n \"unicorn/no-unreadable-array-destructuring\": \"error\",\n \"unicorn/no-unreadable-iife\": \"error\",\n \"unicorn/no-useless-collection-argument\": \"error\",\n \"unicorn/no-useless-promise-resolve-reject\": \"error\",\n \"unicorn/no-useless-switch-case\": \"error\",\n \"unicorn/no-useless-undefined\": \"error\",\n \"unicorn/no-zero-fractions\": \"error\",\n \"unicorn/number-literal-case\": \"error\",\n \"unicorn/numeric-separators-style\": \"error\",\n \"unicorn/prefer-array-find\": \"error\",\n \"unicorn/prefer-array-flat\": \"error\",\n \"unicorn/prefer-array-flat-map\": \"error\",\n \"unicorn/prefer-array-index-of\": \"error\",\n \"unicorn/prefer-array-some\": \"error\",\n \"unicorn/prefer-at\": \"error\",\n \"unicorn/prefer-bigint-literals\": \"error\",\n \"unicorn/prefer-blob-reading-methods\": \"error\",\n \"unicorn/prefer-class-fields\": \"error\",\n \"unicorn/prefer-code-point\": \"error\",\n \"unicorn/prefer-date-now\": \"error\",\n \"unicorn/prefer-default-parameters\": \"error\",\n \"unicorn/prefer-export-from\": \"error\",\n \"unicorn/prefer-global-this\": \"error\",\n \"unicorn/prefer-import-meta-properties\": \"error\",\n \"unicorn/prefer-includes\": \"error\",\n \"unicorn/prefer-logical-operator-over-ternary\": \"error\",\n \"unicorn/prefer-math-min-max\": \"error\",\n \"unicorn/prefer-math-trunc\": \"error\",\n \"unicorn/prefer-native-coercion-functions\": \"error\",\n \"unicorn/prefer-negative-index\": \"error\",\n \"unicorn/prefer-number-coercion\": \"error\",\n \"unicorn/prefer-object-from-entries\": \"error\",\n \"unicorn/prefer-optional-catch-binding\": \"error\",\n \"unicorn/prefer-prototype-methods\": \"error\",\n \"unicorn/prefer-regexp-test\": \"error\",\n \"unicorn/prefer-response-static-json\": \"error\",\n \"unicorn/prefer-set-has\": \"error\",\n \"unicorn/prefer-single-call\": \"error\",\n \"unicorn/prefer-spread\": \"error\",\n \"unicorn/prefer-string-raw\": \"error\",\n \"unicorn/prefer-string-replace-all\": \"error\",\n \"unicorn/prefer-string-slice\": \"error\",\n \"unicorn/prefer-string-trim-start-end\": \"error\",\n \"unicorn/prefer-structured-clone\": \"error\",\n \"unicorn/prefer-ternary\": [\"error\", \"only-single-line\"],\n \"unicorn/prefer-type-error\": \"error\",\n \"unicorn/relative-url-style\": \"error\",\n \"unicorn/require-array-join-separator\": \"error\",\n \"unicorn/require-module-attributes\": \"error\",\n \"unicorn/require-number-to-fixed-digits-argument\": \"error\",\n \"unicorn/switch-case-braces\": \"error\",\n \"unicorn/switch-case-break-position\": \"error\",\n \"unicorn/text-encoding-identifier-case\": \"error\",\n \"unicorn/throw-new-error\": \"error\",\n yoda: \"error\",\n complexity: [\n \"error\",\n {\n max: 20,\n },\n ],\n \"getter-return\": \"error\",\n \"no-bitwise\": \"error\",\n \"no-console\": [\n \"error\",\n {\n allow: [\"info\", \"warn\", \"error\"],\n },\n ],\n \"no-param-reassign\": [\n \"error\",\n {\n props: true,\n },\n ],\n \"no-plusplus\": \"error\",\n \"no-undef\": \"error\",\n \"no-unneeded-ternary\": \"error\",\n \"no-unreachable\": \"error\",\n \"import/no-cycle\": \"error\",\n \"import/no-unassigned-import\": \"off\",\n \"oxc/bad-match-all-arg\": \"error\",\n \"typescript/consistent-return\": \"error\",\n \"typescript/explicit-module-boundary-types\": \"error\",\n \"typescript/no-dynamic-delete\": \"error\",\n \"typescript/no-explicit-any\": \"error\",\n \"typescript/no-floating-promises\": \"error\",\n \"typescript/no-misused-spread\": \"error\",\n \"typescript/no-non-null-assertion\": \"error\",\n \"typescript/no-require-imports\": \"error\",\n \"typescript/no-unnecessary-condition\": \"error\",\n \"typescript/no-unnecessary-type-arguments\": \"error\",\n \"typescript/no-unnecessary-type-assertion\": \"error\",\n \"typescript/no-unnecessary-type-parameters\": \"error\",\n \"typescript/no-useless-default-assignment\": \"error\",\n \"typescript/non-nullable-type-assertion-style\": \"error\",\n \"typescript/prefer-optional-chain\": \"error\",\n \"typescript/require-array-sort-compare\": \"error\",\n \"typescript/restrict-template-expressions\": \"error\",\n \"typescript/unbound-method\": \"error\",\n \"typescript/use-unknown-in-catch-callback-variable\": \"error\",\n \"unicorn/no-abusive-eslint-disable\": \"error\",\n};\n","import type { LintConfig } from \"./types.ts\";\nimport {\n CLOUDFLARE_WORKER_IGNORE_PATTERNS,\n CODE_FILES,\n COMMONJS_FILES,\n CONFIG_FILES,\n DEFAULT_IGNORE_PATTERNS,\n REACT_NATIVE_IGNORE_PATTERNS,\n REACT_NATIVE_JEST_SETUP_FILES,\n REACT_NATIVE_JEST_TEST_FILES,\n RUNTIME_OVERRIDE_EXCLUDE_FILES,\n TEST_FILES,\n VITEST_SETUP_FILES,\n} from \"../constants.ts\";\nimport {\n BASE_LINT_PLUGINS,\n browserEnvironment,\n browserTestLint,\n cloudflareWorkerEnvironment,\n cloudflareWorkerLint,\n cloudflareWorkerTestLint,\n neutralEnvironment,\n neutralLint,\n nodeEnvironment,\n nodeLint,\n nodeTestLint,\n reactNativeJestTestLint,\n reactNativeRuntimeLint,\n} from \"./profiles.ts\";\nimport { browserRules } from \"./rules/browser.ts\";\nimport { nodeRules } from \"./rules/node.ts\";\nimport { reactCoreRules } from \"./rules/react-core.ts\";\nimport { reactDomRules } from \"./rules/react-dom.ts\";\nimport { reactNativeRules } from \"./rules/react-native.ts\";\nimport { universalRules } from \"./rules/universal.ts\";\n\nexport const baseLintConfig: LintConfig = {\n plugins: [...BASE_LINT_PLUGINS],\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n env: neutralEnvironment,\n globals: neutralLint.globals,\n options: {\n reportUnusedDisableDirectives: \"error\",\n typeAware: true,\n typeCheck: true,\n },\n categories: {\n correctness: \"error\",\n suspicious: \"error\",\n },\n extends: [{ rules: universalRules }],\n overrides: [\n {\n files: [...COMMONJS_FILES],\n ...nodeLint,\n rules: {\n ...nodeRules,\n \"typescript/no-require-imports\": \"off\",\n },\n },\n {\n files: [...CONFIG_FILES],\n ...nodeLint,\n rules: {\n ...nodeRules,\n \"func-names\": \"off\",\n },\n },\n {\n files: [\"**/*.d.ts\"],\n rules: {\n \"typescript/no-empty-object-type\": \"off\",\n },\n },\n ],\n};\n\nexport const nodeRuntimeLintConfig: LintConfig = {\n env: nodeEnvironment,\n globals: nodeLint.globals,\n plugins: [\"node\"],\n extends: [{ rules: nodeRules }],\n};\n\nexport const browserRuntimeLintConfig: LintConfig = {\n env: browserEnvironment,\n globals: neutralLint.globals,\n overrides: [\n {\n files: [...CODE_FILES],\n excludeFiles: [...RUNTIME_OVERRIDE_EXCLUDE_FILES],\n rules: browserRules,\n },\n ],\n};\n\nexport const reactCoreLintConfig: LintConfig = {\n plugins: [\"react\"],\n extends: [{ rules: reactCoreRules }],\n};\n\nexport const reactDomLintConfig: LintConfig = {\n plugins: [\"jsx-a11y\"],\n extends: [{ rules: reactDomRules }],\n};\n\nexport const reactNativeRuntimeLintConfig: LintConfig = {\n env: reactNativeRuntimeLint.env,\n globals: reactNativeRuntimeLint.globals,\n extends: [{ rules: reactNativeRules }],\n};\n\nexport const cloudflareWorkerRuntimeLintConfig: LintConfig = {\n env: cloudflareWorkerEnvironment,\n globals: cloudflareWorkerLint.globals,\n};\n\nexport const reactNativeGeneratedLintConfig: LintConfig = {\n ignorePatterns: [...REACT_NATIVE_IGNORE_PATTERNS],\n};\n\nexport const cloudflareWorkerGeneratedLintConfig: LintConfig = {\n ignorePatterns: [...CLOUDFLARE_WORKER_IGNORE_PATTERNS],\n};\n\nexport const nodeTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n ...nodeTestLint,\n },\n ],\n};\n\nexport const browserTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n ...browserTestLint,\n },\n ],\n};\n\nexport const cloudflareWorkerTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n ...cloudflareWorkerTestLint,\n },\n ],\n};\n\nexport const reactNativeTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n excludeFiles: [\n ...VITEST_SETUP_FILES,\n ...REACT_NATIVE_JEST_TEST_FILES,\n ...REACT_NATIVE_JEST_SETUP_FILES,\n ],\n ...nodeTestLint,\n },\n {\n files: [...VITEST_SETUP_FILES],\n excludeFiles: [...REACT_NATIVE_JEST_TEST_FILES, ...REACT_NATIVE_JEST_SETUP_FILES],\n ...nodeTestLint,\n rules: {\n ...nodeTestLint.rules,\n \"vitest/no-restricted-vi-methods\": \"off\",\n },\n },\n {\n files: [...REACT_NATIVE_JEST_TEST_FILES],\n excludeFiles: [...VITEST_SETUP_FILES, ...REACT_NATIVE_JEST_SETUP_FILES],\n ...reactNativeJestTestLint,\n },\n {\n files: [...REACT_NATIVE_JEST_SETUP_FILES],\n excludeFiles: [...VITEST_SETUP_FILES, ...REACT_NATIVE_JEST_TEST_FILES],\n ...reactNativeJestTestLint,\n rules: {\n ...reactNativeJestTestLint.rules,\n \"jest/no-restricted-jest-methods\": \"off\",\n },\n },\n ],\n};\n","import type { UserConfig } from \"vite-plus\";\nimport type { ConfigFragment } from \"./compose.ts\";\nimport {\n DEFAULT_STAGED_CHECK_COMMAND,\n DEFAULT_STAGED_CHECK_GLOB,\n DEFAULT_STAGED_FORMAT_COMMAND,\n DEFAULT_STAGED_FORMAT_GLOB,\n} from \"./constants.ts\";\nimport {\n baseFormatConfig,\n cloudflareWorkerFormatConfig,\n reactFormatConfig,\n reactNativeFormatConfig,\n} from \"./format.ts\";\nimport {\n baseLintConfig,\n browserRuntimeLintConfig,\n browserTestLintConfig as browserTestLintSettings,\n cloudflareWorkerGeneratedLintConfig,\n cloudflareWorkerRuntimeLintConfig,\n cloudflareWorkerTestLintConfig as cloudflareWorkerTestLintSettings,\n nodeRuntimeLintConfig,\n nodeTestLintConfig as nodeTestLintSettings,\n reactCoreLintConfig,\n reactDomLintConfig,\n reactNativeGeneratedLintConfig,\n reactNativeRuntimeLintConfig,\n reactNativeTestLintConfig as reactNativeTestLintSettings,\n} from \"./lint/configs.ts\";\n\ntype PackConfig = Exclude<UserConfig[\"pack\"], readonly unknown[] | undefined>;\n\nexport const baseToolingConfig: ConfigFragment = {\n fmt: baseFormatConfig,\n lint: baseLintConfig,\n staged: {\n [DEFAULT_STAGED_CHECK_GLOB]: DEFAULT_STAGED_CHECK_COMMAND,\n [DEFAULT_STAGED_FORMAT_GLOB]: DEFAULT_STAGED_FORMAT_COMMAND,\n },\n};\n\nexport const nodeRuntimeConfig: ConfigFragment = {\n lint: nodeRuntimeLintConfig,\n};\n\nexport const browserRuntimeConfig: ConfigFragment = {\n lint: browserRuntimeLintConfig,\n};\n\nexport const reactCoreConfig: ConfigFragment = {\n fmt: reactFormatConfig,\n lint: reactCoreLintConfig,\n};\n\nexport const reactDomConfig: ConfigFragment = {\n lint: reactDomLintConfig,\n};\n\nexport const reactNativeRuntimeConfig: ConfigFragment = {\n lint: reactNativeRuntimeLintConfig,\n};\n\nexport const reactNativeGeneratedConfig: ConfigFragment = {\n fmt: reactNativeFormatConfig,\n lint: reactNativeGeneratedLintConfig,\n};\n\nexport const cloudflareWorkerRuntimeConfig: ConfigFragment = {\n lint: cloudflareWorkerRuntimeLintConfig,\n};\n\nexport const cloudflareWorkerGeneratedConfig: ConfigFragment = {\n fmt: cloudflareWorkerFormatConfig,\n lint: cloudflareWorkerGeneratedLintConfig,\n};\n\nexport const nodeTestLintConfig: ConfigFragment = {\n lint: nodeTestLintSettings,\n};\n\nexport const browserTestLintConfig: ConfigFragment = {\n lint: browserTestLintSettings,\n};\n\nexport const cloudflareWorkerTestLintConfig: ConfigFragment = {\n lint: cloudflareWorkerTestLintSettings,\n};\n\nexport const reactNativeTestLintConfig: ConfigFragment = {\n lint: reactNativeTestLintSettings,\n};\n\nexport const libraryPackDefaults: PackConfig = {\n attw: {\n level: \"error\",\n profile: \"esm-only\",\n },\n clean: true,\n dts: true,\n format: [\"esm\"],\n publint: {\n strict: true,\n },\n sourcemap: true,\n};\n\nexport const libraryPackConfig: ConfigFragment = {\n pack: libraryPackDefaults,\n};\n\nexport const workspaceRunConfig: ConfigFragment = {\n run: {\n cache: {\n scripts: true,\n tasks: true,\n },\n enablePrePostScripts: true,\n },\n};\n"],"mappings":";;;AAeA,SAAS,aAAa,QAAoC;CAExD,OAAO;AACT;AAEA,SAAgB,cAAc,GAAG,WAAkD;CACjF,IAAI,SAAqB,CAAC;CAE1B,KAAK,MAAM,YAAY,WACrB,SAAS,YAAY,QAAQ,aAAa,QAAQ,CAAC;CAGrD,OAAO,aAAa,MAAM;AAC5B;;;ACnBA,MAAa,mBAAiC;CAC5C,gBAAgB,CAAC,GAAG,uBAAuB;CAC3C,aAAa;EACX,iBAAiB,CAAC,KAAK,IAAI;EAC3B,iBAAiB;EACjB,QAAQ;GACN;GACA,CAAC,iBAAiB,gBAAgB;GAClC;GACA;GACA;IAAC;IAAe;IAAgB;GAAY;GAC5C;IAAC;IAAgB;IAAiB;GAAa;GAC/C;EACF;CACF;AACF;AAEA,MAAa,oBAAkC,EAC7C,iBAAiB,EACf,WAAW,CAAC,IAAI,EAClB,EACF;AAEA,MAAa,0BAAwC,EACnD,gBAAgB,CAAC,GAAG,4BAA4B,EAClD;AAEA,MAAa,+BAA6C,EACxD,gBAAgB,CAAC,GAAG,iCAAiC,EACvD;;;ACpCA,MAAa,eAA0B;CACrC,YAAY;CACZ,mCAAmC;CACnC,kCAAkC;CAClC,mCAAmC;CACnC,kCAAkC;CAClC,wCAAwC;CACxC,qCAAqC;CACrC,kCAAkC;AACpC;;;ACTA,MAAa,YAAuB;CAClC,wBAAwB,CACtB,SACA,EACE,KAAK,EACP,CACF;CACA,2BAA2B,CACzB,SACA;EACE,IAAI;EACJ,gBAAgB;CAClB,CACF;CACA,4BAA4B,CAC1B,SACA,EACE,KAAK,EACP,CACF;CACA,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,sCAAsC;CACtC,2BAA2B;CAC3B,wBAAwB;CACxB,mCAAmC,CACjC,SACA;EACE,QAAQ;EACR,MAAM;EACN,qBAAqB;CACvB,CACF;CACA,yBAAyB;CACzB,iCAAiC;CACjC,0CAA0C;CAC1C,wCAAwC;CACxC,mCAAmC;CACnC,2BAA2B;CAC3B,kCAAkC;CAClC,oBAAoB;CACpB,gCAAgC;CAChC,8BAA8B;CAC9B,4BAA4B;CAC5B,sCAAsC;CACtC,sCAAsC;CACtC,qCAAqC;CACrC,sBAAsB;CACtB,qBAAqB;CACrB,0BAA0B;CAC1B,yCAAyC;CACzC,8BAA8B;CAC9B,oBAAoB;AACtB;;;ACtDA,MAAa,YAAuB;CAClC,sBAAsB;CACtB,uBAAuB;CACvB,0BAA0B;CAC1B,0BAA0B;CAC1B,gCAAgC;AAClC;;;ACNA,MAAa,iBAA4B;CACvC,sBAAsB;CACtB,uCAAuC,CACrC,SACA;EACE,iBAAiB;EACjB,mBAAmB,CAAC,kBAAkB,qBAAqB;CAC7D,CACF;CACA,wBAAwB;CACxB,2BAA2B;CAC3B,kCAAkC;CAClC,uBAAuB;CACvB,uBAAuB,CACrB,SACA,EACE,KAAK,EACP,CACF;CACA,2CAA2C;CAC3C,iCAAiC;CACjC,yBAAyB;CACzB,4BAA4B;CAC5B,wCAAwC;CACxC,8CAA8C;CAC9C,sBAAsB;CACtB,0BAA0B;CAC1B,wBAAwB;CACxB,2BAA2B;CAC3B,8BAA8B;CAC9B,yBAAyB;CACzB,0BAA0B;CAC1B,iBAAiB;CACjB,sBAAsB;CACtB,8BAA8B;CAC9B,qCAAqC;CACrC,gBAAgB;CAChB,cAAc;CACd,6BAA6B;CAC7B,6BAA6B;CAC7B,2BAA2B;CAC3B,4BAA4B;CAC5B,kBAAkB;CAClB,uBAAuB;CACvB,4BAA4B;CAC5B,iBAAiB;CACjB,gCAAgC;CAChC,sBAAsB;CACtB,0BAA0B;CAC1B,0BAA0B;CAC1B,kCAAkC;CAClC,2BAA2B;CAC3B,wBAAwB;CACxB,mBAAmB;CACnB,2BAA2B;AAC7B;;;ACvDA,MAAa,gBAA2B;CACtC,+CAA+C;CAC/C,6BAA6B;CAC7B,+BAA+B;CAC/B,mBAAmB;CACnB,iCAAiC;CACjC,0BAA0B;CAC1B,6BAA6B;CAC7B,uCAAuC;AACzC;;;ACTA,MAAa,mBAA8B;CACzC,gCAAgC;CAChC,2BAA2B;CAC3B,6BAA6B;CAC7B,+BAA+B;CAC/B,uCAAuC,CACrC,SACA,EACE,cAAc,KAChB,CACF;CACA,uCAAuC;AACzC;;;ACZA,MAAa,cAAyB;CACpC,wBAAwB,CACtB,SACA,EACE,KAAK,EACP,CACF;CACA,8BAA8B;CAC9B,6BAA6B,CAC3B,SACA;EACE,IAAI;EACJ,gBAAgB;CAClB,CACF;CACA,+BAA+B;CAC/B,8BAA8B,CAC5B,SACA,EACE,KAAK,EACP,CACF;CACA,2BAA2B;CAC3B,6BAA6B;CAC7B,6BAA6B;CAC7B,8BAA8B;CAC9B,wCAAwC;CACxC,6BAA6B;CAC7B,0BAA0B;CAC1B,mCAAmC,CACjC,SACA;EACE,QAAQ;EACR,MAAM;CACR,CACF;CACA,2BAA2B;CAC3B,mCAAmC;CACnC,4CAA4C;CAC5C,0CAA0C;CAC1C,qCAAqC;CACrC,0CAA0C;CAC1C,6BAA6B;CAC7B,6BAA6B;CAC7B,oCAAoC;CACpC,sBAAsB;CACtB,kCAAkC;CAClC,iCAAiC;CACjC,gCAAgC;CAChC,gCAAgC;CAChC,8BAA8B;CAC9B,gCAAgC;CAChC,0CAA0C;CAC1C,wCAAwC;CACxC,uCAAuC;CACvC,wBAAwB;CACxB,yCAAyC;CACzC,8BAA8B;CAC9B,uBAAuB;CACvB,8BAA8B;CAC9B,4BAA4B;CAC5B,2CAA2C;CAC3C,gCAAgC;CAChC,sBAAsB;AACxB;;;ACzDA,MAAa,oBAAoB;CAAC;CAAc;CAAW;CAAO;CAAU;AAAS;AAErF,MAAa,qBAAqD;CAChE,SAAS;CACT,MAAM;CACN,eAAe;CACf,QAAQ;AACV;AAEA,MAAa,kBAAkD;CAC7D,GAAG;CACH,MAAM;AACR;AAEA,MAAa,qBAAqD;CAChE,GAAG;CACH,SAAS;AACX;AAEA,MAAa,yBAAyD,EACpE,GAAG,mBACL;AAEA,MAAM,6BAA6D;CACjE,GAAG;CACH,MAAM;AACR;AAEA,MAAa,8BAA8D;CACzE,GAAG;CACH,eAAe;CACf,QAAQ;AACV;AAEA,MAAM,qBAAqB;CACzB,SAAS;CACT,YAAY;CACZ,cAAc;CACd,mBAAmB;CACnB,cAAc;CACd,yBAAyB;CACzB,SAAS;CACT,eAAe;CACf,8BAA8B;AAChC;AAEA,MAAM,cAAc;CAClB,GAAG;CACH,SAAS;CACT,SAAS;AACX;AAEA,MAAM,0BAA0B;CAC9B,GAAG;CACH,YAAY;CACZ,cAAc;CACd,mBAAmB;CACnB,cAAc;CACd,yBAAyB;CACzB,eAAe;CACf,8BAA8B;AAChC;AAEA,MAAa,cAA2B;CACtC,KAAK;CACL,SAAS;CACT,SAAS,CAAC,GAAG,iBAAiB;AAChC;AAEA,MAAa,WAAwB;CACnC,KAAK;CACL,SAAS;CACT,SAAS,CAAC,GAAG,mBAAmB,MAAM;CACtC,OAAO;AACT;AAEA,MAAa,cAA2B;CACtC,KAAK;CACL,SAAS;CACT,SAAS,CAAC,GAAG,iBAAiB;CAC9B,OAAO;AACT;AAEA,MAAa,gBAA6B;CACxC,SAAS,CAAC,GAAG,mBAAmB,OAAO;CACvC,OAAO;AACT;AAEA,MAAa,eAA4B;CACvC,SAAS;EAAC,GAAG;EAAmB;EAAS;CAAU;CACnD,OAAO;AACT;AAEA,MAAM,qBAAqB;CACzB,GAAG;CACH,uBAAuB;CACvB,SAAS;CACT,iBAAiB;CACjB,aAAa;CACb,OAAO;CACP,MAAM;CACN,sBAAsB;CACtB,gBAAgB;CAChB,eAAe;CACf,cAAc;CACd,SAAS;CACT,QAAQ;CACR,SAAS;CACT,YAAY;CACZ,OAAO;CACP,aAAa;CACb,OAAO;CACP,aAAa;CACb,MAAM;CACN,YAAY;CACZ,UAAU;CACV,SAAS;CACT,gBAAgB;CAChB,WAAW;CACX,wBAAwB;CACxB,aAAa;CACb,SAAS;CACT,gBAAgB;CAChB,uBAAuB;CACvB,SAAS;CACT,SAAS;CACT,UAAU;CACV,cAAc;CACd,aAAa;CACb,YAAY;CACZ,KAAK;CACL,iBAAiB;CACjB,WAAW;CACX,gBAAgB;CAChB,sBAAsB;AACxB;AAEA,MAAa,yBAAsC;CACjD,KAAK;CACL,SAAS;CACT,SAAS,CAAC,GAAG,mBAAmB,OAAO;CACvC,OAAO;AACT;AAEA,MAAa,eAA4B;CACvC,KAAK;CACL,SAAS;CACT,SAAS;EAAC,GAAG;EAAmB;EAAS;CAAU;CACnD,OAAO;EACL,GAAG;EACH,GAAG;EACH,GAAG;CACL;AACF;AAEA,MAAa,kBAA+B;CAC1C,KAAK;CACL,SAAS;CACT,SAAS,CAAC,GAAG,mBAAmB,OAAO;CACvC,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AAEA,MAAa,0BAAuC;CAClD,KAAK;CACL,SAAS;CACT,SAAS;EAAC,GAAG;EAAmB;EAAS;CAAM;CAC/C,OAAO;EACL,GAAG;EACH,GAAG;EACH,GAAG;CACL;AACF;AAEA,MAAa,uBAAoC;CAC/C,KAAK;CACL,SAAS;CACT,SAAS,CAAC,GAAG,iBAAiB;AAChC;AAEA,MAAa,eAA4B;CACvC,GAAG;CACH,SAAS;EAAC,GAAG;EAAmB;EAAQ;CAAQ;CAChD,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AAEA,MAAa,kBAA+B;CAC1C,GAAG;CACH,SAAS,CAAC,GAAG,mBAAmB,QAAQ;CACxC,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF;AAEA,MAAa,2BAAwC;CACnD,GAAG;CACH,SAAS,CAAC,GAAG,mBAAmB,QAAQ;CACxC,OAAO;AACT;;;ACnNA,MAAa,iBAA4B;CACvC,kBAAkB;CAClB,yBAAyB;CACzB,oBAAoB;CACpB,OAAO;EAAC;EAAS;EAAc;CAAY;CAC3C,qBAAqB;CACrB,sBAAsB;CACtB,QAAQ;CACR,sBAAsB;CACtB,cAAc;CACd,0BAA0B,CAAC,SAAS,cAAc;CAClD,gBAAgB;CAChB,0CAA0C;CAC1C,gBAAgB;CAChB,+BAA+B;CAC/B,wBAAwB;CACxB,6BAA6B;CAC7B,2BAA2B;CAC3B,gCAAgC;CAChC,aAAa,CACX,SACA,EACE,KAAK,EACP,CACF;CACA,wBAAwB,CACtB,SACA,EACE,KAAK,EACP,CACF;CACA,cAAc,CACZ,SACA,EACE,KAAK,EACP,CACF;CACA,wBAAwB;CACxB,oBAAoB;CACpB,wBAAwB;CACxB,yBAAyB;CACzB,kBAAkB;CAClB,YAAY;CACZ,kBAAkB;CAClB,kBAAkB;CAClB,wBAAwB;CACxB,sBAAsB;CACtB,yBAAyB;CACzB,gBAAgB;CAChB,aAAa;CACb,kBAAkB;CAClB,gBAAgB;CAChB,gBAAgB;CAChB,mBAAmB;CACnB,gBAAgB;CAChB,qBAAqB;CACrB,eAAe;CACf,mBAAmB;CACnB,yBAAyB;CACzB,8BAA8B;CAC9B,yBAAyB;CACzB,gBAAgB;CAChB,4BAA4B;EAC1B;EACA;GACE,QAAQ;GACR,UAAU;EACZ;EACA;GACE,QAAQ;GACR,UAAU;EACZ;CACF;CACA,oBAAoB;CACpB,iBAAiB;CACjB,mBAAmB;CACnB,+BAA+B;CAC/B,mBAAmB;CACnB,2BAA2B;CAC3B,qBAAqB;CACrB,uBAAuB;CACvB,oBAAoB;CACpB,uBAAuB;CACvB,6BAA6B;CAC7B,8BAA8B;CAC9B,qBAAqB;CACrB,yBAAyB;CACzB,gBAAgB;CAChB,wBAAwB;CACxB,kCAAkC;CAClC,8BAA8B;CAC9B,2BAA2B;CAC3B,yBAAyB;CACzB,wBAAwB;CACxB,yBAAyB;CACzB,sBAAsB;CACtB,iBAAiB;CACjB,mBAAmB;CACnB,sBAAsB;CACtB,0BAA0B;CAC1B,uBAAuB;CACvB,gCAAgC;CAChC,wBAAwB;CACxB,OAAO;CACP,sBAAsB;CACtB,2CAA2C;CAC3C,yBAAyB;CACzB,6BAA6B,CAC3B,SACA,EACE,0BAA0B,GAC5B,CACF;CACA,iCAAiC;CACjC,2CAA2C;CAC3C,8CAA8C;CAC9C,8CAA8C;CAC9C,yCAAyC;CACzC,sCAAsC;CACtC,sCAAsC,CACpC,SACA;EACE,QAAQ;EACR,UAAU;CACZ,CACF;CACA,2BAA2B;CAC3B,qCAAqC;CACrC,2CAA2C;CAC3C,4BAA4B;CAC5B,mCAAmC;CACnC,kCAAkC;CAClC,kCAAkC;CAClC,6BAA6B;CAC7B,uCAAuC;CACvC,iCAAiC;CACjC,mCAAmC;CACnC,6BAA6B;CAC7B,sCAAsC;CACtC,sCAAsC;CACtC,+BAA+B;CAC/B,uCAAuC;CACvC,sCAAsC;CACtC,+BAA+B;CAC/B,mCAAmC;CACnC,uCAAuC;CACvC,0BAA0B;CAC1B,4BAA4B;CAC5B,mCAAmC;CACnC,8BAA8B;CAC9B,wCAAwC;CACxC,2CAA2C;CAC3C,8BAA8B;CAC9B,2CAA2C;CAC3C,iCAAiC;CACjC,sCAAsC;CACtC,6CAA6C;CAC7C,0CAA0C;CAC1C,qCAAqC;CACrC,2BAA2B;CAC3B,yCAAyC;CACzC,iCAAiC;CACjC,0CAA0C;CAC1C,iCAAiC;CACjC,4BAA4B;CAC5B,6BAA6B;CAC7B,iCAAiC;CACjC,yCAAyC;CACzC,4CAA4C;CAC5C,8CAA8C;CAC9C,mCAAmC;CACnC,yBAAyB;CACzB,uBAAuB;CACvB,iCAAiC;CACjC,gCAAgC;CAChC,yBAAyB,CACvB,SACA,EACE,MAAM,YACR,CACF;CACA,4BAA4B,CAC1B,SACA,EACE,KAAK,EACP,CACF;CACA,4BAA4B;CAC5B,uCAAuC;CACvC,yCAAyC;CACzC,sCAAsC;CACtC,6BAA6B;CAC7B,yBAAyB;CACzB,iCAAiC;CACjC,+BAA+B;CAC/B,yCAAyC;CACzC,yBAAyB;CACzB,gCAAgC;CAChC,8BAA8B;CAC9B,+BAA+B;CAC/B,2CAA2C;CAC3C,6CAA6C;CAC7C,oCAAoC;CACpC,6CAA6C;CAC7C,8BAA8B;CAC9B,0CAA0C;CAC1C,6CAA6C;CAC7C,kCAAkC;CAClC,gCAAgC;CAChC,6BAA6B;CAC7B,+BAA+B;CAC/B,oCAAoC;CACpC,6BAA6B;CAC7B,6BAA6B;CAC7B,iCAAiC;CACjC,iCAAiC;CACjC,6BAA6B;CAC7B,qBAAqB;CACrB,kCAAkC;CAClC,uCAAuC;CACvC,+BAA+B;CAC/B,6BAA6B;CAC7B,2BAA2B;CAC3B,qCAAqC;CACrC,8BAA8B;CAC9B,8BAA8B;CAC9B,yCAAyC;CACzC,2BAA2B;CAC3B,gDAAgD;CAChD,+BAA+B;CAC/B,6BAA6B;CAC7B,4CAA4C;CAC5C,iCAAiC;CACjC,kCAAkC;CAClC,sCAAsC;CACtC,yCAAyC;CACzC,oCAAoC;CACpC,8BAA8B;CAC9B,uCAAuC;CACvC,0BAA0B;CAC1B,8BAA8B;CAC9B,yBAAyB;CACzB,6BAA6B;CAC7B,qCAAqC;CACrC,+BAA+B;CAC/B,wCAAwC;CACxC,mCAAmC;CACnC,0BAA0B,CAAC,SAAS,kBAAkB;CACtD,6BAA6B;CAC7B,8BAA8B;CAC9B,wCAAwC;CACxC,qCAAqC;CACrC,mDAAmD;CACnD,8BAA8B;CAC9B,sCAAsC;CACtC,yCAAyC;CACzC,2BAA2B;CAC3B,MAAM;CACN,YAAY,CACV,SACA,EACE,KAAK,GACP,CACF;CACA,iBAAiB;CACjB,cAAc;CACd,cAAc,CACZ,SACA,EACE,OAAO;EAAC;EAAQ;EAAQ;CAAO,EACjC,CACF;CACA,qBAAqB,CACnB,SACA,EACE,OAAO,KACT,CACF;CACA,eAAe;CACf,YAAY;CACZ,uBAAuB;CACvB,kBAAkB;CAClB,mBAAmB;CACnB,+BAA+B;CAC/B,yBAAyB;CACzB,gCAAgC;CAChC,6CAA6C;CAC7C,gCAAgC;CAChC,8BAA8B;CAC9B,mCAAmC;CACnC,gCAAgC;CAChC,oCAAoC;CACpC,iCAAiC;CACjC,uCAAuC;CACvC,4CAA4C;CAC5C,4CAA4C;CAC5C,6CAA6C;CAC7C,4CAA4C;CAC5C,gDAAgD;CAChD,oCAAoC;CACpC,yCAAyC;CACzC,4CAA4C;CAC5C,6BAA6B;CAC7B,qDAAqD;CACrD,qCAAqC;AACvC;;;AC/QA,MAAa,iBAA6B;CACxC,SAAS,CAAC,GAAG,iBAAiB;CAC9B,gBAAgB,CAAC,GAAG,uBAAuB;CAC3C,KAAK;CACL,SAAS,YAAY;CACrB,SAAS;EACP,+BAA+B;EAC/B,WAAW;EACX,WAAW;CACb;CACA,YAAY;EACV,aAAa;EACb,YAAY;CACd;CACA,SAAS,CAAC,EAAE,OAAO,eAAe,CAAC;CACnC,WAAW;EACT;GACE,OAAO,CAAC,GAAG,cAAc;GACzB,GAAG;GACH,OAAO;IACL,GAAG;IACH,iCAAiC;GACnC;EACF;EACA;GACE,OAAO,CAAC,GAAG,YAAY;GACvB,GAAG;GACH,OAAO;IACL,GAAG;IACH,cAAc;GAChB;EACF;EACA;GACE,OAAO,CAAC,WAAW;GACnB,OAAO,EACL,mCAAmC,MACrC;EACF;CACF;AACF;AAEA,MAAa,wBAAoC;CAC/C,KAAK;CACL,SAAS,SAAS;CAClB,SAAS,CAAC,MAAM;CAChB,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC;AAChC;AAEA,MAAa,2BAAuC;CAClD,KAAK;CACL,SAAS,YAAY;CACrB,WAAW,CACT;EACE,OAAO,CAAC,GAAG,UAAU;EACrB,cAAc,CAAC,GAAG,8BAA8B;EAChD,OAAO;CACT,CACF;AACF;AAEA,MAAa,sBAAkC;CAC7C,SAAS,CAAC,OAAO;CACjB,SAAS,CAAC,EAAE,OAAO,eAAe,CAAC;AACrC;AAEA,MAAa,qBAAiC;CAC5C,SAAS,CAAC,UAAU;CACpB,SAAS,CAAC,EAAE,OAAO,cAAc,CAAC;AACpC;AAEA,MAAa,+BAA2C;CACtD,KAAK,uBAAuB;CAC5B,SAAS,uBAAuB;CAChC,SAAS,CAAC,EAAE,OAAO,iBAAiB,CAAC;AACvC;AAEA,MAAa,oCAAgD;CAC3D,KAAK;CACL,SAAS,qBAAqB;AAChC;AAEA,MAAa,iCAA6C,EACxD,gBAAgB,CAAC,GAAG,4BAA4B,EAClD;AAEA,MAAa,sCAAkD,EAC7D,gBAAgB,CAAC,GAAG,iCAAiC,EACvD;AAEA,MAAaA,uBAAiC,EAC5C,WAAW,CACT;CACE,OAAO,CAAC,GAAG,UAAU;CACrB,GAAG;AACL,CACF,EACF;AAEA,MAAaC,0BAAoC,EAC/C,WAAW,CACT;CACE,OAAO,CAAC,GAAG,UAAU;CACrB,GAAG;AACL,CACF,EACF;AAEA,MAAaC,mCAA6C,EACxD,WAAW,CACT;CACE,OAAO,CAAC,GAAG,UAAU;CACrB,GAAG;AACL,CACF,EACF;AAEA,MAAaC,8BAAwC,EACnD,WAAW;CACT;EACE,OAAO,CAAC,GAAG,UAAU;EACrB,cAAc;GACZ,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,GAAG;CACL;CACA;EACE,OAAO,CAAC,GAAG,kBAAkB;EAC7B,cAAc,CAAC,GAAG,8BAA8B,GAAG,6BAA6B;EAChF,GAAG;EACH,OAAO;GACL,GAAG,aAAa;GAChB,mCAAmC;EACrC;CACF;CACA;EACE,OAAO,CAAC,GAAG,4BAA4B;EACvC,cAAc,CAAC,GAAG,oBAAoB,GAAG,6BAA6B;EACtE,GAAG;CACL;CACA;EACE,OAAO,CAAC,GAAG,6BAA6B;EACxC,cAAc,CAAC,GAAG,oBAAoB,GAAG,4BAA4B;EACrE,GAAG;EACH,OAAO;GACL,GAAG,wBAAwB;GAC3B,mCAAmC;EACrC;CACF;AACF,EACF;;;AC3JA,MAAa,oBAAoC;CAC/C,KAAK;CACL,MAAM;CACN,QAAQ;GACL,4BAA4B;GAC5B,6BAA6B;CAChC;AACF;AAEA,MAAa,oBAAoC,EAC/C,MAAM,sBACR;AAEA,MAAa,uBAAuC,EAClD,MAAM,yBACR;AAEA,MAAa,kBAAkC;CAC7C,KAAK;CACL,MAAM;AACR;AAEA,MAAa,iBAAiC,EAC5C,MAAM,mBACR;AAEA,MAAa,2BAA2C,EACtD,MAAM,6BACR;AAEA,MAAa,6BAA6C;CACxD,KAAK;CACL,MAAM;AACR;AAEA,MAAa,gCAAgD,EAC3D,MAAM,kCACR;AAEA,MAAa,kCAAkD;CAC7D,KAAK;CACL,MAAM;AACR;AAEA,MAAa,qBAAqC,EAChD,MAAMC,qBACR;AAEA,MAAa,wBAAwC,EACnD,MAAMC,wBACR;AAEA,MAAa,iCAAiD,EAC5D,MAAMC,iCACR;AAEA,MAAa,4BAA4C,EACvD,MAAMC,4BACR;AAEA,MAAa,sBAAkC;CAC7C,MAAM;EACJ,OAAO;EACP,SAAS;CACX;CACA,OAAO;CACP,KAAK;CACL,QAAQ,CAAC,KAAK;CACd,SAAS,EACP,QAAQ,KACV;CACA,WAAW;AACb;AAEA,MAAa,oBAAoC,EAC/C,MAAM,oBACR;AAEA,MAAa,qBAAqC,EAChD,KAAK;CACH,OAAO;EACL,SAAS;EACT,OAAO;CACT;CACA,sBAAsB;AACxB,EACF"}
1
+ {"version":3,"file":"index.mjs","names":["nodeTestLintConfig","browserTestLintConfig","cloudflareWorkerTestLintConfig","reactNativeTestLintConfig","nodeTestLintSettings","browserTestLintSettings","cloudflareWorkerTestLintSettings","reactNativeTestLintSettings"],"sources":["../../src/compose.ts","../../src/format.ts","../../src/lint/rules/browser.ts","../../src/lint/rules/jest.ts","../../src/lint/rules/node.ts","../../src/lint/rules/react-core.ts","../../src/lint/rules/react-dom.ts","../../src/lint/rules/universal.ts","../../src/lint/rules/react-native.ts","../../src/lint/rules/vitest.ts","../../src/lint/profiles.ts","../../src/lint/configs.ts","../../src/fragments.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig, mergeConfig } from \"vite-plus\";\n\ninterface NamedPlugin {\n readonly name: string;\n}\n\ntype PluginValue = NamedPlugin | false | null | undefined;\n\nexport type PluginInput = PluginValue | Promise<PluginInput> | readonly PluginInput[];\n\nexport type ConfigFragment = Omit<UserConfig, \"plugins\"> & {\n readonly plugins?: readonly PluginInput[];\n};\n\nfunction toUserConfig(config: ConfigFragment): UserConfig {\n // eslint-disable-next-line typescript/no-unsafe-type-assertion -- Vite's recursive PluginOption overflows TypeScript 7 when consumers pass an ordinary Plugin; ConfigFragment preserves the named-plugin boundary without recursive comparison.\n return config as UserConfig;\n}\n\nexport function composeConfig(...fragments: readonly ConfigFragment[]): UserConfig {\n let config: UserConfig = {};\n\n for (const fragment of fragments) {\n config = mergeConfig(config, toUserConfig(fragment));\n }\n\n return defineConfig(config);\n}\n","import type { UserConfig } from \"vite-plus\";\nimport {\n CLOUDFLARE_WORKER_IGNORE_PATTERNS,\n DEFAULT_IGNORE_PATTERNS,\n REACT_NATIVE_IGNORE_PATTERNS,\n} from \"./constants.ts\";\n\ntype FormatConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFormatConfig: FormatConfig = {\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n sortImports: {\n internalPattern: [\"#\", \"@/\"],\n newlinesBetween: false,\n groups: [\n \"type-import\",\n [\"value-builtin\", \"value-external\"],\n \"type-internal\",\n \"value-internal\",\n [\"type-parent\", \"type-sibling\", \"type-index\"],\n [\"value-parent\", \"value-sibling\", \"value-index\"],\n \"unknown\",\n ],\n },\n};\n\nexport const reactFormatConfig: FormatConfig = {\n sortTailwindcss: {\n functions: [\"tv\"],\n },\n};\n\nexport const reactNativeFormatConfig: FormatConfig = {\n ignorePatterns: [...REACT_NATIVE_IGNORE_PATTERNS],\n};\n\nexport const cloudflareWorkerFormatConfig: FormatConfig = {\n ignorePatterns: [...CLOUDFLARE_WORKER_IGNORE_PATTERNS],\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const browserRules: LintRules = {\n \"no-alert\": \"error\",\n \"unicorn/prefer-classlist-toggle\": \"error\",\n \"unicorn/prefer-dom-node-append\": \"error\",\n \"unicorn/prefer-dom-node-dataset\": \"error\",\n \"unicorn/prefer-dom-node-remove\": \"error\",\n \"unicorn/prefer-dom-node-text-content\": \"error\",\n \"unicorn/prefer-keyboard-event-key\": \"error\",\n \"unicorn/prefer-modern-dom-apis\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const jestRules: LintRules = {\n \"max-nested-callbacks\": [\n \"error\",\n {\n max: 4,\n },\n ],\n \"jest/consistent-test-it\": [\n \"error\",\n {\n fn: \"test\",\n withinDescribe: \"it\",\n },\n ],\n \"jest/max-nested-describe\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"jest/no-alias-methods\": \"error\",\n \"jest/no-duplicate-hooks\": \"error\",\n \"jest/no-identical-title\": \"error\",\n \"jest/no-interpolation-in-snapshots\": \"error\",\n \"jest/no-large-snapshots\": \"error\",\n \"jest/no-mocks-import\": \"error\",\n \"jest/no-restricted-jest-methods\": [\n \"error\",\n {\n doMock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n mock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n unstable_mockModule: \"Use a maintained implementation, spy, or injected owned dependency.\",\n },\n ],\n \"jest/no-test-prefixes\": \"error\",\n \"jest/no-test-return-statement\": \"error\",\n \"jest/no-unneeded-async-expect-function\": \"error\",\n \"jest/padding-around-after-all-blocks\": \"error\",\n \"jest/padding-around-test-blocks\": \"error\",\n \"jest/prefer-called-with\": \"error\",\n \"jest/prefer-comparison-matcher\": \"error\",\n \"jest/prefer-each\": \"error\",\n \"jest/prefer-equality-matcher\": \"error\",\n \"jest/prefer-hooks-in-order\": \"error\",\n \"jest/prefer-hooks-on-top\": \"error\",\n \"jest/prefer-importing-jest-globals\": \"error\",\n \"jest/prefer-mock-promise-shorthand\": \"error\",\n \"jest/prefer-mock-return-shorthand\": \"error\",\n \"jest/prefer-spy-on\": \"error\",\n \"jest/prefer-to-be\": \"error\",\n \"jest/prefer-to-contain\": \"error\",\n \"jest/prefer-to-have-been-called-times\": \"error\",\n \"jest/prefer-to-have-length\": \"error\",\n \"jest/prefer-todo\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const nodeRules: LintRules = {\n \"node/exports-style\": \"error\",\n \"node/global-require\": \"error\",\n \"node/no-exports-assign\": \"error\",\n \"node/no-mixed-requires\": \"error\",\n \"unicorn/prefer-node-protocol\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const reactCoreRules: LintRules = {\n \"react/display-name\": \"error\",\n \"react/function-component-definition\": [\n \"error\",\n {\n namedComponents: \"function-declaration\",\n unnamedComponents: [\"arrow-function\", \"function-expression\"],\n },\n ],\n \"react/hook-use-state\": \"error\",\n \"react/jsx-boolean-value\": \"error\",\n \"react/jsx-curly-brace-presence\": \"error\",\n \"react/jsx-fragments\": \"error\",\n \"react/jsx-max-depth\": [\n \"error\",\n {\n max: 6,\n },\n ],\n \"react/jsx-no-constructed-context-values\": \"error\",\n \"react/jsx-no-useless-fragment\": \"error\",\n \"react/jsx-pascal-case\": \"error\",\n \"react/no-array-index-key\": \"error\",\n \"react/no-object-type-as-default-prop\": \"error\",\n \"react/no-redundant-should-component-update\": \"error\",\n \"react/no-set-state\": \"error\",\n \"react/prefer-es6-class\": \"error\",\n \"react/rules-of-hooks\": \"error\",\n \"react/self-closing-comp\": \"error\",\n \"react/state-in-constructor\": \"error\",\n \"react/exhaustive-deps\": \"error\",\n \"react/error-boundaries\": \"error\",\n \"react/globals\": \"error\",\n \"react/immutability\": \"error\",\n \"react/incompatible-library\": \"error\",\n \"react/preserve-manual-memoization\": \"error\",\n \"react/purity\": \"error\",\n \"react/refs\": \"error\",\n \"react/set-state-in-effect\": \"error\",\n \"react/set-state-in-render\": \"error\",\n \"react/static-components\": \"error\",\n \"react/unsupported-syntax\": \"error\",\n \"react/use-memo\": \"error\",\n \"react/void-use-memo\": \"error\",\n \"react/react-in-jsx-scope\": \"off\",\n \"react/jsx-key\": \"error\",\n \"react/jsx-no-duplicate-props\": \"error\",\n \"react/jsx-no-undef\": \"error\",\n \"react/no-children-prop\": \"error\",\n \"react/no-clone-element\": \"error\",\n \"react/no-direct-mutation-state\": \"error\",\n \"react/no-react-children\": \"error\",\n \"react/no-string-refs\": \"error\",\n \"react/no-unsafe\": \"error\",\n \"react/style-prop-object\": \"off\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const reactDomRules: LintRules = {\n \"react/checked-requires-onchange-or-readonly\": \"error\",\n \"react/jsx-no-target-blank\": \"error\",\n \"react/no-unescaped-entities\": \"error\",\n \"react/no-danger\": \"error\",\n \"react/no-danger-with-children\": \"error\",\n \"react/no-find-dom-node\": \"error\",\n \"react/no-unknown-property\": \"error\",\n \"react/void-dom-elements-no-children\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const universalRestrictedProperties = [\n {\n object: \"Reflect\",\n property: \"get\",\n },\n {\n object: \"Reflect\",\n property: \"apply\",\n },\n] as const;\n\nexport const universalRules: LintRules = {\n \"accessor-pairs\": \"error\",\n \"array-callback-return\": \"error\",\n \"arrow-body-style\": \"error\",\n curly: [\"error\", \"multi-line\", \"consistent\"],\n \"default-case-last\": \"error\",\n \"default-param-last\": \"error\",\n eqeqeq: \"error\",\n \"func-name-matching\": \"error\",\n \"func-names\": \"error\",\n \"grouped-accessor-pairs\": [\"error\", \"getBeforeSet\"],\n \"guard-for-in\": \"error\",\n \"import/consistent-type-specifier-style\": \"error\",\n \"import/first\": \"error\",\n \"import/newline-after-import\": \"error\",\n \"import/no-duplicates\": \"error\",\n \"import/no-mutable-exports\": \"error\",\n \"import/no-named-default\": \"error\",\n \"logical-assignment-operators\": \"error\",\n \"max-depth\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"max-nested-callbacks\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"max-params\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"no-array-constructor\": \"error\",\n \"no-await-in-loop\": \"error\",\n \"no-case-declarations\": \"error\",\n \"no-constructor-return\": \"error\",\n \"no-else-return\": \"error\",\n \"no-empty\": \"error\",\n \"no-extra-label\": \"error\",\n \"no-fallthrough\": \"error\",\n \"no-implicit-coercion\": \"error\",\n \"no-inline-comments\": \"error\",\n \"no-inner-declarations\": \"error\",\n \"no-label-var\": \"error\",\n \"no-labels\": \"error\",\n \"no-lone-blocks\": \"error\",\n \"no-lonely-if\": \"error\",\n \"no-loop-func\": \"error\",\n \"no-multi-assign\": \"error\",\n \"no-multi-str\": \"error\",\n \"no-nested-ternary\": \"error\",\n \"no-new-func\": \"error\",\n \"no-new-wrappers\": \"error\",\n \"no-object-constructor\": \"error\",\n \"no-promise-executor-return\": \"error\",\n \"no-prototype-builtins\": \"error\",\n \"no-redeclare\": \"error\",\n \"no-restricted-properties\": [\"error\", ...universalRestrictedProperties],\n \"no-return-assign\": \"error\",\n \"no-script-url\": \"error\",\n \"no-self-compare\": \"error\",\n \"no-template-curly-in-string\": \"error\",\n \"no-useless-call\": \"error\",\n \"no-useless-computed-key\": \"error\",\n \"no-useless-return\": \"error\",\n \"no-warning-comments\": \"error\",\n \"object-shorthand\": \"error\",\n \"operator-assignment\": \"error\",\n \"oxc/branches-sharing-code\": \"error\",\n \"oxc/no-accumulating-spread\": \"error\",\n \"oxc/no-map-spread\": \"error\",\n \"prefer-arrow-callback\": \"error\",\n \"prefer-const\": \"error\",\n \"prefer-destructuring\": \"error\",\n \"prefer-exponentiation-operator\": \"error\",\n \"prefer-named-capture-group\": \"error\",\n \"prefer-numeric-literals\": \"error\",\n \"prefer-object-has-own\": \"error\",\n \"prefer-object-spread\": \"error\",\n \"prefer-regex-literals\": \"error\",\n \"prefer-rest-params\": \"error\",\n \"prefer-spread\": \"error\",\n \"prefer-template\": \"error\",\n \"promise/no-nesting\": \"error\",\n \"promise/no-return-wrap\": \"error\",\n \"promise/param-names\": \"error\",\n \"promise/prefer-await-to-then\": \"error\",\n \"promise/prefer-catch\": \"error\",\n radix: \"error\",\n \"symbol-description\": \"error\",\n \"typescript/adjacent-overload-signatures\": \"error\",\n \"typescript/array-type\": \"error\",\n \"typescript/ban-ts-comment\": [\n \"error\",\n {\n minimumDescriptionLength: 10,\n },\n ],\n \"typescript/ban-tslint-comment\": \"error\",\n \"typescript/class-literal-property-style\": \"error\",\n \"typescript/consistent-generic-constructors\": \"error\",\n \"typescript/consistent-indexed-object-style\": \"error\",\n \"typescript/consistent-type-assertions\": \"error\",\n \"typescript/consistent-type-exports\": \"error\",\n \"typescript/consistent-type-imports\": [\n \"error\",\n {\n prefer: \"type-imports\",\n fixStyle: \"separate-type-imports\",\n },\n ],\n \"typescript/dot-notation\": \"error\",\n \"typescript/method-signature-style\": \"error\",\n \"typescript/no-confusing-void-expression\": \"error\",\n \"typescript/no-deprecated\": \"error\",\n \"typescript/no-empty-object-type\": \"error\",\n \"typescript/no-inferrable-types\": \"error\",\n \"typescript/no-misused-promises\": \"error\",\n \"typescript/no-mixed-enums\": \"error\",\n \"typescript/no-unnecessary-qualifier\": \"error\",\n \"typescript/no-unsafe-argument\": \"error\",\n \"typescript/no-unsafe-assignment\": \"error\",\n \"typescript/no-unsafe-call\": \"error\",\n \"typescript/no-unsafe-function-type\": \"error\",\n \"typescript/no-unsafe-member-access\": \"error\",\n \"typescript/no-unsafe-return\": \"error\",\n \"typescript/no-unsafe-type-assertion\": \"error\",\n \"typescript/no-wrapper-object-types\": \"error\",\n \"typescript/only-throw-error\": \"error\",\n \"typescript/parameter-properties\": \"error\",\n \"typescript/prefer-enum-initializers\": \"error\",\n \"typescript/prefer-find\": \"error\",\n \"typescript/prefer-for-of\": \"error\",\n \"typescript/prefer-function-type\": \"error\",\n \"typescript/prefer-includes\": \"error\",\n \"typescript/prefer-nullish-coalescing\": \"error\",\n \"typescript/prefer-promise-reject-errors\": \"error\",\n \"typescript/prefer-readonly\": \"error\",\n \"typescript/prefer-reduce-type-parameter\": \"error\",\n \"typescript/prefer-regexp-exec\": \"error\",\n \"typescript/prefer-return-this-type\": \"error\",\n \"typescript/prefer-string-starts-ends-with\": \"error\",\n \"typescript/related-getter-setter-pairs\": \"error\",\n \"typescript/restrict-plus-operands\": \"error\",\n \"typescript/return-await\": \"error\",\n \"typescript/strict-boolean-expressions\": \"error\",\n \"typescript/strict-void-return\": \"error\",\n \"typescript/switch-exhaustiveness-check\": \"error\",\n \"typescript/unified-signatures\": \"error\",\n \"unicorn/catch-error-name\": \"error\",\n \"unicorn/consistent-assert\": \"error\",\n \"unicorn/consistent-date-clone\": \"error\",\n \"unicorn/consistent-empty-array-spread\": \"error\",\n \"unicorn/consistent-existence-index-check\": \"error\",\n \"unicorn/consistent-template-literal-escape\": \"error\",\n \"unicorn/custom-error-definition\": \"error\",\n \"unicorn/error-message\": \"error\",\n \"unicorn/escape-case\": \"error\",\n \"unicorn/explicit-length-check\": \"error\",\n \"unicorn/explicit-timer-delay\": \"error\",\n \"unicorn/filename-case\": [\n \"error\",\n {\n case: \"kebabCase\",\n },\n ],\n \"unicorn/max-nested-calls\": [\n \"error\",\n {\n max: 5,\n },\n ],\n \"unicorn/new-for-builtins\": \"error\",\n \"unicorn/no-array-callback-reference\": \"error\",\n \"unicorn/no-array-method-this-argument\": \"error\",\n \"unicorn/no-await-expression-member\": \"error\",\n \"unicorn/no-console-spaces\": \"error\",\n \"unicorn/no-hex-escape\": \"error\",\n \"unicorn/no-immediate-mutation\": \"error\",\n \"unicorn/no-instanceof-array\": \"error\",\n \"unicorn/no-negation-in-equality-check\": \"error\",\n \"unicorn/no-new-buffer\": \"error\",\n \"unicorn/no-static-only-class\": \"error\",\n \"unicorn/no-this-assignment\": \"error\",\n \"unicorn/no-typeof-undefined\": \"error\",\n \"unicorn/no-unnecessary-array-flat-depth\": \"error\",\n \"unicorn/no-unnecessary-array-splice-count\": \"error\",\n \"unicorn/no-unnecessary-slice-end\": \"error\",\n \"unicorn/no-unreadable-array-destructuring\": \"error\",\n \"unicorn/no-unreadable-iife\": \"error\",\n \"unicorn/no-useless-collection-argument\": \"error\",\n \"unicorn/no-useless-promise-resolve-reject\": \"error\",\n \"unicorn/no-useless-switch-case\": \"error\",\n \"unicorn/no-useless-undefined\": \"error\",\n \"unicorn/no-zero-fractions\": \"error\",\n \"unicorn/number-literal-case\": \"error\",\n \"unicorn/numeric-separators-style\": \"error\",\n \"unicorn/prefer-array-find\": \"error\",\n \"unicorn/prefer-array-flat\": \"error\",\n \"unicorn/prefer-array-flat-map\": \"error\",\n \"unicorn/prefer-array-index-of\": \"error\",\n \"unicorn/prefer-array-some\": \"error\",\n \"unicorn/prefer-at\": \"error\",\n \"unicorn/prefer-bigint-literals\": \"error\",\n \"unicorn/prefer-blob-reading-methods\": \"error\",\n \"unicorn/prefer-class-fields\": \"error\",\n \"unicorn/prefer-code-point\": \"error\",\n \"unicorn/prefer-date-now\": \"error\",\n \"unicorn/prefer-default-parameters\": \"error\",\n \"unicorn/prefer-export-from\": \"error\",\n \"unicorn/prefer-global-this\": \"error\",\n \"unicorn/prefer-import-meta-properties\": \"error\",\n \"unicorn/prefer-includes\": \"error\",\n \"unicorn/prefer-logical-operator-over-ternary\": \"error\",\n \"unicorn/prefer-math-min-max\": \"error\",\n \"unicorn/prefer-math-trunc\": \"error\",\n \"unicorn/prefer-native-coercion-functions\": \"error\",\n \"unicorn/prefer-negative-index\": \"error\",\n \"unicorn/prefer-number-coercion\": \"error\",\n \"unicorn/prefer-object-from-entries\": \"error\",\n \"unicorn/prefer-optional-catch-binding\": \"error\",\n \"unicorn/prefer-prototype-methods\": \"error\",\n \"unicorn/prefer-regexp-test\": \"error\",\n \"unicorn/prefer-response-static-json\": \"error\",\n \"unicorn/prefer-set-has\": \"error\",\n \"unicorn/prefer-single-call\": \"error\",\n \"unicorn/prefer-spread\": \"error\",\n \"unicorn/prefer-string-raw\": \"error\",\n \"unicorn/prefer-string-replace-all\": \"error\",\n \"unicorn/prefer-string-slice\": \"error\",\n \"unicorn/prefer-string-trim-start-end\": \"error\",\n \"unicorn/prefer-structured-clone\": \"error\",\n \"unicorn/prefer-ternary\": [\"error\", \"only-single-line\"],\n \"unicorn/prefer-type-error\": \"error\",\n \"unicorn/relative-url-style\": \"error\",\n \"unicorn/require-array-join-separator\": \"error\",\n \"unicorn/require-module-attributes\": \"error\",\n \"unicorn/require-number-to-fixed-digits-argument\": \"error\",\n \"unicorn/switch-case-braces\": \"error\",\n \"unicorn/switch-case-break-position\": \"error\",\n \"unicorn/text-encoding-identifier-case\": \"error\",\n \"unicorn/throw-new-error\": \"error\",\n yoda: \"error\",\n complexity: [\n \"error\",\n {\n max: 20,\n },\n ],\n \"getter-return\": \"error\",\n \"no-bitwise\": \"error\",\n \"no-console\": [\n \"error\",\n {\n allow: [\"info\", \"warn\", \"error\"],\n },\n ],\n \"no-param-reassign\": [\n \"error\",\n {\n props: true,\n },\n ],\n \"no-plusplus\": \"error\",\n \"no-undef\": \"error\",\n \"no-unneeded-ternary\": \"error\",\n \"no-unreachable\": \"error\",\n \"import/no-cycle\": \"error\",\n \"import/no-unassigned-import\": \"off\",\n \"oxc/bad-match-all-arg\": \"error\",\n \"typescript/consistent-return\": \"error\",\n \"typescript/explicit-module-boundary-types\": \"error\",\n \"typescript/no-dynamic-delete\": \"error\",\n \"typescript/no-explicit-any\": \"error\",\n \"typescript/no-floating-promises\": \"error\",\n \"typescript/no-misused-spread\": \"error\",\n \"typescript/no-non-null-assertion\": \"error\",\n \"typescript/no-require-imports\": \"error\",\n \"typescript/no-unnecessary-condition\": \"error\",\n \"typescript/no-unnecessary-type-arguments\": \"error\",\n \"typescript/no-unnecessary-type-assertion\": \"error\",\n \"typescript/no-unnecessary-type-parameters\": \"error\",\n \"typescript/no-useless-default-assignment\": \"error\",\n \"typescript/non-nullable-type-assertion-style\": \"error\",\n \"typescript/prefer-optional-chain\": \"error\",\n \"typescript/require-array-sort-compare\": \"error\",\n \"typescript/restrict-template-expressions\": \"error\",\n \"typescript/unbound-method\": \"error\",\n \"typescript/use-unknown-in-catch-callback-variable\": \"error\",\n \"unicorn/no-abusive-eslint-disable\": \"error\",\n};\n","import type { LintRules } from \"../types.ts\";\nimport { universalRestrictedProperties } from \"./universal.ts\";\n\nexport const reactNativeRules: LintRules = {\n \"no-restricted-properties\": [\n \"error\",\n ...universalRestrictedProperties,\n {\n property: \"toSorted\",\n message: \"Hermes lacks toSorted; copy the array before sorting.\",\n },\n {\n object: \"Intl\",\n property: \"RelativeTimeFormat\",\n message: \"Hermes lacks Intl.RelativeTimeFormat; use a supported formatter.\",\n },\n ],\n \"react/iframe-missing-sandbox\": \"off\",\n \"react/jsx-no-script-url\": \"off\",\n \"react/no-unknown-property\": \"off\",\n \"react/no-unescaped-entities\": \"off\",\n \"react/no-unstable-nested-components\": [\n \"error\",\n {\n allowAsProps: true,\n },\n ],\n \"react/void-dom-elements-no-children\": \"off\",\n \"unicorn/no-array-reverse\": \"error\",\n \"unicorn/no-array-sort\": [\n \"error\",\n {\n allowAfterSpread: true,\n },\n ],\n};\n","import type { LintRules } from \"../types.ts\";\n\nexport const vitestRules: LintRules = {\n \"max-nested-callbacks\": [\n \"error\",\n {\n max: 4,\n },\n ],\n \"vitest/consistent-each-for\": \"error\",\n \"vitest/consistent-test-it\": [\n \"error\",\n {\n fn: \"test\",\n withinDescribe: \"it\",\n },\n ],\n \"vitest/consistent-vitest-vi\": \"error\",\n \"vitest/max-nested-describe\": [\n \"error\",\n {\n max: 3,\n },\n ],\n \"vitest/no-alias-methods\": \"error\",\n \"vitest/no-duplicate-hooks\": \"error\",\n \"vitest/no-identical-title\": \"error\",\n \"vitest/no-import-node-test\": \"error\",\n \"vitest/no-interpolation-in-snapshots\": \"error\",\n \"vitest/no-large-snapshots\": \"error\",\n \"vitest/no-mocks-import\": \"error\",\n \"vitest/no-restricted-vi-methods\": [\n \"error\",\n {\n doMock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n mock: \"Use a maintained implementation, spy, or injected owned dependency.\",\n },\n ],\n \"vitest/no-test-prefixes\": \"error\",\n \"vitest/no-test-return-statement\": \"error\",\n \"vitest/no-unneeded-async-expect-function\": \"error\",\n \"vitest/padding-around-after-all-blocks\": \"error\",\n \"vitest/padding-around-test-blocks\": \"error\",\n \"vitest/prefer-called-exactly-once-with\": \"error\",\n \"vitest/prefer-called-once\": \"error\",\n \"vitest/prefer-called-with\": \"error\",\n \"vitest/prefer-comparison-matcher\": \"error\",\n \"vitest/prefer-each\": \"error\",\n \"vitest/prefer-equality-matcher\": \"error\",\n \"vitest/prefer-expect-resolves\": \"error\",\n \"vitest/prefer-expect-type-of\": \"error\",\n \"vitest/prefer-hooks-in-order\": \"error\",\n \"vitest/prefer-hooks-on-top\": \"error\",\n \"vitest/prefer-import-in-mock\": \"error\",\n \"vitest/prefer-importing-vitest-globals\": \"error\",\n \"vitest/prefer-mock-promise-shorthand\": \"error\",\n \"vitest/prefer-mock-return-shorthand\": \"error\",\n \"vitest/prefer-spy-on\": \"error\",\n \"vitest/prefer-strict-boolean-matchers\": \"error\",\n \"vitest/prefer-strict-equal\": \"error\",\n \"vitest/prefer-to-be\": \"error\",\n \"vitest/prefer-to-be-object\": \"error\",\n \"vitest/prefer-to-contain\": \"error\",\n \"vitest/prefer-to-have-been-called-times\": \"error\",\n \"vitest/prefer-to-have-length\": \"error\",\n \"vitest/prefer-todo\": \"error\",\n};\n","import type { LintConfig, LintProfile } from \"./types.ts\";\nimport { browserRules } from \"./rules/browser.ts\";\nimport { jestRules } from \"./rules/jest.ts\";\nimport { nodeRules } from \"./rules/node.ts\";\nimport { reactCoreRules } from \"./rules/react-core.ts\";\nimport { reactDomRules } from \"./rules/react-dom.ts\";\nimport { reactNativeRules } from \"./rules/react-native.ts\";\nimport { vitestRules } from \"./rules/vitest.ts\";\n\nexport const BASE_LINT_PLUGINS = [\"typescript\", \"unicorn\", \"oxc\", \"import\", \"promise\"] as const;\n\nexport const neutralEnvironment: NonNullable<LintConfig[\"env\"]> = {\n browser: false,\n node: false,\n serviceworker: false,\n worker: false,\n} as const;\n\nexport const nodeEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n node: true,\n} as const;\n\nexport const browserEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n browser: true,\n} as const;\n\nexport const reactNativeEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n} as const;\n\nconst reactNativeJestEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...reactNativeEnvironment,\n jest: true,\n} as const;\n\nexport const cloudflareWorkerEnvironment: NonNullable<LintConfig[\"env\"]> = {\n ...neutralEnvironment,\n serviceworker: true,\n worker: true,\n} as const;\n\nconst platformGlobalsOff = {\n __DEV__: \"off\",\n Cloudflare: \"off\",\n DigestStream: \"off\",\n FixedLengthStream: \"off\",\n HTMLRewriter: \"off\",\n IdentityTransformStream: \"off\",\n process: \"off\",\n WebSocketPair: \"off\",\n WebSocketRequestResponsePair: \"off\",\n} as const;\n\nconst nodeGlobals = {\n ...platformGlobalsOff,\n console: \"readonly\",\n process: \"readonly\",\n} as const;\n\nconst cloudflareWorkerGlobals = {\n ...platformGlobalsOff,\n Cloudflare: \"readonly\",\n DigestStream: \"readonly\",\n FixedLengthStream: \"readonly\",\n HTMLRewriter: \"readonly\",\n IdentityTransformStream: \"readonly\",\n WebSocketPair: \"readonly\",\n WebSocketRequestResponsePair: \"readonly\",\n} as const;\n\nexport const neutralLint: LintProfile = {\n env: neutralEnvironment,\n globals: platformGlobalsOff,\n plugins: [...BASE_LINT_PLUGINS],\n};\n\nexport const nodeLint: LintProfile = {\n env: nodeEnvironment,\n globals: nodeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"node\"],\n rules: nodeRules,\n};\n\nexport const browserLint: LintProfile = {\n env: browserEnvironment,\n globals: platformGlobalsOff,\n plugins: [...BASE_LINT_PLUGINS],\n rules: browserRules,\n};\n\nexport const reactCoreLint: LintProfile = {\n plugins: [...BASE_LINT_PLUGINS, \"react\"],\n rules: reactCoreRules,\n};\n\nexport const reactDomLint: LintProfile = {\n plugins: [...BASE_LINT_PLUGINS, \"react\", \"jsx-a11y\"],\n rules: reactDomRules,\n};\n\nconst reactNativeGlobals = {\n ...platformGlobalsOff,\n __BUNDLE_START_TIME__: \"readonly\",\n __DEV__: \"readonly\",\n AbortController: \"readonly\",\n AbortSignal: \"readonly\",\n alert: \"readonly\",\n Blob: \"readonly\",\n cancelAnimationFrame: \"readonly\",\n clearImmediate: \"readonly\",\n clearInterval: \"readonly\",\n clearTimeout: \"readonly\",\n console: \"readonly\",\n crypto: \"readonly\",\n DOMRect: \"readonly\",\n ErrorUtils: \"readonly\",\n Event: \"readonly\",\n EventTarget: \"readonly\",\n fetch: \"readonly\",\n fetchBundle: \"readonly\",\n File: \"readonly\",\n FileReader: \"readonly\",\n FormData: \"readonly\",\n Headers: \"readonly\",\n HermesInternal: \"readonly\",\n navigator: \"readonly\",\n originalXMLHttpRequest: \"readonly\",\n performance: \"readonly\",\n process: \"readonly\",\n queueMicrotask: \"readonly\",\n requestAnimationFrame: \"readonly\",\n Request: \"readonly\",\n require: \"readonly\",\n Response: \"readonly\",\n setImmediate: \"readonly\",\n setInterval: \"readonly\",\n setTimeout: \"readonly\",\n URL: \"readonly\",\n URLSearchParams: \"readonly\",\n WebSocket: \"readonly\",\n XMLHttpRequest: \"readonly\",\n XMLHttpRequestUpload: \"readonly\",\n} as const;\n\nexport const reactNativeRuntimeLint: LintProfile = {\n env: reactNativeEnvironment,\n globals: reactNativeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"react\"],\n rules: reactNativeRules,\n};\n\nexport const reactWebLint: LintProfile = {\n env: browserEnvironment,\n globals: platformGlobalsOff,\n plugins: [...BASE_LINT_PLUGINS, \"react\", \"jsx-a11y\"],\n rules: {\n ...browserRules,\n ...reactCoreRules,\n ...reactDomRules,\n },\n};\n\nexport const reactNativeLint: LintProfile = {\n env: reactNativeEnvironment,\n globals: reactNativeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"react\"],\n rules: {\n ...reactCoreRules,\n ...reactNativeRules,\n },\n};\n\nexport const reactNativeJestTestLint: LintProfile = {\n env: reactNativeJestEnvironment,\n globals: reactNativeGlobals,\n plugins: [...BASE_LINT_PLUGINS, \"react\", \"jest\"],\n rules: {\n ...reactCoreRules,\n ...reactNativeRules,\n ...jestRules,\n },\n};\n\nexport const cloudflareWorkerLint: LintProfile = {\n env: cloudflareWorkerEnvironment,\n globals: cloudflareWorkerGlobals,\n plugins: [...BASE_LINT_PLUGINS],\n};\n\nexport const nodeTestLint: LintProfile = {\n ...nodeLint,\n plugins: [...BASE_LINT_PLUGINS, \"node\", \"vitest\"],\n rules: {\n ...nodeRules,\n ...vitestRules,\n },\n};\n\nexport const browserTestLint: LintProfile = {\n ...browserLint,\n plugins: [...BASE_LINT_PLUGINS, \"vitest\"],\n rules: {\n ...browserRules,\n ...vitestRules,\n },\n};\n\nexport const cloudflareWorkerTestLint: LintProfile = {\n ...cloudflareWorkerLint,\n plugins: [...BASE_LINT_PLUGINS, \"vitest\"],\n rules: vitestRules,\n};\n","import type { LintConfig } from \"./types.ts\";\nimport {\n CLOUDFLARE_WORKER_IGNORE_PATTERNS,\n CODE_FILES,\n COMMONJS_FILES,\n CONFIG_FILES,\n DEFAULT_IGNORE_PATTERNS,\n REACT_NATIVE_IGNORE_PATTERNS,\n REACT_NATIVE_JEST_SETUP_FILES,\n REACT_NATIVE_JEST_TEST_FILES,\n RUNTIME_OVERRIDE_EXCLUDE_FILES,\n TEST_FILES,\n VITEST_SETUP_FILES,\n} from \"../constants.ts\";\nimport {\n BASE_LINT_PLUGINS,\n browserEnvironment,\n browserTestLint,\n cloudflareWorkerEnvironment,\n cloudflareWorkerLint,\n cloudflareWorkerTestLint,\n neutralEnvironment,\n neutralLint,\n nodeEnvironment,\n nodeLint,\n nodeTestLint,\n reactNativeJestTestLint,\n reactNativeRuntimeLint,\n} from \"./profiles.ts\";\nimport { browserRules } from \"./rules/browser.ts\";\nimport { nodeRules } from \"./rules/node.ts\";\nimport { reactCoreRules } from \"./rules/react-core.ts\";\nimport { reactDomRules } from \"./rules/react-dom.ts\";\nimport { reactNativeRules } from \"./rules/react-native.ts\";\nimport { universalRules } from \"./rules/universal.ts\";\n\nexport const baseLintConfig: LintConfig = {\n plugins: [...BASE_LINT_PLUGINS],\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n env: neutralEnvironment,\n globals: neutralLint.globals,\n options: {\n reportUnusedDisableDirectives: \"error\",\n typeAware: true,\n typeCheck: true,\n },\n categories: {\n correctness: \"error\",\n suspicious: \"error\",\n },\n extends: [{ rules: universalRules }],\n overrides: [\n {\n files: [...COMMONJS_FILES],\n ...nodeLint,\n rules: {\n ...nodeRules,\n \"typescript/no-require-imports\": \"off\",\n },\n },\n {\n files: [...CONFIG_FILES],\n ...nodeLint,\n rules: {\n ...nodeRules,\n \"func-names\": \"off\",\n },\n },\n {\n files: [\"**/*.d.ts\"],\n rules: {\n \"typescript/no-empty-object-type\": \"off\",\n },\n },\n ],\n};\n\nexport const nodeRuntimeLintConfig: LintConfig = {\n env: nodeEnvironment,\n globals: nodeLint.globals,\n plugins: [\"node\"],\n extends: [{ rules: nodeRules }],\n};\n\nexport const browserRuntimeLintConfig: LintConfig = {\n env: browserEnvironment,\n globals: neutralLint.globals,\n overrides: [\n {\n files: [...CODE_FILES],\n excludeFiles: [...RUNTIME_OVERRIDE_EXCLUDE_FILES],\n rules: browserRules,\n },\n ],\n};\n\nexport const reactCoreLintConfig: LintConfig = {\n plugins: [\"react\"],\n extends: [{ rules: reactCoreRules }],\n};\n\nexport const reactDomLintConfig: LintConfig = {\n plugins: [\"jsx-a11y\"],\n extends: [{ rules: reactDomRules }],\n};\n\nexport const reactNativeRuntimeLintConfig: LintConfig = {\n env: reactNativeRuntimeLint.env,\n globals: reactNativeRuntimeLint.globals,\n extends: [{ rules: reactNativeRules }],\n};\n\nexport const cloudflareWorkerRuntimeLintConfig: LintConfig = {\n env: cloudflareWorkerEnvironment,\n globals: cloudflareWorkerLint.globals,\n};\n\nexport const reactNativeGeneratedLintConfig: LintConfig = {\n ignorePatterns: [...REACT_NATIVE_IGNORE_PATTERNS],\n};\n\nexport const cloudflareWorkerGeneratedLintConfig: LintConfig = {\n ignorePatterns: [...CLOUDFLARE_WORKER_IGNORE_PATTERNS],\n};\n\nexport const nodeTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n ...nodeTestLint,\n },\n ],\n};\n\nexport const browserTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n ...browserTestLint,\n },\n ],\n};\n\nexport const cloudflareWorkerTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n ...cloudflareWorkerTestLint,\n },\n ],\n};\n\nexport const reactNativeTestLintConfig: LintConfig = {\n overrides: [\n {\n files: [...TEST_FILES],\n excludeFiles: [\n ...VITEST_SETUP_FILES,\n ...REACT_NATIVE_JEST_TEST_FILES,\n ...REACT_NATIVE_JEST_SETUP_FILES,\n ],\n ...nodeTestLint,\n },\n {\n files: [...VITEST_SETUP_FILES],\n excludeFiles: [...REACT_NATIVE_JEST_TEST_FILES, ...REACT_NATIVE_JEST_SETUP_FILES],\n ...nodeTestLint,\n rules: {\n ...nodeTestLint.rules,\n \"vitest/no-restricted-vi-methods\": \"off\",\n },\n },\n {\n files: [...REACT_NATIVE_JEST_TEST_FILES],\n excludeFiles: [...VITEST_SETUP_FILES, ...REACT_NATIVE_JEST_SETUP_FILES],\n ...reactNativeJestTestLint,\n },\n {\n files: [...REACT_NATIVE_JEST_SETUP_FILES],\n excludeFiles: [...VITEST_SETUP_FILES, ...REACT_NATIVE_JEST_TEST_FILES],\n ...reactNativeJestTestLint,\n rules: {\n ...reactNativeJestTestLint.rules,\n \"jest/no-restricted-jest-methods\": \"off\",\n },\n },\n ],\n};\n","import type { UserConfig } from \"vite-plus\";\nimport type { ConfigFragment } from \"./compose.ts\";\nimport {\n DEFAULT_STAGED_CHECK_COMMAND,\n DEFAULT_STAGED_CHECK_GLOB,\n DEFAULT_STAGED_FORMAT_COMMAND,\n DEFAULT_STAGED_FORMAT_GLOB,\n} from \"./constants.ts\";\nimport {\n baseFormatConfig,\n cloudflareWorkerFormatConfig,\n reactFormatConfig,\n reactNativeFormatConfig,\n} from \"./format.ts\";\nimport {\n baseLintConfig,\n browserRuntimeLintConfig,\n browserTestLintConfig as browserTestLintSettings,\n cloudflareWorkerGeneratedLintConfig,\n cloudflareWorkerRuntimeLintConfig,\n cloudflareWorkerTestLintConfig as cloudflareWorkerTestLintSettings,\n nodeRuntimeLintConfig,\n nodeTestLintConfig as nodeTestLintSettings,\n reactCoreLintConfig,\n reactDomLintConfig,\n reactNativeGeneratedLintConfig,\n reactNativeRuntimeLintConfig,\n reactNativeTestLintConfig as reactNativeTestLintSettings,\n} from \"./lint/configs.ts\";\n\ntype PackConfig = Exclude<UserConfig[\"pack\"], readonly unknown[] | undefined>;\n\nexport const baseToolingConfig: ConfigFragment = {\n fmt: baseFormatConfig,\n lint: baseLintConfig,\n staged: {\n [DEFAULT_STAGED_CHECK_GLOB]: DEFAULT_STAGED_CHECK_COMMAND,\n [DEFAULT_STAGED_FORMAT_GLOB]: DEFAULT_STAGED_FORMAT_COMMAND,\n },\n};\n\nexport const nodeRuntimeConfig: ConfigFragment = {\n lint: nodeRuntimeLintConfig,\n};\n\nexport const browserRuntimeConfig: ConfigFragment = {\n lint: browserRuntimeLintConfig,\n};\n\nexport const reactCoreConfig: ConfigFragment = {\n fmt: reactFormatConfig,\n lint: reactCoreLintConfig,\n};\n\nexport const reactDomConfig: ConfigFragment = {\n lint: reactDomLintConfig,\n};\n\nexport const reactNativeRuntimeConfig: ConfigFragment = {\n lint: reactNativeRuntimeLintConfig,\n};\n\nexport const reactNativeGeneratedConfig: ConfigFragment = {\n fmt: reactNativeFormatConfig,\n lint: reactNativeGeneratedLintConfig,\n};\n\nexport const cloudflareWorkerRuntimeConfig: ConfigFragment = {\n lint: cloudflareWorkerRuntimeLintConfig,\n};\n\nexport const cloudflareWorkerGeneratedConfig: ConfigFragment = {\n fmt: cloudflareWorkerFormatConfig,\n lint: cloudflareWorkerGeneratedLintConfig,\n};\n\nexport const nodeTestLintConfig: ConfigFragment = {\n lint: nodeTestLintSettings,\n};\n\nexport const browserTestLintConfig: ConfigFragment = {\n lint: browserTestLintSettings,\n};\n\nexport const cloudflareWorkerTestLintConfig: ConfigFragment = {\n lint: cloudflareWorkerTestLintSettings,\n};\n\nexport const reactNativeTestLintConfig: ConfigFragment = {\n lint: reactNativeTestLintSettings,\n};\n\nexport const libraryPackDefaults: PackConfig = {\n attw: {\n level: \"error\",\n profile: \"esm-only\",\n },\n clean: true,\n dts: true,\n format: [\"esm\"],\n publint: {\n strict: true,\n },\n sourcemap: true,\n};\n\nexport const libraryPackConfig: ConfigFragment = {\n pack: libraryPackDefaults,\n};\n\nexport const workspaceRunConfig: ConfigFragment = {\n run: {\n cache: {\n scripts: true,\n tasks: true,\n },\n enablePrePostScripts: true,\n },\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kasoa/vite-plus-config",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Kasoa's Vite+ configurations",
5
5
  "keywords": [
6
6
  "config",
@@ -42,11 +42,11 @@
42
42
  "access": "public"
43
43
  },
44
44
  "devDependencies": {
45
- "@cloudflare/vitest-plugin": "1.0.0",
45
+ "@cloudflare/vitest-plugin": "1.1.9",
46
46
  "@types/node": "24.13.3",
47
47
  "typescript": "^7.0.2",
48
48
  "vite-plus": "^0.3.0",
49
- "wrangler": "^4.125.0"
49
+ "wrangler": "^4.131.2"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "@cloudflare/vitest-plugin": "^1.0.0",