@component-hook/eslint-plugin 1.1.1 → 1.1.3

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
@@ -86,21 +86,21 @@ export default vuePreset;
86
86
 
87
87
  ## Configs
88
88
 
89
- | Name | Type | Reference |
90
- | ----------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
91
- | basic | `Linter.Config[]` | `eslint-recommended`, `typescript-eslint`, `eslint-plugin-eslint-comments`, `eslint-plugin-import`, `eslint-plugin-unicorn`, `eslint-plugin-regexp`, `eslint-plugin-de-morgan`, `eslint-plugin-perfectionist` |
92
- | vue | `Linter.Config[]` | `eslint-plugin-vue`, `typescript-eslint` |
93
- | react | `Linter.Config[]` | `eslint-plugin-react/recommended`, `eslint-plugin-react-hooks/recommended`, `eslint-plugin-jsx-a11y/recommended` |
94
- | markdown | `Linter.Config[]` | `eslint-plugin-markdown/recommended` |
95
- | prettier | `Linter.Config` | `eslint-plugin-prettier/recommended` |
96
- | sonarjs | `Linter.Config[]` | `eslint-plugin-sonarjs/recommended` |
97
- | security | `Linter.Config` | `eslint-plugin-security/recommended` |
98
- | playwright | `Linter.Config` | `eslint-plugin-playwright/flat/recommended` |
99
- | testing-library/dom | `Linter.Config` | `eslint-plugin-testing-library/dom` |
100
- | testing-library/vue | `Linter.Config` | `eslint-plugin-testing-library/vue` |
101
- | testing-library/react | `Linter.Config` | `eslint-plugin-testing-library/react` |
102
- | testing-library/angular | `Linter.Config` | `eslint-plugin-testing-library/angular` |
103
- | testing-library/marko | `Linter.Config` | `eslint-plugin-testing-library/marko` |
89
+ | Name | Type | Reference |
90
+ | ----------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
91
+ | basic | `Linter.Config[]` | `eslint-recommended`, `typescript-eslint`, `eslint-plugin-eslint-comments`, `eslint-plugin-import`, `eslint-plugin-unicorn`, `eslint-plugin-jsdoc`, `eslint-plugin-regexp`, `eslint-plugin-de-morgan`, `eslint-plugin-perfectionist` |
92
+ | vue | `Linter.Config[]` | `eslint-plugin-vue`, `typescript-eslint` |
93
+ | react | `Linter.Config[]` | `eslint-plugin-react/recommended`, `eslint-plugin-react-hooks/recommended`, `eslint-plugin-jsx-a11y/recommended` |
94
+ | markdown | `Linter.Config[]` | `@eslint/markdown` |
95
+ | prettier | `Linter.Config` | `eslint-plugin-prettier/recommended` |
96
+ | sonarjs | `Linter.Config[]` | `eslint-plugin-sonarjs/recommended` |
97
+ | security | `Linter.Config` | `eslint-plugin-security/recommended` |
98
+ | playwright | `Linter.Config` | `eslint-plugin-playwright/flat/recommended` |
99
+ | testing-library/dom | `Linter.Config` | `eslint-plugin-testing-library/dom` |
100
+ | testing-library/vue | `Linter.Config` | `eslint-plugin-testing-library/vue` |
101
+ | testing-library/react | `Linter.Config` | `eslint-plugin-testing-library/react` |
102
+ | testing-library/angular | `Linter.Config` | `eslint-plugin-testing-library/angular` |
103
+ | testing-library/marko | `Linter.Config` | `eslint-plugin-testing-library/marko` |
104
104
 
105
105
  ## Reference eslint plugin
106
106
 
@@ -111,13 +111,14 @@ export default vuePreset;
111
111
  - [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
112
112
  - [eslint-plugin-regexp/flat/recommended](https://github.com/ota-meshi/eslint-plugin-regexp/blob/master/lib/configs/flat/recommended.ts)
113
113
  - [eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan/blob/main/index.ts)
114
+ - [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc)
114
115
  - [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist)
115
116
  - [eslint-plugin-prettier/recommended](https://github.com/prettier/eslint-plugin-prettier/blob/master/recommended.js)
116
117
  - [eslint-plugin-react/recommended](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/configs/recommended.js)
117
118
  - [eslint-plugin-react-hooks/recommended](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/src/index.js)
118
119
  - [eslint-plugin-jsx-a11y/recommended](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/src/index.js)
119
120
  - [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue)
120
- - [eslint-plugin-markdown/recommended](https://github.com/eslint/markdown/blob/main/src/index.js)
121
+ - [@eslint/markdown](https://github.com/eslint/markdown/blob/main/src/index.js)
121
122
  - [eslint-plugin-sonarjs/recommended](https://github.com/SonarSource/eslint-plugin-sonarjs/blob/master/src/index.ts)
122
123
  - [eslint-plugin-security/recommended](https://github.com/eslint-community/eslint-plugin-security/blob/main/index.js)
123
124
  - [eslint-plugin-testing-library/dom](https://github.com/testing-library/eslint-plugin-testing-library/blob/main/lib/configs/dom.ts)
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as eslint_plugin_security from 'eslint-plugin-security';
2
+ import * as eslint_plugin_jsdoc from 'eslint-plugin-jsdoc';
2
3
  import * as eslint from 'eslint';
3
4
 
4
5
  declare const _default: {
@@ -102,6 +103,30 @@ declare const _default: {
102
103
  'unicorn/prefer-type-error': string;
103
104
  'unicorn/throw-new-error': string;
104
105
  };
106
+ } | {
107
+ name: string;
108
+ plugins: {
109
+ jsdoc: eslint.ESLint.Plugin & {
110
+ configs: Record<`flat/${eslint_plugin_jsdoc.ConfigGroups}${eslint_plugin_jsdoc.ConfigVariants}${eslint_plugin_jsdoc.ErrorLevelVariants}`, eslint.Linter.Config>;
111
+ };
112
+ };
113
+ rules: {
114
+ 'jsdoc/check-access': string;
115
+ 'jsdoc/check-param-names': string;
116
+ 'jsdoc/check-property-names': string;
117
+ 'jsdoc/check-types': string;
118
+ 'jsdoc/empty-tags': string;
119
+ 'jsdoc/implements-on-classes': string;
120
+ 'jsdoc/no-defaults': string;
121
+ 'jsdoc/no-multi-asterisks': string;
122
+ 'jsdoc/require-param-name': string;
123
+ 'jsdoc/require-property': string;
124
+ 'jsdoc/require-property-description': string;
125
+ 'jsdoc/require-property-name': string;
126
+ 'jsdoc/require-returns-check': string;
127
+ 'jsdoc/require-returns-description': string;
128
+ 'jsdoc/require-yields-check': string;
129
+ };
105
130
  } | {
106
131
  name: string;
107
132
  ignores: string[];
@@ -198,6 +223,7 @@ declare const _default: {
198
223
  clearTimeout: false;
199
224
  clientInformation: false;
200
225
  Clipboard: false;
226
+ ClipboardChangeEvent: false;
201
227
  ClipboardEvent: false;
202
228
  ClipboardItem: false;
203
229
  close: false;
@@ -220,6 +246,7 @@ declare const _default: {
220
246
  CookieStoreManager: false;
221
247
  CountQueuingStrategy: false;
222
248
  createImageBitmap: false;
249
+ CreateMonitor: false;
223
250
  Credential: false;
224
251
  credentialless: false;
225
252
  CredentialsContainer: false;
@@ -558,6 +585,7 @@ declare const _default: {
558
585
  InputDeviceCapabilities: false;
559
586
  InputDeviceInfo: false;
560
587
  InputEvent: false;
588
+ IntegrityViolationReportBody: false;
561
589
  IntersectionObserver: false;
562
590
  IntersectionObserverEntry: false;
563
591
  isSecureContext: false;
@@ -873,6 +901,7 @@ declare const _default: {
873
901
  PushSubscriptionOptions: false;
874
902
  queryLocalFonts: false;
875
903
  queueMicrotask: false;
904
+ QuotaExceededError: false;
876
905
  RadioNodeList: false;
877
906
  Range: false;
878
907
  ReadableByteStreamController: false;
@@ -996,6 +1025,7 @@ declare const _default: {
996
1025
  SubmitEvent: false;
997
1026
  Subscriber: false;
998
1027
  SubtleCrypto: false;
1028
+ Summarizer: false;
999
1029
  SuppressedError: false;
1000
1030
  SVGAElement: false;
1001
1031
  SVGAngle: false;
@@ -1126,6 +1156,7 @@ declare const _default: {
1126
1156
  TransformStream: false;
1127
1157
  TransformStreamDefaultController: false;
1128
1158
  TransitionEvent: false;
1159
+ Translator: false;
1129
1160
  TreeWalker: false;
1130
1161
  TrustedHTML: false;
1131
1162
  TrustedScript: false;
@@ -1157,6 +1188,8 @@ declare const _default: {
1157
1188
  VideoEncoder: false;
1158
1189
  VideoFrame: false;
1159
1190
  VideoPlaybackQuality: false;
1191
+ viewport: false;
1192
+ Viewport: false;
1160
1193
  ViewTimeline: false;
1161
1194
  ViewTransition: false;
1162
1195
  ViewTransitionTypeSet: false;
@@ -1273,7 +1306,42 @@ declare const _default: {
1273
1306
  })[];
1274
1307
  react: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1275
1308
  vue: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1276
- markdown: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1309
+ markdown: ({
1310
+ name: string;
1311
+ basePath?: string;
1312
+ files?: Array<string | string[]>;
1313
+ ignores?: string[];
1314
+ language?: string;
1315
+ languageOptions?: eslint.Linter.LanguageOptions;
1316
+ linterOptions?: eslint.Linter.LinterOptions;
1317
+ processor?: string | eslint.Linter.Processor;
1318
+ plugins?: Record<string, eslint.ESLint.Plugin>;
1319
+ rules?: Partial<eslint.Linter.RulesRecord> | undefined;
1320
+ settings?: Record<string, unknown>;
1321
+ } | {
1322
+ files: string[];
1323
+ name: string;
1324
+ rules: {
1325
+ 'no-alert': string;
1326
+ 'no-console': string;
1327
+ 'no-restricted-imports': string;
1328
+ 'no-undef': string;
1329
+ 'no-unused-expressions': string;
1330
+ 'no-unused-vars': string;
1331
+ '@typescript-eslint/consistent-type-imports': string;
1332
+ '@typescript-eslint/no-extraneous-class': string;
1333
+ '@typescript-eslint/no-namespace': string;
1334
+ '@typescript-eslint/no-redeclare': string;
1335
+ '@typescript-eslint/no-require-imports': string;
1336
+ '@typescript-eslint/no-unused-expressions': string;
1337
+ '@typescript-eslint/no-unused-vars': string;
1338
+ '@typescript-eslint/no-use-before-define': string;
1339
+ 'import/no-default-export': string;
1340
+ 'sonarjs/no-dead-store': string;
1341
+ 'sonarjs/unused-import': string;
1342
+ 'sonarjs/no-unused-vars': string;
1343
+ };
1344
+ })[];
1277
1345
  prettier: eslint.Linter.Config<eslint.Linter.RulesRecord>;
1278
1346
  sonarjs: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1279
1347
  security: {
@@ -1287,6 +1355,7 @@ declare const _default: {
1287
1355
  };
1288
1356
  playwright: {
1289
1357
  name: string;
1358
+ basePath?: string;
1290
1359
  files?: Array<string | string[]>;
1291
1360
  ignores?: string[];
1292
1361
  language?: string;
@@ -1404,6 +1473,30 @@ declare const reactPreset: ({
1404
1473
  'unicorn/prefer-type-error': string;
1405
1474
  'unicorn/throw-new-error': string;
1406
1475
  };
1476
+ } | {
1477
+ name: string;
1478
+ plugins: {
1479
+ jsdoc: eslint.ESLint.Plugin & {
1480
+ configs: Record<`flat/${eslint_plugin_jsdoc.ConfigGroups}${eslint_plugin_jsdoc.ConfigVariants}${eslint_plugin_jsdoc.ErrorLevelVariants}`, eslint.Linter.Config>;
1481
+ };
1482
+ };
1483
+ rules: {
1484
+ 'jsdoc/check-access': string;
1485
+ 'jsdoc/check-param-names': string;
1486
+ 'jsdoc/check-property-names': string;
1487
+ 'jsdoc/check-types': string;
1488
+ 'jsdoc/empty-tags': string;
1489
+ 'jsdoc/implements-on-classes': string;
1490
+ 'jsdoc/no-defaults': string;
1491
+ 'jsdoc/no-multi-asterisks': string;
1492
+ 'jsdoc/require-param-name': string;
1493
+ 'jsdoc/require-property': string;
1494
+ 'jsdoc/require-property-description': string;
1495
+ 'jsdoc/require-property-name': string;
1496
+ 'jsdoc/require-returns-check': string;
1497
+ 'jsdoc/require-returns-description': string;
1498
+ 'jsdoc/require-yields-check': string;
1499
+ };
1407
1500
  } | {
1408
1501
  name: string;
1409
1502
  ignores: string[];
@@ -1500,6 +1593,7 @@ declare const reactPreset: ({
1500
1593
  clearTimeout: false;
1501
1594
  clientInformation: false;
1502
1595
  Clipboard: false;
1596
+ ClipboardChangeEvent: false;
1503
1597
  ClipboardEvent: false;
1504
1598
  ClipboardItem: false;
1505
1599
  close: false;
@@ -1522,6 +1616,7 @@ declare const reactPreset: ({
1522
1616
  CookieStoreManager: false;
1523
1617
  CountQueuingStrategy: false;
1524
1618
  createImageBitmap: false;
1619
+ CreateMonitor: false;
1525
1620
  Credential: false;
1526
1621
  credentialless: false;
1527
1622
  CredentialsContainer: false;
@@ -1860,6 +1955,7 @@ declare const reactPreset: ({
1860
1955
  InputDeviceCapabilities: false;
1861
1956
  InputDeviceInfo: false;
1862
1957
  InputEvent: false;
1958
+ IntegrityViolationReportBody: false;
1863
1959
  IntersectionObserver: false;
1864
1960
  IntersectionObserverEntry: false;
1865
1961
  isSecureContext: false;
@@ -2175,6 +2271,7 @@ declare const reactPreset: ({
2175
2271
  PushSubscriptionOptions: false;
2176
2272
  queryLocalFonts: false;
2177
2273
  queueMicrotask: false;
2274
+ QuotaExceededError: false;
2178
2275
  RadioNodeList: false;
2179
2276
  Range: false;
2180
2277
  ReadableByteStreamController: false;
@@ -2298,6 +2395,7 @@ declare const reactPreset: ({
2298
2395
  SubmitEvent: false;
2299
2396
  Subscriber: false;
2300
2397
  SubtleCrypto: false;
2398
+ Summarizer: false;
2301
2399
  SuppressedError: false;
2302
2400
  SVGAElement: false;
2303
2401
  SVGAngle: false;
@@ -2428,6 +2526,7 @@ declare const reactPreset: ({
2428
2526
  TransformStream: false;
2429
2527
  TransformStreamDefaultController: false;
2430
2528
  TransitionEvent: false;
2529
+ Translator: false;
2431
2530
  TreeWalker: false;
2432
2531
  TrustedHTML: false;
2433
2532
  TrustedScript: false;
@@ -2459,6 +2558,8 @@ declare const reactPreset: ({
2459
2558
  VideoEncoder: false;
2460
2559
  VideoFrame: false;
2461
2560
  VideoPlaybackQuality: false;
2561
+ viewport: false;
2562
+ Viewport: false;
2462
2563
  ViewTimeline: false;
2463
2564
  ViewTransition: false;
2464
2565
  ViewTransitionTypeSet: false;
@@ -2572,6 +2673,29 @@ declare const reactPreset: ({
2572
2673
  setImmediate: false;
2573
2674
  };
2574
2675
  };
2676
+ } | {
2677
+ files: string[];
2678
+ name: string;
2679
+ rules: {
2680
+ 'no-alert': string;
2681
+ 'no-console': string;
2682
+ 'no-restricted-imports': string;
2683
+ 'no-undef': string;
2684
+ 'no-unused-expressions': string;
2685
+ 'no-unused-vars': string;
2686
+ '@typescript-eslint/consistent-type-imports': string;
2687
+ '@typescript-eslint/no-extraneous-class': string;
2688
+ '@typescript-eslint/no-namespace': string;
2689
+ '@typescript-eslint/no-redeclare': string;
2690
+ '@typescript-eslint/no-require-imports': string;
2691
+ '@typescript-eslint/no-unused-expressions': string;
2692
+ '@typescript-eslint/no-unused-vars': string;
2693
+ '@typescript-eslint/no-use-before-define': string;
2694
+ 'import/no-default-export': string;
2695
+ 'sonarjs/no-dead-store': string;
2696
+ 'sonarjs/unused-import': string;
2697
+ 'sonarjs/no-unused-vars': string;
2698
+ };
2575
2699
  } | {
2576
2700
  name: string;
2577
2701
  plugins: {
@@ -2680,6 +2804,30 @@ declare const vuePreset: ({
2680
2804
  'unicorn/prefer-type-error': string;
2681
2805
  'unicorn/throw-new-error': string;
2682
2806
  };
2807
+ } | {
2808
+ name: string;
2809
+ plugins: {
2810
+ jsdoc: eslint.ESLint.Plugin & {
2811
+ configs: Record<`flat/${eslint_plugin_jsdoc.ConfigGroups}${eslint_plugin_jsdoc.ConfigVariants}${eslint_plugin_jsdoc.ErrorLevelVariants}`, eslint.Linter.Config>;
2812
+ };
2813
+ };
2814
+ rules: {
2815
+ 'jsdoc/check-access': string;
2816
+ 'jsdoc/check-param-names': string;
2817
+ 'jsdoc/check-property-names': string;
2818
+ 'jsdoc/check-types': string;
2819
+ 'jsdoc/empty-tags': string;
2820
+ 'jsdoc/implements-on-classes': string;
2821
+ 'jsdoc/no-defaults': string;
2822
+ 'jsdoc/no-multi-asterisks': string;
2823
+ 'jsdoc/require-param-name': string;
2824
+ 'jsdoc/require-property': string;
2825
+ 'jsdoc/require-property-description': string;
2826
+ 'jsdoc/require-property-name': string;
2827
+ 'jsdoc/require-returns-check': string;
2828
+ 'jsdoc/require-returns-description': string;
2829
+ 'jsdoc/require-yields-check': string;
2830
+ };
2683
2831
  } | {
2684
2832
  name: string;
2685
2833
  ignores: string[];
@@ -2776,6 +2924,7 @@ declare const vuePreset: ({
2776
2924
  clearTimeout: false;
2777
2925
  clientInformation: false;
2778
2926
  Clipboard: false;
2927
+ ClipboardChangeEvent: false;
2779
2928
  ClipboardEvent: false;
2780
2929
  ClipboardItem: false;
2781
2930
  close: false;
@@ -2798,6 +2947,7 @@ declare const vuePreset: ({
2798
2947
  CookieStoreManager: false;
2799
2948
  CountQueuingStrategy: false;
2800
2949
  createImageBitmap: false;
2950
+ CreateMonitor: false;
2801
2951
  Credential: false;
2802
2952
  credentialless: false;
2803
2953
  CredentialsContainer: false;
@@ -3136,6 +3286,7 @@ declare const vuePreset: ({
3136
3286
  InputDeviceCapabilities: false;
3137
3287
  InputDeviceInfo: false;
3138
3288
  InputEvent: false;
3289
+ IntegrityViolationReportBody: false;
3139
3290
  IntersectionObserver: false;
3140
3291
  IntersectionObserverEntry: false;
3141
3292
  isSecureContext: false;
@@ -3451,6 +3602,7 @@ declare const vuePreset: ({
3451
3602
  PushSubscriptionOptions: false;
3452
3603
  queryLocalFonts: false;
3453
3604
  queueMicrotask: false;
3605
+ QuotaExceededError: false;
3454
3606
  RadioNodeList: false;
3455
3607
  Range: false;
3456
3608
  ReadableByteStreamController: false;
@@ -3574,6 +3726,7 @@ declare const vuePreset: ({
3574
3726
  SubmitEvent: false;
3575
3727
  Subscriber: false;
3576
3728
  SubtleCrypto: false;
3729
+ Summarizer: false;
3577
3730
  SuppressedError: false;
3578
3731
  SVGAElement: false;
3579
3732
  SVGAngle: false;
@@ -3704,6 +3857,7 @@ declare const vuePreset: ({
3704
3857
  TransformStream: false;
3705
3858
  TransformStreamDefaultController: false;
3706
3859
  TransitionEvent: false;
3860
+ Translator: false;
3707
3861
  TreeWalker: false;
3708
3862
  TrustedHTML: false;
3709
3863
  TrustedScript: false;
@@ -3735,6 +3889,8 @@ declare const vuePreset: ({
3735
3889
  VideoEncoder: false;
3736
3890
  VideoFrame: false;
3737
3891
  VideoPlaybackQuality: false;
3892
+ viewport: false;
3893
+ Viewport: false;
3738
3894
  ViewTimeline: false;
3739
3895
  ViewTransition: false;
3740
3896
  ViewTransitionTypeSet: false;
@@ -3848,6 +4004,29 @@ declare const vuePreset: ({
3848
4004
  setImmediate: false;
3849
4005
  };
3850
4006
  };
4007
+ } | {
4008
+ files: string[];
4009
+ name: string;
4010
+ rules: {
4011
+ 'no-alert': string;
4012
+ 'no-console': string;
4013
+ 'no-restricted-imports': string;
4014
+ 'no-undef': string;
4015
+ 'no-unused-expressions': string;
4016
+ 'no-unused-vars': string;
4017
+ '@typescript-eslint/consistent-type-imports': string;
4018
+ '@typescript-eslint/no-extraneous-class': string;
4019
+ '@typescript-eslint/no-namespace': string;
4020
+ '@typescript-eslint/no-redeclare': string;
4021
+ '@typescript-eslint/no-require-imports': string;
4022
+ '@typescript-eslint/no-unused-expressions': string;
4023
+ '@typescript-eslint/no-unused-vars': string;
4024
+ '@typescript-eslint/no-use-before-define': string;
4025
+ 'import/no-default-export': string;
4026
+ 'sonarjs/no-dead-store': string;
4027
+ 'sonarjs/unused-import': string;
4028
+ 'sonarjs/no-unused-vars': string;
4029
+ };
3851
4030
  } | {
3852
4031
  name: string;
3853
4032
  plugins: {
package/dist/index.js CHANGED
@@ -16,11 +16,12 @@ import { default as default14 } from "eslint-plugin-playwright";
16
16
  import { default as default15 } from "eslint-plugin-testing-library";
17
17
  import { default as default16 } from "eslint-plugin-regexp";
18
18
  import { default as default17 } from "eslint-plugin-import";
19
- import { default as default18 } from "eslint-plugin-markdown";
19
+ import { default as default18 } from "@eslint/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
23
  import { default as default22 } from "eslint-plugin-perfectionist";
24
+ import { default as default23 } from "eslint-plugin-jsdoc";
24
25
 
25
26
  // configs/comments.ts
26
27
  var commentsConfigs = [
@@ -79,7 +80,9 @@ var ignores = {
79
80
  };
80
81
 
81
82
  // constants.ts
83
+ var SRC = "**/*.?([cm])[jt]s?(x)";
82
84
  var SRC_EXT = "?([cm])[jt]s?(x)";
85
+ var VUE = "**/*.vue";
83
86
 
84
87
  // configs/import.ts
85
88
  var plugins = {
@@ -151,16 +154,41 @@ var jsConfigs = [
151
154
  }
152
155
  ];
153
156
 
157
+ // configs/jsdoc.ts
158
+ var jsdocConfig = {
159
+ name: "component-hook/jsdoc",
160
+ plugins: {
161
+ jsdoc: default23
162
+ },
163
+ rules: {
164
+ "jsdoc/check-access": "warn",
165
+ "jsdoc/check-param-names": "warn",
166
+ "jsdoc/check-property-names": "warn",
167
+ "jsdoc/check-types": "warn",
168
+ "jsdoc/empty-tags": "warn",
169
+ "jsdoc/implements-on-classes": "warn",
170
+ "jsdoc/no-defaults": "warn",
171
+ "jsdoc/no-multi-asterisks": "warn",
172
+ "jsdoc/require-param-name": "warn",
173
+ "jsdoc/require-property": "warn",
174
+ "jsdoc/require-property-description": "warn",
175
+ "jsdoc/require-property-name": "warn",
176
+ "jsdoc/require-returns-check": "warn",
177
+ "jsdoc/require-returns-description": "warn",
178
+ "jsdoc/require-yields-check": "warn"
179
+ }
180
+ };
181
+
154
182
  // configs/markdown.ts
155
- var markdownConfigs = default18.configs.recommended.map((config) => {
156
- const { name, rules: rules5 } = config;
157
- const baseConfig = {
183
+ var markdownConfigs = [
184
+ ...default18.configs.processor.map((config) => ({
158
185
  ...config,
159
- name: `component-hook/${name}`
160
- };
161
- if (rules5) {
162
- baseConfig.rules = {
163
- ...rules5,
186
+ name: `component-hook/${config.name}`
187
+ })),
188
+ {
189
+ files: [`**/*.md/${SRC}`, `**/*.md/${VUE}`],
190
+ name: "component-hook/markdown-rules",
191
+ rules: {
164
192
  "no-alert": "off",
165
193
  "no-console": "off",
166
194
  "no-restricted-imports": "off",
@@ -179,10 +207,9 @@ var markdownConfigs = default18.configs.recommended.map((config) => {
179
207
  "sonarjs/no-dead-store": "off",
180
208
  "sonarjs/unused-import": "off",
181
209
  "sonarjs/no-unused-vars": "off"
182
- };
210
+ }
183
211
  }
184
- return baseConfig;
185
- });
212
+ ];
186
213
 
187
214
  // configs/perfectionist.ts
188
215
  var perfectionistConfig = {
@@ -480,6 +507,7 @@ var rules4 = {
480
507
  "vue/no-constant-condition": "warn",
481
508
  "vue/no-empty-pattern": "error",
482
509
  "vue/no-loss-of-precision": "error",
510
+ "vue/no-ref-as-operand": "off",
483
511
  "vue/no-unused-refs": "error",
484
512
  "vue/no-useless-v-bind": "error",
485
513
  "vue/no-v-html": "off",
@@ -501,7 +529,7 @@ var rules4 = {
501
529
  var extendsTypescript = default4.configs.recommended.filter(({ name }) => name !== "typescript-eslint/base").map((config) => ({ ...config, name: `component-hook/vue/${config.name}` }));
502
530
  var eslintConfigTypescript = default4.config({
503
531
  extends: extendsTypescript,
504
- files: ["**/*.vue"],
532
+ files: [VUE],
505
533
  name: "component-hook/vue/typescript",
506
534
  rules: rules3
507
535
  });
@@ -509,7 +537,7 @@ var vueConfigs = [
509
537
  ...eslintConfigTypescript,
510
538
  {
511
539
  name: "component-hook/vue/globals",
512
- files: ["**/*.vue"],
540
+ files: [VUE],
513
541
  languageOptions: {
514
542
  globals: {
515
543
  defineProps: "readonly",
@@ -529,7 +557,7 @@ var vueConfigs = [
529
557
  },
530
558
  {
531
559
  name: "component-hook/vue",
532
- files: ["**/*.vue"],
560
+ files: [VUE],
533
561
  plugins: {
534
562
  "@typescript-eslint": default4.plugin,
535
563
  vue: default8
@@ -560,6 +588,7 @@ var basicConfigs = [
560
588
  ...commentsConfigs,
561
589
  ...importConfigs,
562
590
  unicornConfig,
591
+ jsdocConfig,
563
592
  regexpConfig,
564
593
  deMorganConfig,
565
594
  perfectionistConfig,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-hook/eslint-plugin",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "ESLint config for component hook",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,30 +34,31 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
37
- "@eslint/compat": "^1.2.9",
38
- "@eslint/js": "^9.26.0",
37
+ "@eslint/compat": "^1.3.1",
38
+ "@eslint/js": "^9.30.1",
39
+ "@eslint/markdown": "^7.0.0",
39
40
  "eslint-config-prettier": "^10.1.5",
40
- "eslint-plugin-de-morgan": "^1.2.1",
41
- "eslint-plugin-import": "^2.31.0",
41
+ "eslint-plugin-de-morgan": "^1.3.0",
42
+ "eslint-plugin-import": "^2.32.0",
43
+ "eslint-plugin-jsdoc": "^51.3.4",
42
44
  "eslint-plugin-jsx-a11y": "^6.10.2",
43
- "eslint-plugin-markdown": "^5.1.0",
44
- "eslint-plugin-perfectionist": "^4.12.3",
45
+ "eslint-plugin-perfectionist": "^4.15.0",
45
46
  "eslint-plugin-playwright": "^2.2.0",
46
- "eslint-plugin-prettier": "^5.4.0",
47
+ "eslint-plugin-prettier": "^5.5.1",
47
48
  "eslint-plugin-react": "^7.37.5",
48
49
  "eslint-plugin-react-hooks": "^5.2.0",
49
- "eslint-plugin-regexp": "^2.7.0",
50
+ "eslint-plugin-regexp": "^2.9.0",
50
51
  "eslint-plugin-security": "^3.0.1",
51
- "eslint-plugin-sonarjs": "^3.0.2",
52
- "eslint-plugin-testing-library": "^7.1.1",
52
+ "eslint-plugin-sonarjs": "^3.0.4",
53
+ "eslint-plugin-testing-library": "^7.5.4",
53
54
  "eslint-plugin-unicorn": "^59.0.1",
54
- "eslint-plugin-vue": "^10.1.0",
55
- "globals": "^16.1.0",
56
- "typescript-eslint": "^8.32.1",
57
- "vue-eslint-parser": "^10.1.3"
55
+ "eslint-plugin-vue": "^10.3.0",
56
+ "globals": "^16.3.0",
57
+ "typescript-eslint": "^8.36.0",
58
+ "vue-eslint-parser": "^10.2.0"
58
59
  },
59
60
  "devDependencies": {
60
- "@eslint/config-inspector": "^1.0.2",
61
+ "@eslint/config-inspector": "^1.1.0",
61
62
  "@types/eslint": "^9.6.1",
62
63
  "@types/eslint-plugin-security": "^3.0.0",
63
64
  "@types/eslint__js": "^9.14.0"