@component-hook/eslint-plugin 0.1.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,759 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __commonJS = (cb, mod) => function __require() {
8
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
19
+ // If the importer is in node compatibility mode or this is not an ESM
20
+ // file that has been converted to a CommonJS file using a Babel-
21
+ // compatible transform (i.e. "__esModule" has not been set), then set
22
+ // "default" to the CommonJS "module.exports" for node compatibility.
23
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
+ mod
25
+ ));
26
+
27
+ // ../../node_modules/.pnpm/@eslint+js@9.8.0/node_modules/@eslint/js/src/configs/eslint-all.js
28
+ var require_eslint_all = __commonJS({
29
+ "../../node_modules/.pnpm/@eslint+js@9.8.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports, module) {
30
+ "use strict";
31
+ module.exports = Object.freeze({
32
+ "rules": {
33
+ "accessor-pairs": "error",
34
+ "array-callback-return": "error",
35
+ "arrow-body-style": "error",
36
+ "block-scoped-var": "error",
37
+ "camelcase": "error",
38
+ "capitalized-comments": "error",
39
+ "class-methods-use-this": "error",
40
+ "complexity": "error",
41
+ "consistent-return": "error",
42
+ "consistent-this": "error",
43
+ "constructor-super": "error",
44
+ "curly": "error",
45
+ "default-case": "error",
46
+ "default-case-last": "error",
47
+ "default-param-last": "error",
48
+ "dot-notation": "error",
49
+ "eqeqeq": "error",
50
+ "for-direction": "error",
51
+ "func-name-matching": "error",
52
+ "func-names": "error",
53
+ "func-style": "error",
54
+ "getter-return": "error",
55
+ "grouped-accessor-pairs": "error",
56
+ "guard-for-in": "error",
57
+ "id-denylist": "error",
58
+ "id-length": "error",
59
+ "id-match": "error",
60
+ "init-declarations": "error",
61
+ "logical-assignment-operators": "error",
62
+ "max-classes-per-file": "error",
63
+ "max-depth": "error",
64
+ "max-lines": "error",
65
+ "max-lines-per-function": "error",
66
+ "max-nested-callbacks": "error",
67
+ "max-params": "error",
68
+ "max-statements": "error",
69
+ "new-cap": "error",
70
+ "no-alert": "error",
71
+ "no-array-constructor": "error",
72
+ "no-async-promise-executor": "error",
73
+ "no-await-in-loop": "error",
74
+ "no-bitwise": "error",
75
+ "no-caller": "error",
76
+ "no-case-declarations": "error",
77
+ "no-class-assign": "error",
78
+ "no-compare-neg-zero": "error",
79
+ "no-cond-assign": "error",
80
+ "no-console": "error",
81
+ "no-const-assign": "error",
82
+ "no-constant-binary-expression": "error",
83
+ "no-constant-condition": "error",
84
+ "no-constructor-return": "error",
85
+ "no-continue": "error",
86
+ "no-control-regex": "error",
87
+ "no-debugger": "error",
88
+ "no-delete-var": "error",
89
+ "no-div-regex": "error",
90
+ "no-dupe-args": "error",
91
+ "no-dupe-class-members": "error",
92
+ "no-dupe-else-if": "error",
93
+ "no-dupe-keys": "error",
94
+ "no-duplicate-case": "error",
95
+ "no-duplicate-imports": "error",
96
+ "no-else-return": "error",
97
+ "no-empty": "error",
98
+ "no-empty-character-class": "error",
99
+ "no-empty-function": "error",
100
+ "no-empty-pattern": "error",
101
+ "no-empty-static-block": "error",
102
+ "no-eq-null": "error",
103
+ "no-eval": "error",
104
+ "no-ex-assign": "error",
105
+ "no-extend-native": "error",
106
+ "no-extra-bind": "error",
107
+ "no-extra-boolean-cast": "error",
108
+ "no-extra-label": "error",
109
+ "no-fallthrough": "error",
110
+ "no-func-assign": "error",
111
+ "no-global-assign": "error",
112
+ "no-implicit-coercion": "error",
113
+ "no-implicit-globals": "error",
114
+ "no-implied-eval": "error",
115
+ "no-import-assign": "error",
116
+ "no-inline-comments": "error",
117
+ "no-inner-declarations": "error",
118
+ "no-invalid-regexp": "error",
119
+ "no-invalid-this": "error",
120
+ "no-irregular-whitespace": "error",
121
+ "no-iterator": "error",
122
+ "no-label-var": "error",
123
+ "no-labels": "error",
124
+ "no-lone-blocks": "error",
125
+ "no-lonely-if": "error",
126
+ "no-loop-func": "error",
127
+ "no-loss-of-precision": "error",
128
+ "no-magic-numbers": "error",
129
+ "no-misleading-character-class": "error",
130
+ "no-multi-assign": "error",
131
+ "no-multi-str": "error",
132
+ "no-negated-condition": "error",
133
+ "no-nested-ternary": "error",
134
+ "no-new": "error",
135
+ "no-new-func": "error",
136
+ "no-new-native-nonconstructor": "error",
137
+ "no-new-wrappers": "error",
138
+ "no-nonoctal-decimal-escape": "error",
139
+ "no-obj-calls": "error",
140
+ "no-object-constructor": "error",
141
+ "no-octal": "error",
142
+ "no-octal-escape": "error",
143
+ "no-param-reassign": "error",
144
+ "no-plusplus": "error",
145
+ "no-promise-executor-return": "error",
146
+ "no-proto": "error",
147
+ "no-prototype-builtins": "error",
148
+ "no-redeclare": "error",
149
+ "no-regex-spaces": "error",
150
+ "no-restricted-exports": "error",
151
+ "no-restricted-globals": "error",
152
+ "no-restricted-imports": "error",
153
+ "no-restricted-properties": "error",
154
+ "no-restricted-syntax": "error",
155
+ "no-return-assign": "error",
156
+ "no-script-url": "error",
157
+ "no-self-assign": "error",
158
+ "no-self-compare": "error",
159
+ "no-sequences": "error",
160
+ "no-setter-return": "error",
161
+ "no-shadow": "error",
162
+ "no-shadow-restricted-names": "error",
163
+ "no-sparse-arrays": "error",
164
+ "no-template-curly-in-string": "error",
165
+ "no-ternary": "error",
166
+ "no-this-before-super": "error",
167
+ "no-throw-literal": "error",
168
+ "no-undef": "error",
169
+ "no-undef-init": "error",
170
+ "no-undefined": "error",
171
+ "no-underscore-dangle": "error",
172
+ "no-unexpected-multiline": "error",
173
+ "no-unmodified-loop-condition": "error",
174
+ "no-unneeded-ternary": "error",
175
+ "no-unreachable": "error",
176
+ "no-unreachable-loop": "error",
177
+ "no-unsafe-finally": "error",
178
+ "no-unsafe-negation": "error",
179
+ "no-unsafe-optional-chaining": "error",
180
+ "no-unused-expressions": "error",
181
+ "no-unused-labels": "error",
182
+ "no-unused-private-class-members": "error",
183
+ "no-unused-vars": "error",
184
+ "no-use-before-define": "error",
185
+ "no-useless-assignment": "error",
186
+ "no-useless-backreference": "error",
187
+ "no-useless-call": "error",
188
+ "no-useless-catch": "error",
189
+ "no-useless-computed-key": "error",
190
+ "no-useless-concat": "error",
191
+ "no-useless-constructor": "error",
192
+ "no-useless-escape": "error",
193
+ "no-useless-rename": "error",
194
+ "no-useless-return": "error",
195
+ "no-var": "error",
196
+ "no-void": "error",
197
+ "no-warning-comments": "error",
198
+ "no-with": "error",
199
+ "object-shorthand": "error",
200
+ "one-var": "error",
201
+ "operator-assignment": "error",
202
+ "prefer-arrow-callback": "error",
203
+ "prefer-const": "error",
204
+ "prefer-destructuring": "error",
205
+ "prefer-exponentiation-operator": "error",
206
+ "prefer-named-capture-group": "error",
207
+ "prefer-numeric-literals": "error",
208
+ "prefer-object-has-own": "error",
209
+ "prefer-object-spread": "error",
210
+ "prefer-promise-reject-errors": "error",
211
+ "prefer-regex-literals": "error",
212
+ "prefer-rest-params": "error",
213
+ "prefer-spread": "error",
214
+ "prefer-template": "error",
215
+ "radix": "error",
216
+ "require-atomic-updates": "error",
217
+ "require-await": "error",
218
+ "require-unicode-regexp": "error",
219
+ "require-yield": "error",
220
+ "sort-imports": "error",
221
+ "sort-keys": "error",
222
+ "sort-vars": "error",
223
+ "strict": "error",
224
+ "symbol-description": "error",
225
+ "unicode-bom": "error",
226
+ "use-isnan": "error",
227
+ "valid-typeof": "error",
228
+ "vars-on-top": "error",
229
+ "yoda": "error"
230
+ }
231
+ });
232
+ }
233
+ });
234
+
235
+ // ../../node_modules/.pnpm/@eslint+js@9.8.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
236
+ var require_eslint_recommended = __commonJS({
237
+ "../../node_modules/.pnpm/@eslint+js@9.8.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports, module) {
238
+ "use strict";
239
+ module.exports = Object.freeze({
240
+ rules: Object.freeze({
241
+ "constructor-super": "error",
242
+ "for-direction": "error",
243
+ "getter-return": "error",
244
+ "no-async-promise-executor": "error",
245
+ "no-case-declarations": "error",
246
+ "no-class-assign": "error",
247
+ "no-compare-neg-zero": "error",
248
+ "no-cond-assign": "error",
249
+ "no-const-assign": "error",
250
+ "no-constant-binary-expression": "error",
251
+ "no-constant-condition": "error",
252
+ "no-control-regex": "error",
253
+ "no-debugger": "error",
254
+ "no-delete-var": "error",
255
+ "no-dupe-args": "error",
256
+ "no-dupe-class-members": "error",
257
+ "no-dupe-else-if": "error",
258
+ "no-dupe-keys": "error",
259
+ "no-duplicate-case": "error",
260
+ "no-empty": "error",
261
+ "no-empty-character-class": "error",
262
+ "no-empty-pattern": "error",
263
+ "no-empty-static-block": "error",
264
+ "no-ex-assign": "error",
265
+ "no-extra-boolean-cast": "error",
266
+ "no-fallthrough": "error",
267
+ "no-func-assign": "error",
268
+ "no-global-assign": "error",
269
+ "no-import-assign": "error",
270
+ "no-invalid-regexp": "error",
271
+ "no-irregular-whitespace": "error",
272
+ "no-loss-of-precision": "error",
273
+ "no-misleading-character-class": "error",
274
+ "no-new-native-nonconstructor": "error",
275
+ "no-nonoctal-decimal-escape": "error",
276
+ "no-obj-calls": "error",
277
+ "no-octal": "error",
278
+ "no-prototype-builtins": "error",
279
+ "no-redeclare": "error",
280
+ "no-regex-spaces": "error",
281
+ "no-self-assign": "error",
282
+ "no-setter-return": "error",
283
+ "no-shadow-restricted-names": "error",
284
+ "no-sparse-arrays": "error",
285
+ "no-this-before-super": "error",
286
+ "no-undef": "error",
287
+ "no-unexpected-multiline": "error",
288
+ "no-unreachable": "error",
289
+ "no-unsafe-finally": "error",
290
+ "no-unsafe-negation": "error",
291
+ "no-unsafe-optional-chaining": "error",
292
+ "no-unused-labels": "error",
293
+ "no-unused-private-class-members": "error",
294
+ "no-unused-vars": "error",
295
+ "no-useless-backreference": "error",
296
+ "no-useless-catch": "error",
297
+ "no-useless-escape": "error",
298
+ "no-with": "error",
299
+ "require-yield": "error",
300
+ "use-isnan": "error",
301
+ "valid-typeof": "error"
302
+ })
303
+ });
304
+ }
305
+ });
306
+
307
+ // ../../node_modules/.pnpm/@eslint+js@9.8.0/node_modules/@eslint/js/src/index.js
308
+ var require_src = __commonJS({
309
+ "../../node_modules/.pnpm/@eslint+js@9.8.0/node_modules/@eslint/js/src/index.js"(exports, module) {
310
+ "use strict";
311
+ module.exports = {
312
+ configs: {
313
+ all: require_eslint_all(),
314
+ recommended: require_eslint_recommended()
315
+ }
316
+ };
317
+ }
318
+ });
319
+
320
+ // plugins.ts
321
+ var import_js = __toESM(require_src(), 1);
322
+ import { default as default2 } from "globals";
323
+ import { fixupPluginRules } from "@eslint/compat";
324
+ import { default as default4 } from "typescript-eslint";
325
+ import { default as default5 } from "eslint-plugin-react";
326
+ import { default as default6 } from "eslint-plugin-react-hooks";
327
+ import { default as default7 } from "eslint-plugin-jsx-a11y";
328
+ import { default as default8 } from "eslint-plugin-vue";
329
+ import { default as default9 } from "vue-eslint-parser";
330
+ import { default as default10 } from "eslint-plugin-prettier";
331
+ import { default as default11 } from "eslint-plugin-sonarjs";
332
+ import { default as default12 } from "eslint-plugin-security";
333
+ import { default as default13 } from "eslint-plugin-playwright";
334
+ import { default as default14 } from "eslint-plugin-testing-library";
335
+ import { default as default15 } from "eslint-plugin-regexp";
336
+ import { default as default16 } from "eslint-plugin-import";
337
+ import { default as default17 } from "eslint-plugin-markdown";
338
+
339
+ // configs/javascript.ts
340
+ var isProduction = process.env.NODE_ENV === "production";
341
+ var rules = {
342
+ "no-var": "error",
343
+ "no-console": isProduction ? "warn" : "off",
344
+ "no-debugger": isProduction ? "warn" : "off",
345
+ "no-eval": "error",
346
+ "no-loop-func": "error",
347
+ "no-dupe-class-members": "error",
348
+ "no-duplicate-imports": "error",
349
+ "object-shorthand": "error",
350
+ "prefer-const": "error",
351
+ "prefer-template": "error",
352
+ eqeqeq: "error"
353
+ };
354
+ var jsConfigs = [
355
+ {
356
+ name: "component-hook/javascript",
357
+ rules: {
358
+ ...import_js.default.configs.recommended.rules,
359
+ ...rules
360
+ }
361
+ }
362
+ ];
363
+
364
+ // configs/typescript.ts
365
+ var rules2 = {
366
+ "@typescript-eslint/no-unused-expressions": "off",
367
+ "@typescript-eslint/ban-ts-comment": "off",
368
+ "@typescript-eslint/no-shadow": "error",
369
+ "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "_" }]
370
+ };
371
+ var typescriptConfigs = default4.config({
372
+ extends: [...default4.configs.recommended],
373
+ files: ["**/*.ts", "**/*.tsx"],
374
+ name: "component-hook/typescript",
375
+ rules: rules2
376
+ });
377
+
378
+ // configs/import.ts
379
+ var plugins = {
380
+ import: fixupPluginRules(default16),
381
+ "@typescript-eslint": default4.plugin
382
+ };
383
+ var languageOptions = {
384
+ parser: default9,
385
+ parserOptions: {
386
+ parser: "@typescript-eslint/parser",
387
+ sourceType: "module",
388
+ ecmaVersion: "latest"
389
+ }
390
+ };
391
+ var importConfigs = [
392
+ {
393
+ name: "component-hook/import",
394
+ plugins,
395
+ languageOptions,
396
+ rules: {
397
+ "import/order": ["error", { groups: ["builtin", "external", "internal", "parent", "sibling", "index"] }],
398
+ "import/first": "error",
399
+ "import/no-default-export": "error",
400
+ "import/no-duplicates": "error",
401
+ "import/no-mutable-exports": "error",
402
+ "import/no-named-default": "error",
403
+ "import/no-self-import": "error",
404
+ "import/no-webpack-loader-syntax": "error"
405
+ }
406
+ },
407
+ {
408
+ name: "component-hook/allow-default-export",
409
+ files: [
410
+ "**/*.d.ts",
411
+ `**/*config*.?([cm])[jt]s?(x)`,
412
+ `**/{views,pages,routes,middleware,plugins,api}/**/*.?([cm])[jt]s?(x)`,
413
+ `**/{index,vite,esbuild,rollup,rolldown,webpack,rspack}.ts`
414
+ ],
415
+ plugins,
416
+ languageOptions,
417
+ rules: {
418
+ "import/no-default-export": "off"
419
+ }
420
+ }
421
+ ];
422
+
423
+ // configs/markdown.ts
424
+ var markdownConfigs = [
425
+ ...default17.configs.recommended.map((config) => {
426
+ const { name, rules: rules5 } = config;
427
+ const baseConfig = {
428
+ ...config,
429
+ name: `component-hook/${name}`
430
+ };
431
+ if (rules5) {
432
+ baseConfig.rules = {
433
+ ...rules5,
434
+ "no-alert": "off",
435
+ "no-console": "off",
436
+ "no-restricted-imports": "off",
437
+ "no-undef": "off",
438
+ "no-unused-expressions": "off",
439
+ "no-unused-vars": "off",
440
+ "@typescript-eslint/comma-dangle": "off",
441
+ "@typescript-eslint/consistent-type-imports": "off",
442
+ "@typescript-eslint/no-extraneous-class": "off",
443
+ "@typescript-eslint/no-namespace": "off",
444
+ "@typescript-eslint/no-redeclare": "off",
445
+ "@typescript-eslint/no-require-imports": "off",
446
+ "@typescript-eslint/no-unused-vars": "off",
447
+ "@typescript-eslint/no-use-before-define": "off",
448
+ "import/no-default-export": "off"
449
+ };
450
+ }
451
+ return baseConfig;
452
+ })
453
+ ];
454
+
455
+ // configs/regexp.ts
456
+ var regexpConfig = {
457
+ ...default15.configs["flat/recommended"],
458
+ name: "component-hook/regexp"
459
+ };
460
+
461
+ // configs/prettier.ts
462
+ var recommended = default10.configs?.recommended;
463
+ var prettierConfig = {
464
+ name: "component-hook/prettier",
465
+ plugins: {
466
+ prettier: default10
467
+ },
468
+ rules: {
469
+ ...recommended.rules,
470
+ "prettier/prettier": "off"
471
+ }
472
+ };
473
+
474
+ // configs/sonarjs.ts
475
+ var sonarjsConfig = {
476
+ ...default11.configs.recommended,
477
+ name: "component-hook/sonarjs"
478
+ };
479
+
480
+ // configs/security.ts
481
+ var securityConfig = {
482
+ ...default12.configs.recommended,
483
+ name: "component-hook/security"
484
+ };
485
+
486
+ // configs/react.ts
487
+ var reactConfig = [
488
+ {
489
+ ...default5.configs.flat.recommended,
490
+ name: "component-hook/react",
491
+ settings: {
492
+ react: {
493
+ version: "detect"
494
+ }
495
+ }
496
+ },
497
+ {
498
+ name: "component-hook/react-hooks",
499
+ files: ["**/*.[jt]s?(x)"],
500
+ plugins: {
501
+ "react-hooks": fixupPluginRules({ rules: default6.rules })
502
+ },
503
+ rules: {
504
+ ...default6.configs.recommended.rules
505
+ }
506
+ },
507
+ {
508
+ ...default7.flatConfigs.recommended,
509
+ name: "component-hook/jsx-a11y"
510
+ }
511
+ ];
512
+
513
+ // configs/vue.ts
514
+ var rules3 = {
515
+ "vue/block-order": ["error", { order: ["script", "template", "style"] }],
516
+ "vue/custom-event-name-casing": ["error", "camelCase"],
517
+ "vue/eqeqeq": ["error", "smart"],
518
+ "vue/html-self-closing": [
519
+ "error",
520
+ {
521
+ html: {
522
+ component: "always",
523
+ normal: "never",
524
+ void: "always"
525
+ },
526
+ math: "always",
527
+ svg: "always"
528
+ }
529
+ ],
530
+ "vue/max-attributes-per-line": "off",
531
+ "vue/multi-word-component-names": "off",
532
+ "vue/no-constant-condition": "warn",
533
+ "vue/no-empty-pattern": "error",
534
+ "vue/no-loss-of-precision": "error",
535
+ "vue/no-unused-refs": "error",
536
+ "vue/no-useless-v-bind": "error",
537
+ "vue/no-v-html": "off",
538
+ "vue/object-shorthand": [
539
+ "error",
540
+ "always",
541
+ {
542
+ avoidQuotes: true,
543
+ ignoreConstructors: false
544
+ }
545
+ ],
546
+ "vue/one-component-per-file": "off",
547
+ "vue/padding-line-between-blocks": ["error", "always"],
548
+ "vue/prefer-template": "error",
549
+ "vue/require-default-prop": "off",
550
+ "vue/require-prop-types": "off",
551
+ "vue/no-setup-props-reactivity-loss": "off"
552
+ };
553
+ var extendsTypescript = default4.configs.recommended.filter(({ name }) => name !== "typescript-eslint/base").map((config) => ({ ...config, name: `component-hook/vue/${config.name}` }));
554
+ var eslintConfigTypescript = default4.config({
555
+ extends: extendsTypescript,
556
+ files: ["**/*.vue"],
557
+ name: "component-hook/vue/typescript",
558
+ rules: rules2
559
+ });
560
+ var vueConfigs = [
561
+ ...eslintConfigTypescript,
562
+ {
563
+ name: "component-hook/vue/globals",
564
+ languageOptions: {
565
+ globals: {
566
+ defineProps: "readonly",
567
+ defineEmits: "readonly",
568
+ defineExpose: "readonly",
569
+ defineModel: "readonly",
570
+ withDefaults: "readonly",
571
+ $: "readonly",
572
+ $$: "readonly",
573
+ $computed: "readonly",
574
+ $customRef: "readonly",
575
+ $ref: "readonly",
576
+ $shallowRef: "readonly",
577
+ $toRef: "readonly"
578
+ }
579
+ }
580
+ },
581
+ {
582
+ name: "component-hook/vue",
583
+ files: ["**/*.vue"],
584
+ plugins: {
585
+ "@typescript-eslint": default4.plugin,
586
+ vue: default8
587
+ },
588
+ languageOptions: {
589
+ parser: default9,
590
+ parserOptions: {
591
+ parser: "@typescript-eslint/parser",
592
+ extraFileExtensions: [".vue"],
593
+ sourceType: "module",
594
+ ecmaFeatures: {
595
+ jsx: true
596
+ }
597
+ }
598
+ },
599
+ processor: default8.processors[".vue"],
600
+ rules: {
601
+ ...default8.configs.base.rules,
602
+ ...default8.configs["vue3-essential"].rules,
603
+ ...default8.configs["vue3-strongly-recommended"].rules,
604
+ ...default8.configs["vue3-recommended"].rules,
605
+ ...rules3
606
+ }
607
+ }
608
+ ];
609
+
610
+ // configs/playwright.ts
611
+ var playwrightConfig = {
612
+ ...default13.configs["flat/recommended"],
613
+ name: "component-hook/playwright"
614
+ };
615
+
616
+ // configs/testing-library.ts
617
+ var configs = default14.configs;
618
+ var plugins2 = {
619
+ "testing-library": fixupPluginRules({ rules: default14.rules })
620
+ };
621
+ var rules4 = {
622
+ "testing-library/await-async-queries": "error",
623
+ "testing-library/no-await-sync-queries": "error",
624
+ "testing-library/no-debugging-utils": "warn",
625
+ "testing-library/no-dom-import": "off"
626
+ };
627
+ var testingLibraryDomConfig = {
628
+ name: "component-hook/testing-library/dom",
629
+ plugins: plugins2,
630
+ rules: {
631
+ ...configs.dom.rules,
632
+ ...rules4
633
+ }
634
+ };
635
+ var testingLibraryAngularConfig = {
636
+ name: "component-hook/testing-library/angular",
637
+ plugins: plugins2,
638
+ rules: {
639
+ ...configs.angular.rules,
640
+ ...rules4
641
+ }
642
+ };
643
+ var testingLibraryReactConfig = {
644
+ name: "component-hook/testing-library/react",
645
+ plugins: plugins2,
646
+ rules: {
647
+ ...configs.react.rules,
648
+ ...rules4
649
+ }
650
+ };
651
+ var testingLibraryVueConfig = {
652
+ name: "component-hook/testing-library/vue",
653
+ plugins: plugins2,
654
+ rules: {
655
+ ...configs.vue.rules,
656
+ ...rules4
657
+ }
658
+ };
659
+ var testingLibraryMarkoConfig = {
660
+ name: "component-hook/testing-library/marko",
661
+ plugins: plugins2,
662
+ rules: {
663
+ ...configs.marko.rules,
664
+ ...rules4
665
+ }
666
+ };
667
+
668
+ // configs/ignores.ts
669
+ var ignores = {
670
+ name: "component-hook/ignores",
671
+ ignores: [
672
+ "**/node_modules",
673
+ "**/dist",
674
+ "**/pnpm-lock.yaml",
675
+ "**/yarn.lock",
676
+ "**/package-lock.json",
677
+ "**/bun.lockb",
678
+ "**/output",
679
+ "**/coverage",
680
+ "**/temp",
681
+ "**/fixtures",
682
+ "**/.vitepress/cache",
683
+ "**/.nuxt",
684
+ "**/.vercel",
685
+ "**/.changeset",
686
+ "**/.idea",
687
+ "**/.output",
688
+ "**/.vite-inspect",
689
+ "**/.nitro",
690
+ "**/CHANGELOG*.md",
691
+ "**/*.min.*",
692
+ "**/LICENSE*",
693
+ "**/__snapshots__",
694
+ "**/auto-import?(s).d.ts",
695
+ "**/components.d.ts",
696
+ "**/.turbo"
697
+ ]
698
+ };
699
+
700
+ // index.ts
701
+ var pluginBasic = [
702
+ ...jsConfigs,
703
+ ...typescriptConfigs,
704
+ ...importConfigs,
705
+ regexpConfig,
706
+ prettierConfig,
707
+ {
708
+ name: "component-hook/globals",
709
+ languageOptions: {
710
+ ecmaVersion: "latest",
711
+ globals: {
712
+ ...default2.node,
713
+ ...default2.browser
714
+ }
715
+ }
716
+ },
717
+ ignores
718
+ ];
719
+ var configs2 = {
720
+ basic: pluginBasic,
721
+ react: reactConfig,
722
+ vue: vueConfigs,
723
+ markdown: markdownConfigs,
724
+ sonarjs: sonarjsConfig,
725
+ security: securityConfig,
726
+ playwright: playwrightConfig,
727
+ "testing-library/dom": testingLibraryDomConfig,
728
+ "testing-library/vue": testingLibraryVueConfig,
729
+ "testing-library/react": testingLibraryReactConfig,
730
+ "testing-library/angular": testingLibraryAngularConfig,
731
+ "testing-library/marko": testingLibraryMarkoConfig
732
+ };
733
+ var eslint_plugin_default = { configs: configs2 };
734
+ var recommendedBasic = [...markdownConfigs, sonarjsConfig, securityConfig];
735
+ var reactRecommended = [...pluginBasic, ...reactConfig, ...recommendedBasic];
736
+ var vueRecommended = [...pluginBasic, ...vueConfigs, ...recommendedBasic];
737
+ var vueSkyline = [
738
+ ...vueRecommended,
739
+ {
740
+ files: ["**/*.vue"],
741
+ rules: {
742
+ "vue/block-order": ["error", { order: ["template", "script", "style"] }]
743
+ }
744
+ },
745
+ {
746
+ files: ["**/__tests__/unit/**/*.test.[jt]s?(x)"],
747
+ ...testingLibraryVueConfig
748
+ },
749
+ {
750
+ files: ["**/__tests__/e2e/**/*.spec.[jt]s?(x)"],
751
+ ...playwrightConfig
752
+ }
753
+ ];
754
+ export {
755
+ eslint_plugin_default as default,
756
+ reactRecommended,
757
+ vueRecommended,
758
+ vueSkyline
759
+ };