@component-hook/eslint-plugin 1.0.4 → 1.1.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.
Files changed (5) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +128 -127
  3. package/dist/index.d.ts +76 -1267
  4. package/dist/index.js +295 -276
  5. package/package.json +13 -12
package/dist/index.js CHANGED
@@ -20,54 +20,66 @@ import { default as default18 } from "eslint-plugin-markdown";
20
20
  import { default as default19 } from "@eslint-community/eslint-plugin-eslint-comments/configs";
21
21
  import { default as default20 } from "eslint-plugin-unicorn";
22
22
  import { default as default21 } from "eslint-plugin-de-morgan";
23
+ import { default as default22 } from "eslint-plugin-perfectionist";
23
24
 
24
- // configs/javascript.ts
25
- var isProduction = process.env.NODE_ENV === "production";
26
- var rules = {
27
- "no-var": "error",
28
- "no-console": isProduction ? "warn" : "off",
29
- "no-debugger": isProduction ? "warn" : "off",
30
- "no-eval": "error",
31
- "no-loop-func": "error",
32
- "no-dupe-class-members": "error",
33
- "no-duplicate-imports": "error",
34
- "object-shorthand": "error",
35
- "prefer-const": "error",
36
- "prefer-template": "error",
37
- eqeqeq: "error"
38
- };
39
- var jsConfigs = [
25
+ // configs/comments.ts
26
+ var commentsConfigs = [
40
27
  {
41
- name: "component-hook/javascript",
28
+ ...default19.recommended,
29
+ name: "component-hook/comments/recommended"
30
+ },
31
+ {
32
+ name: "component-hook/comments",
42
33
  rules: {
43
- ...default3.configs.recommended.rules,
44
- ...rules
34
+ "@eslint-community/eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }]
45
35
  }
46
36
  }
47
37
  ];
48
38
 
49
- // configs/typescript.ts
50
- var rules2 = {
51
- "@typescript-eslint/ban-ts-comment": "off",
52
- "@typescript-eslint/no-explicit-any": "off",
53
- "@typescript-eslint/no-unsafe-function-type": "off",
54
- "@typescript-eslint/no-shadow": "error",
55
- "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "_" }],
56
- "@typescript-eslint/no-unused-expressions": [
57
- "error",
58
- {
59
- allowShortCircuit: true,
60
- allowTaggedTemplates: true,
61
- allowTernary: true
62
- }
39
+ // configs/de-morgan.ts
40
+ var deMorganConfig = {
41
+ ...default21.configs.recommended,
42
+ name: "component-hook/de-morgan"
43
+ };
44
+
45
+ // configs/ignores.ts
46
+ var ignores = {
47
+ name: "component-hook/ignores",
48
+ ignores: [
49
+ "**/node_modules",
50
+ "**/dist",
51
+ "**/pnpm-lock.yaml",
52
+ "**/yarn.lock",
53
+ "**/package-lock.json",
54
+ "**/bun.lockb",
55
+ "output",
56
+ "**/coverage",
57
+ "**/playwright-report",
58
+ "**/temp",
59
+ "**/fixtures",
60
+ "**/.vitepress/cache",
61
+ "**/.nuxt",
62
+ "**/.vercel",
63
+ "**/.changeset",
64
+ "**/.idea",
65
+ "**/.output",
66
+ "**/.vite-inspect",
67
+ "**/.nitro",
68
+ "**/CHANGELOG*.md",
69
+ "**/*.min.*",
70
+ "**/LICENSE*",
71
+ "**/__snapshots__",
72
+ "**/auto-import?(s).d.ts",
73
+ "**/components.d.ts",
74
+ "**/vite-env.d.ts",
75
+ "**/shims-vue.d.ts",
76
+ "**/.turbo",
77
+ "**/mockServiceWorker.js"
63
78
  ]
64
79
  };
65
- var typescriptConfigs = default4.config({
66
- extends: [...default4.configs.recommended],
67
- files: ["**/*.ts", "**/*.tsx"],
68
- name: "component-hook/typescript",
69
- rules: rules2
70
- });
80
+
81
+ // constants.ts
82
+ var SRC_EXT = "?([cm])[jt]s?(x)";
71
83
 
72
84
  // configs/import.ts
73
85
  var plugins = {
@@ -88,12 +100,6 @@ var importConfigs = [
88
100
  plugins,
89
101
  languageOptions,
90
102
  rules: {
91
- "import/order": [
92
- "error",
93
- {
94
- groups: ["builtin", "external", "internal", "parent", "sibling", "index"]
95
- }
96
- ],
97
103
  "import/first": "error",
98
104
  "import/no-default-export": "error",
99
105
  "import/no-duplicates": "error",
@@ -108,9 +114,9 @@ var importConfigs = [
108
114
  files: [
109
115
  "**/*.d.ts",
110
116
  "**/*.md/**",
111
- `**/*config*.?([cm])[jt]s?(x)`,
112
- `**/{views,pages,routes,middleware,plugins,api}/**/*.?([cm])[jt]s?(x)`,
113
- `**/{index,vite,esbuild,rollup,rolldown,webpack,rspack,farm}.ts`
117
+ `**/*config*.${SRC_EXT}`,
118
+ `**/{views,pages,routes,middleware,plugins,api}/**/*.${SRC_EXT}`,
119
+ `**/{index,vite,esbuild,rollup,rolldown,webpack,rspack,farm,unloader}.${SRC_EXT}`
114
120
  ],
115
121
  plugins,
116
122
  languageOptions,
@@ -120,80 +126,30 @@ var importConfigs = [
120
126
  }
121
127
  ];
122
128
 
123
- // configs/unicorn.ts
124
- var unicornConfig = {
125
- name: "component-hook/unicorn",
126
- plugins: {
127
- unicorn: default20
128
- },
129
- rules: {
130
- "unicorn/catch-error-name": "error",
131
- "unicorn/consistent-empty-array-spread": "error",
132
- "unicorn/consistent-existence-index-check": "error",
133
- "unicorn/consistent-function-scoping": ["error", { checkArrowFunctions: false }],
134
- "unicorn/consistent-date-clone": "error",
135
- "unicorn/custom-error-definition": "error",
136
- "unicorn/error-message": "error",
137
- "unicorn/escape-case": "error",
138
- "unicorn/filename-case": [
139
- "error",
140
- {
141
- cases: { kebabCase: true, pascalCase: true },
142
- ignore: [/^[A-Z]+\..*$/, /import_map\.json/]
143
- }
144
- ],
145
- "unicorn/new-for-builtins": "error",
146
- "unicorn/no-array-method-this-argument": "error",
147
- "unicorn/no-array-push-push": "error",
148
- "unicorn/no-await-in-promise-methods": "error",
149
- "unicorn/no-console-spaces": "error",
150
- "unicorn/no-for-loop": "error",
151
- "unicorn/no-hex-escape": "error",
152
- "unicorn/no-instanceof-builtins": "error",
153
- "unicorn/no-invalid-remove-event-listener": "error",
154
- "unicorn/no-lonely-if": "error",
155
- "unicorn/no-negation-in-equality-check": "error",
156
- "unicorn/no-new-array": "error",
157
- "unicorn/no-new-buffer": "error",
158
- "unicorn/no-single-promise-in-promise-methods": "error",
159
- "unicorn/no-static-only-class": "error",
160
- "unicorn/no-unnecessary-await": "error",
161
- "unicorn/no-zero-fractions": `error`,
162
- "unicorn/prefer-add-event-listener": "error",
163
- "unicorn/prefer-array-find": "error",
164
- "unicorn/prefer-array-flat-map": "error",
165
- "unicorn/prefer-array-index-of": "error",
166
- "unicorn/prefer-array-some": "error",
167
- "unicorn/prefer-at": "error",
168
- "unicorn/prefer-blob-reading-methods": "error",
169
- "unicorn/prefer-date-now": "error",
170
- "unicorn/prefer-dom-node-append": "error",
171
- "unicorn/prefer-dom-node-dataset": "error",
172
- "unicorn/prefer-dom-node-remove": "error",
173
- "unicorn/prefer-dom-node-text-content": "error",
174
- "unicorn/prefer-includes": "error",
175
- "unicorn/prefer-keyboard-event-key": "error",
176
- "unicorn/prefer-math-min-max": "error",
177
- "unicorn/prefer-math-trunc": "error",
178
- "unicorn/prefer-modern-dom-apis": "error",
179
- "unicorn/prefer-modern-math-apis": "error",
180
- "unicorn/prefer-negative-index": "error",
181
- "unicorn/prefer-node-protocol": "error",
182
- "unicorn/prefer-number-properties": "error",
183
- "unicorn/prefer-optional-catch-binding": "error",
184
- "unicorn/prefer-prototype-methods": "error",
185
- "unicorn/prefer-query-selector": "error",
186
- "unicorn/prefer-reflect-apply": "error",
187
- "unicorn/prefer-regexp-test": "error",
188
- "unicorn/prefer-string-raw": "error",
189
- "unicorn/prefer-string-replace-all": "error",
190
- "unicorn/prefer-string-slice": "error",
191
- "unicorn/prefer-string-starts-ends-with": "error",
192
- "unicorn/prefer-string-trim-start-end": "error",
193
- "unicorn/prefer-type-error": "error",
194
- "unicorn/throw-new-error": "error"
195
- }
129
+ // configs/javascript.ts
130
+ var isProduction = process.env.NODE_ENV === "production";
131
+ var rules = {
132
+ "no-var": "error",
133
+ "no-console": isProduction ? "warn" : "off",
134
+ "no-debugger": isProduction ? "warn" : "off",
135
+ "no-eval": "error",
136
+ "no-loop-func": "error",
137
+ "no-dupe-class-members": "error",
138
+ "no-duplicate-imports": "error",
139
+ "object-shorthand": "error",
140
+ "prefer-const": "error",
141
+ "prefer-template": "error",
142
+ eqeqeq: "error"
196
143
  };
144
+ var jsConfigs = [
145
+ {
146
+ name: "component-hook/javascript",
147
+ rules: {
148
+ ...default3.configs.recommended.rules,
149
+ ...rules
150
+ }
151
+ }
152
+ ];
197
153
 
198
154
  // configs/markdown.ts
199
155
  var markdownConfigs = default18.configs.recommended.map((config) => {
@@ -228,46 +184,110 @@ var markdownConfigs = default18.configs.recommended.map((config) => {
228
184
  return baseConfig;
229
185
  });
230
186
 
231
- // configs/regexp.ts
232
- var regexpConfig = {
233
- ...default16.configs["flat/recommended"],
234
- name: "component-hook/regexp"
187
+ // configs/perfectionist.ts
188
+ var perfectionistConfig = {
189
+ name: "component-hook/perfectionist/import",
190
+ plugins: {
191
+ perfectionist: default22
192
+ },
193
+ rules: {
194
+ "perfectionist/sort-imports": [
195
+ "error",
196
+ {
197
+ groups: [
198
+ "builtin",
199
+ "external",
200
+ "internal",
201
+ "internal-type",
202
+ "parent",
203
+ "parent-type",
204
+ "sibling",
205
+ "sibling-type",
206
+ "index",
207
+ "index-type",
208
+ "object",
209
+ "type",
210
+ "side-effect",
211
+ "side-effect-style"
212
+ ],
213
+ internalPattern: ["^[~@#]/.*"],
214
+ newlinesBetween: "ignore"
215
+ }
216
+ ],
217
+ "perfectionist/sort-named-exports": ["warn", { groupKind: "values-first" }],
218
+ "perfectionist/sort-named-imports": ["warn", { groupKind: "values-first" }]
219
+ }
235
220
  };
236
221
 
237
- // configs/de-morgan.ts
238
- var deMorganConfig = {
239
- ...default21.configs.recommended,
240
- name: "component-hook/de-morgan"
222
+ // configs/playwright.ts
223
+ var playwrightConfig = {
224
+ ...default14.configs["flat/recommended"],
225
+ name: "component-hook/playwright"
241
226
  };
242
227
 
243
228
  // configs/prettier.ts
244
- var rules3 = { ...default11.rules };
245
- delete rules3["vue/html-self-closing"];
229
+ var rules2 = { ...default11.rules };
230
+ delete rules2["vue/html-self-closing"];
246
231
  var prettierConfig = {
247
232
  name: "component-hook/prettier",
248
233
  plugins: {
249
234
  prettier: default10
250
235
  },
251
236
  rules: {
252
- ...rules3,
237
+ ...rules2,
253
238
  "prettier/prettier": "warn"
254
239
  }
255
240
  };
256
241
 
257
- // configs/comments.ts
258
- var commentsConfigs = [
242
+ // configs/react.ts
243
+ var reactConfigs = [
259
244
  {
260
- ...default19.recommended,
261
- name: "component-hook/comments/recommended"
245
+ ...default5.configs.flat?.recommended,
246
+ name: "component-hook/react",
247
+ settings: {
248
+ react: {
249
+ version: "detect"
250
+ }
251
+ },
252
+ rules: {
253
+ ...default5.configs.flat?.recommended.rules,
254
+ ...default5.configs.flat?.["jsx-runtime"].rules
255
+ }
262
256
  },
263
257
  {
264
- name: "component-hook/comments",
258
+ name: "component-hook/react-hooks",
259
+ files: ["**/*.[jt]s?(x)"],
260
+ plugins: {
261
+ "react-hooks": default6
262
+ },
265
263
  rules: {
266
- "@eslint-community/eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }]
264
+ ...default6.configs.recommended.rules
267
265
  }
266
+ },
267
+ {
268
+ ...default7.flatConfigs.recommended,
269
+ name: "component-hook/jsx-a11y"
268
270
  }
269
271
  ];
270
272
 
273
+ // configs/regexp.ts
274
+ var regexpConfig = {
275
+ ...default16.configs["flat/recommended"],
276
+ name: "component-hook/regexp"
277
+ };
278
+
279
+ // configs/security.ts
280
+ var securityConfig = {
281
+ name: "component-hook/security",
282
+ plugins: {
283
+ security: default13
284
+ },
285
+ rules: {
286
+ ...default13.configs.recommended.rules,
287
+ "security/detect-object-injection": "off"
288
+ }
289
+ };
290
+
271
291
  // configs/sonarjs.ts
272
292
  var plugins2 = {
273
293
  sonarjs: default12
@@ -295,48 +315,147 @@ var sonarjsConfigs = [
295
315
  }
296
316
  ];
297
317
 
298
- // configs/security.ts
299
- var securityConfig = {
300
- name: "component-hook/security",
301
- plugins: {
302
- security: default13
303
- },
318
+ // configs/testing-library.ts
319
+ var configs = default15.configs;
320
+ var plugins3 = {
321
+ "testing-library": default15
322
+ };
323
+ var testingLibraryDomConfig = {
324
+ name: "component-hook/testing-library/dom",
325
+ plugins: plugins3,
304
326
  rules: {
305
- ...default13.configs.recommended.rules,
306
- "security/detect-object-injection": "off"
327
+ ...configs["flat/dom"].rules
328
+ }
329
+ };
330
+ var testingLibraryAngularConfig = {
331
+ name: "component-hook/testing-library/angular",
332
+ plugins: plugins3,
333
+ rules: {
334
+ ...configs["flat/angular"].rules
335
+ }
336
+ };
337
+ var testingLibraryReactConfig = {
338
+ name: "component-hook/testing-library/react",
339
+ plugins: plugins3,
340
+ rules: {
341
+ ...configs["flat/react"].rules
342
+ }
343
+ };
344
+ var testingLibraryVueConfig = {
345
+ name: "component-hook/testing-library/vue",
346
+ plugins: plugins3,
347
+ rules: {
348
+ ...configs["flat/vue"].rules
349
+ }
350
+ };
351
+ var testingLibraryMarkoConfig = {
352
+ name: "component-hook/testing-library/marko",
353
+ plugins: plugins3,
354
+ rules: {
355
+ ...configs["flat/marko"].rules
307
356
  }
308
357
  };
309
358
 
310
- // configs/react.ts
311
- var reactConfigs = [
312
- {
313
- ...default5.configs.flat?.recommended,
314
- name: "component-hook/react",
315
- settings: {
316
- react: {
317
- version: "detect"
318
- }
319
- },
320
- rules: {
321
- ...default5.configs.flat?.recommended.rules,
322
- ...default5.configs.flat?.["jsx-runtime"].rules
323
- }
324
- },
325
- {
326
- name: "component-hook/react-hooks",
327
- files: ["**/*.[jt]s?(x)"],
328
- plugins: {
329
- "react-hooks": default6
330
- },
331
- rules: {
332
- ...default6.configs.recommended.rules
359
+ // configs/typescript.ts
360
+ var rules3 = {
361
+ "@typescript-eslint/ban-ts-comment": "off",
362
+ "@typescript-eslint/no-explicit-any": "off",
363
+ "@typescript-eslint/no-unsafe-function-type": "off",
364
+ "@typescript-eslint/no-shadow": "error",
365
+ "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "_" }],
366
+ "@typescript-eslint/no-unused-expressions": [
367
+ "error",
368
+ {
369
+ allowShortCircuit: true,
370
+ allowTaggedTemplates: true,
371
+ allowTernary: true
333
372
  }
373
+ ]
374
+ };
375
+ var typescriptConfigs = default4.config({
376
+ extends: [...default4.configs.recommended],
377
+ files: ["**/*.ts", "**/*.tsx"],
378
+ name: "component-hook/typescript",
379
+ rules: rules3
380
+ });
381
+
382
+ // configs/unicorn.ts
383
+ var unicornConfig = {
384
+ name: "component-hook/unicorn",
385
+ plugins: {
386
+ unicorn: default20
334
387
  },
335
- {
336
- ...default7.flatConfigs.recommended,
337
- name: "component-hook/jsx-a11y"
388
+ rules: {
389
+ "unicorn/catch-error-name": "error",
390
+ "unicorn/consistent-empty-array-spread": "error",
391
+ "unicorn/consistent-existence-index-check": "error",
392
+ "unicorn/consistent-function-scoping": ["error", { checkArrowFunctions: false }],
393
+ "unicorn/consistent-date-clone": "error",
394
+ "unicorn/custom-error-definition": "error",
395
+ "unicorn/error-message": "error",
396
+ "unicorn/escape-case": "error",
397
+ "unicorn/filename-case": [
398
+ "error",
399
+ {
400
+ cases: { kebabCase: true, pascalCase: true },
401
+ ignore: [/^[A-Z]+\..*$/, /import_map\.json/]
402
+ }
403
+ ],
404
+ "unicorn/new-for-builtins": "error",
405
+ "unicorn/no-array-method-this-argument": "error",
406
+ "unicorn/no-await-in-promise-methods": "error",
407
+ "unicorn/no-console-spaces": "error",
408
+ "unicorn/no-for-loop": "error",
409
+ "unicorn/no-hex-escape": "error",
410
+ "unicorn/no-instanceof-builtins": "error",
411
+ "unicorn/no-invalid-remove-event-listener": "error",
412
+ "unicorn/no-lonely-if": "error",
413
+ "unicorn/no-negation-in-equality-check": "error",
414
+ "unicorn/no-new-array": "error",
415
+ "unicorn/no-new-buffer": "error",
416
+ "unicorn/no-single-promise-in-promise-methods": "error",
417
+ "unicorn/no-static-only-class": "error",
418
+ "unicorn/no-unnecessary-array-flat-depth": "error",
419
+ "unicorn/no-unnecessary-array-splice-count": "error",
420
+ "unicorn/no-unnecessary-await": "error",
421
+ "unicorn/no-unnecessary-slice-end": "error",
422
+ "unicorn/no-zero-fractions": `error`,
423
+ "unicorn/prefer-add-event-listener": "error",
424
+ "unicorn/prefer-array-find": "error",
425
+ "unicorn/prefer-array-flat-map": "error",
426
+ "unicorn/prefer-array-index-of": "error",
427
+ "unicorn/prefer-array-some": "error",
428
+ "unicorn/prefer-at": "error",
429
+ "unicorn/prefer-blob-reading-methods": "error",
430
+ "unicorn/prefer-date-now": "error",
431
+ "unicorn/prefer-dom-node-append": "error",
432
+ "unicorn/prefer-dom-node-dataset": "error",
433
+ "unicorn/prefer-dom-node-remove": "error",
434
+ "unicorn/prefer-dom-node-text-content": "error",
435
+ "unicorn/prefer-includes": "error",
436
+ "unicorn/prefer-keyboard-event-key": "error",
437
+ "unicorn/prefer-math-min-max": "error",
438
+ "unicorn/prefer-math-trunc": "error",
439
+ "unicorn/prefer-modern-dom-apis": "error",
440
+ "unicorn/prefer-modern-math-apis": "error",
441
+ "unicorn/prefer-negative-index": "error",
442
+ "unicorn/prefer-node-protocol": "error",
443
+ "unicorn/prefer-number-properties": "error",
444
+ "unicorn/prefer-optional-catch-binding": "error",
445
+ "unicorn/prefer-prototype-methods": "error",
446
+ "unicorn/prefer-query-selector": "error",
447
+ "unicorn/prefer-reflect-apply": "error",
448
+ "unicorn/prefer-regexp-test": "error",
449
+ "unicorn/prefer-single-call": "error",
450
+ "unicorn/prefer-string-raw": "error",
451
+ "unicorn/prefer-string-replace-all": "error",
452
+ "unicorn/prefer-string-slice": "error",
453
+ "unicorn/prefer-string-starts-ends-with": "error",
454
+ "unicorn/prefer-string-trim-start-end": "error",
455
+ "unicorn/prefer-type-error": "error",
456
+ "unicorn/throw-new-error": "error"
338
457
  }
339
- ];
458
+ };
340
459
 
341
460
  // configs/vue.ts
342
461
  var recommendedRules = default8.configs["flat/recommended"].map((config) => config.rules).reduce((acc, rules5) => ({ ...acc, ...rules5 }), {});
@@ -384,7 +503,7 @@ var eslintConfigTypescript = default4.config({
384
503
  extends: extendsTypescript,
385
504
  files: ["**/*.vue"],
386
505
  name: "component-hook/vue/typescript",
387
- rules: rules2
506
+ rules: rules3
388
507
  });
389
508
  var vueConfigs = [
390
509
  ...eslintConfigTypescript,
@@ -434,89 +553,6 @@ var vueConfigs = [
434
553
  }
435
554
  ];
436
555
 
437
- // configs/playwright.ts
438
- var playwrightConfig = {
439
- ...default14.configs["flat/recommended"],
440
- name: "component-hook/playwright"
441
- };
442
-
443
- // configs/testing-library.ts
444
- var configs = default15.configs;
445
- var plugins3 = {
446
- "testing-library": default15
447
- };
448
- var testingLibraryDomConfig = {
449
- name: "component-hook/testing-library/dom",
450
- plugins: plugins3,
451
- rules: {
452
- ...configs["flat/dom"].rules
453
- }
454
- };
455
- var testingLibraryAngularConfig = {
456
- name: "component-hook/testing-library/angular",
457
- plugins: plugins3,
458
- rules: {
459
- ...configs["flat/angular"].rules
460
- }
461
- };
462
- var testingLibraryReactConfig = {
463
- name: "component-hook/testing-library/react",
464
- plugins: plugins3,
465
- rules: {
466
- ...configs["flat/react"].rules
467
- }
468
- };
469
- var testingLibraryVueConfig = {
470
- name: "component-hook/testing-library/vue",
471
- plugins: plugins3,
472
- rules: {
473
- ...configs["flat/vue"].rules
474
- }
475
- };
476
- var testingLibraryMarkoConfig = {
477
- name: "component-hook/testing-library/marko",
478
- plugins: plugins3,
479
- rules: {
480
- ...configs["flat/marko"].rules
481
- }
482
- };
483
-
484
- // configs/ignores.ts
485
- var ignores = {
486
- name: "component-hook/ignores",
487
- ignores: [
488
- "**/node_modules",
489
- "**/dist",
490
- "**/pnpm-lock.yaml",
491
- "**/yarn.lock",
492
- "**/package-lock.json",
493
- "**/bun.lockb",
494
- "output",
495
- "**/coverage",
496
- "**/playwright-report",
497
- "**/temp",
498
- "**/fixtures",
499
- "**/.vitepress/cache",
500
- "**/.nuxt",
501
- "**/.vercel",
502
- "**/.changeset",
503
- "**/.idea",
504
- "**/.output",
505
- "**/.vite-inspect",
506
- "**/.nitro",
507
- "**/CHANGELOG*.md",
508
- "**/*.min.*",
509
- "**/LICENSE*",
510
- "**/__snapshots__",
511
- "**/auto-import?(s).d.ts",
512
- "**/components.d.ts",
513
- "**/vite-env.d.ts",
514
- "**/shims-vue.d.ts",
515
- "**/.turbo",
516
- "**/mockServiceWorker.js"
517
- ]
518
- };
519
-
520
556
  // index.ts
521
557
  var basicConfigs = [
522
558
  ...jsConfigs,
@@ -526,6 +562,7 @@ var basicConfigs = [
526
562
  unicornConfig,
527
563
  regexpConfig,
528
564
  deMorganConfig,
565
+ perfectionistConfig,
529
566
  {
530
567
  name: "component-hook/globals",
531
568
  languageOptions: {
@@ -557,26 +594,8 @@ var index_default = { configs: configs2 };
557
594
  var basicPreset = [prettierConfig, ...sonarjsConfigs, securityConfig, ...markdownConfigs];
558
595
  var reactPreset = [...basicConfigs, ...reactConfigs, ...basicPreset];
559
596
  var vuePreset = [...basicConfigs, ...vueConfigs, ...basicPreset];
560
- var vueSkyline = [
561
- ...vuePreset,
562
- {
563
- files: ["**/*.vue"],
564
- rules: {
565
- "vue/block-order": ["error", { order: ["template", "script", "style"] }]
566
- }
567
- },
568
- {
569
- files: ["**/__tests__/unit/**/*.test.[jt]s?(x)"],
570
- ...testingLibraryVueConfig
571
- },
572
- {
573
- files: ["**/__tests__/e2e/**/*.spec.[jt]s?(x)"],
574
- ...playwrightConfig
575
- }
576
- ];
577
597
  export {
578
598
  index_default as default,
579
599
  reactPreset,
580
- vuePreset,
581
- vueSkyline
600
+ vuePreset
582
601
  };