@component-hook/eslint-plugin 1.0.1 → 1.0.2

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
@@ -1,6 +1,6 @@
1
1
  # @component-hook/eslint-plugin
2
2
 
3
- A opinionated ESLint config preset for JavaScript, TypeScript, Vue, and Prettier.
3
+ A opinionated ESLint config preset for `JavaScript`, `TypeScript`, `Vue3`, `React` and `Prettier`.
4
4
 
5
5
  <p>
6
6
  <a href="https://npm-stat.com/charts.html?package=@component-hook/eslint-plugin">
@@ -13,21 +13,26 @@ A opinionated ESLint config preset for JavaScript, TypeScript, Vue, and Prettier
13
13
 
14
14
  ## Features
15
15
 
16
- - Support `TypeScript`, `Vue` and `React` out-of-box.
17
- - Built-in `Markdown`, `Prettier`, `Sonarjs`, `Security`, `Playwright` and `Testing-library` configs can be referenced for respective needs.
18
- - Format with Prettier.
16
+ - Support `TypeScript`, `Vue3` and `React` out-of-box.
17
+ - Format with `Prettier`.
19
18
  - Ignores common files like `dist`, `node_modules`, `coverage`, and files in `.gitignore`.
19
+ - Various built-in configurations can be referenced according to respective needs.
20
20
  - Reasonable defaults, best practices, and just a few lines of configuration.
21
21
 
22
+ ## Documentation
23
+
24
+ For detailed documentation and usage examples, please visit: [Official Docs](https://tzuyi0817.github.io/component-hook/#/eslint/plugin).
25
+
22
26
  ## Installation
23
27
 
24
28
  ```bash
29
+ # Using npm
25
30
  $ npm install @component-hook/eslint-plugin --save-dev
26
31
 
27
- # or use yarn
32
+ # Using yarn
28
33
  $ yarn add @component-hook/eslint-plugin --dev
29
34
 
30
- # or use pnpm
35
+ # Using pnpm
31
36
  $ pnpm install @component-hook/eslint-plugin --save-dev
32
37
  ```
33
38
 
@@ -81,21 +86,21 @@ export default vuePreset;
81
86
 
82
87
  ## Configs
83
88
 
84
- | Name | Type | Reference |
85
- | ----------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
86
- | basic | `Linter.Config[]` | `eslint-recommended`, `typescript-eslint`, `eslint-plugin-eslint-comments`, `eslint-plugin-import`, `eslint-plugin-unicorn`, `eslint-plugin-regexp` |
87
- | vue | `Linter.Config[]` | `eslint-plugin-vue`, `typescript-eslint` |
88
- | react | `Linter.Config[]` | `eslint-plugin-react/recommended`, `eslint-plugin-react-hooks/recommended`, `eslint-plugin-jsx-a11y/recommended` |
89
- | markdown | `Linter.Config[]` | `eslint-plugin-markdown/recommended` |
90
- | prettier | `Linter.Config` | `eslint-plugin-prettier/recommended`, `eslint-config-prettier` |
91
- | sonarjs | `Linter.Config[]` | `eslint-plugin-sonarjs/recommended` |
92
- | security | `Linter.Config` | `eslint-plugin-security/recommended` |
93
- | playwright | `Linter.Config` | `eslint-plugin-playwright/flat/recommended` |
94
- | testing-library/dom | `Linter.Config` | `eslint-plugin-testing-library/dom` |
95
- | testing-library/vue | `Linter.Config` | `eslint-plugin-testing-library/vue` |
96
- | testing-library/react | `Linter.Config` | `eslint-plugin-testing-library/react` |
97
- | testing-library/angular | `Linter.Config` | `eslint-plugin-testing-library/angular` |
98
- | 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-regexp`, `eslint-plugin-de-morgan` |
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` |
99
104
 
100
105
  ## Reference eslint plugin
101
106
 
@@ -105,8 +110,8 @@ export default vuePreset;
105
110
  - [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import)
106
111
  - [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
107
112
  - [eslint-plugin-regexp/flat/recommended](https://github.com/ota-meshi/eslint-plugin-regexp/blob/master/lib/configs/flat/recommended.ts)
113
+ - [eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan/blob/main/index.ts)
108
114
  - [eslint-plugin-prettier/recommended](https://github.com/prettier/eslint-plugin-prettier/blob/master/recommended.js)
109
- - [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier/blob/main/index.js)
110
115
  - [eslint-plugin-react/recommended](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/configs/recommended.js)
111
116
  - [eslint-plugin-react-hooks/recommended](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/src/index.js)
112
117
  - [eslint-plugin-jsx-a11y/recommended](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/src/index.js)
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import * as eslint_plugin_security from 'eslint-plugin-security';
1
2
  import * as eslint from 'eslint';
2
3
 
3
4
  declare const _default: {
@@ -22,8 +23,8 @@ declare const _default: {
22
23
  plugins: {
23
24
  unicorn: eslint.ESLint.Plugin & {
24
25
  configs: {
25
- recommended: eslint.Linter.Config;
26
- all: eslint.Linter.Config;
26
+ recommended: eslint.Linter.FlatConfig;
27
+ all: eslint.Linter.FlatConfig;
27
28
  "flat/all": eslint.Linter.FlatConfig;
28
29
  "flat/recommended": eslint.Linter.FlatConfig;
29
30
  };
@@ -36,6 +37,7 @@ declare const _default: {
36
37
  'unicorn/consistent-function-scoping': (string | {
37
38
  checkArrowFunctions: boolean;
38
39
  })[];
40
+ 'unicorn/consistent-date-clone': string;
39
41
  'unicorn/custom-error-definition': string;
40
42
  'unicorn/error-message': string;
41
43
  'unicorn/escape-case': string;
@@ -53,7 +55,7 @@ declare const _default: {
53
55
  'unicorn/no-console-spaces': string;
54
56
  'unicorn/no-for-loop': string;
55
57
  'unicorn/no-hex-escape': string;
56
- 'unicorn/no-instanceof-array': string;
58
+ 'unicorn/no-instanceof-builtins': string;
57
59
  'unicorn/no-invalid-remove-event-listener': string;
58
60
  'unicorn/no-lonely-if': string;
59
61
  'unicorn/no-negation-in-equality-check': string;
@@ -1251,7 +1253,15 @@ declare const _default: {
1251
1253
  markdown: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1252
1254
  prettier: eslint.Linter.Config<eslint.Linter.RulesRecord>;
1253
1255
  sonarjs: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1254
- security: eslint.Linter.Config<eslint.Linter.RulesRecord>;
1256
+ security: {
1257
+ name: string;
1258
+ plugins: {
1259
+ security: typeof eslint_plugin_security;
1260
+ };
1261
+ rules: {
1262
+ 'security/detect-object-injection': string;
1263
+ };
1264
+ };
1255
1265
  playwright: {
1256
1266
  name: string;
1257
1267
  files?: Array<string | string[]>;
@@ -1292,8 +1302,8 @@ declare const reactPreset: ({
1292
1302
  plugins: {
1293
1303
  unicorn: eslint.ESLint.Plugin & {
1294
1304
  configs: {
1295
- recommended: eslint.Linter.Config;
1296
- all: eslint.Linter.Config;
1305
+ recommended: eslint.Linter.FlatConfig;
1306
+ all: eslint.Linter.FlatConfig;
1297
1307
  "flat/all": eslint.Linter.FlatConfig;
1298
1308
  "flat/recommended": eslint.Linter.FlatConfig;
1299
1309
  };
@@ -1306,6 +1316,7 @@ declare const reactPreset: ({
1306
1316
  'unicorn/consistent-function-scoping': (string | {
1307
1317
  checkArrowFunctions: boolean;
1308
1318
  })[];
1319
+ 'unicorn/consistent-date-clone': string;
1309
1320
  'unicorn/custom-error-definition': string;
1310
1321
  'unicorn/error-message': string;
1311
1322
  'unicorn/escape-case': string;
@@ -1323,7 +1334,7 @@ declare const reactPreset: ({
1323
1334
  'unicorn/no-console-spaces': string;
1324
1335
  'unicorn/no-for-loop': string;
1325
1336
  'unicorn/no-hex-escape': string;
1326
- 'unicorn/no-instanceof-array': string;
1337
+ 'unicorn/no-instanceof-builtins': string;
1327
1338
  'unicorn/no-invalid-remove-event-listener': string;
1328
1339
  'unicorn/no-lonely-if': string;
1329
1340
  'unicorn/no-negation-in-equality-check': string;
@@ -2515,6 +2526,14 @@ declare const reactPreset: ({
2515
2526
  setImmediate: false;
2516
2527
  };
2517
2528
  };
2529
+ } | {
2530
+ name: string;
2531
+ plugins: {
2532
+ security: typeof eslint_plugin_security;
2533
+ };
2534
+ rules: {
2535
+ 'security/detect-object-injection': string;
2536
+ };
2518
2537
  })[];
2519
2538
  declare const vuePreset: ({
2520
2539
  name: string;
@@ -2536,8 +2555,8 @@ declare const vuePreset: ({
2536
2555
  plugins: {
2537
2556
  unicorn: eslint.ESLint.Plugin & {
2538
2557
  configs: {
2539
- recommended: eslint.Linter.Config;
2540
- all: eslint.Linter.Config;
2558
+ recommended: eslint.Linter.FlatConfig;
2559
+ all: eslint.Linter.FlatConfig;
2541
2560
  "flat/all": eslint.Linter.FlatConfig;
2542
2561
  "flat/recommended": eslint.Linter.FlatConfig;
2543
2562
  };
@@ -2550,6 +2569,7 @@ declare const vuePreset: ({
2550
2569
  'unicorn/consistent-function-scoping': (string | {
2551
2570
  checkArrowFunctions: boolean;
2552
2571
  })[];
2572
+ 'unicorn/consistent-date-clone': string;
2553
2573
  'unicorn/custom-error-definition': string;
2554
2574
  'unicorn/error-message': string;
2555
2575
  'unicorn/escape-case': string;
@@ -2567,7 +2587,7 @@ declare const vuePreset: ({
2567
2587
  'unicorn/no-console-spaces': string;
2568
2588
  'unicorn/no-for-loop': string;
2569
2589
  'unicorn/no-hex-escape': string;
2570
- 'unicorn/no-instanceof-array': string;
2590
+ 'unicorn/no-instanceof-builtins': string;
2571
2591
  'unicorn/no-invalid-remove-event-listener': string;
2572
2592
  'unicorn/no-lonely-if': string;
2573
2593
  'unicorn/no-negation-in-equality-check': string;
@@ -3759,6 +3779,14 @@ declare const vuePreset: ({
3759
3779
  setImmediate: false;
3760
3780
  };
3761
3781
  };
3782
+ } | {
3783
+ name: string;
3784
+ plugins: {
3785
+ security: typeof eslint_plugin_security;
3786
+ };
3787
+ rules: {
3788
+ 'security/detect-object-injection': string;
3789
+ };
3762
3790
  })[];
3763
3791
  declare const vueSkyline: ({
3764
3792
  name: string;
@@ -3780,8 +3808,8 @@ declare const vueSkyline: ({
3780
3808
  plugins: {
3781
3809
  unicorn: eslint.ESLint.Plugin & {
3782
3810
  configs: {
3783
- recommended: eslint.Linter.Config;
3784
- all: eslint.Linter.Config;
3811
+ recommended: eslint.Linter.FlatConfig;
3812
+ all: eslint.Linter.FlatConfig;
3785
3813
  "flat/all": eslint.Linter.FlatConfig;
3786
3814
  "flat/recommended": eslint.Linter.FlatConfig;
3787
3815
  };
@@ -3794,6 +3822,7 @@ declare const vueSkyline: ({
3794
3822
  'unicorn/consistent-function-scoping': (string | {
3795
3823
  checkArrowFunctions: boolean;
3796
3824
  })[];
3825
+ 'unicorn/consistent-date-clone': string;
3797
3826
  'unicorn/custom-error-definition': string;
3798
3827
  'unicorn/error-message': string;
3799
3828
  'unicorn/escape-case': string;
@@ -3811,7 +3840,7 @@ declare const vueSkyline: ({
3811
3840
  'unicorn/no-console-spaces': string;
3812
3841
  'unicorn/no-for-loop': string;
3813
3842
  'unicorn/no-hex-escape': string;
3814
- 'unicorn/no-instanceof-array': string;
3843
+ 'unicorn/no-instanceof-builtins': string;
3815
3844
  'unicorn/no-invalid-remove-event-listener': string;
3816
3845
  'unicorn/no-lonely-if': string;
3817
3846
  'unicorn/no-negation-in-equality-check': string;
@@ -5003,6 +5032,14 @@ declare const vueSkyline: ({
5003
5032
  setImmediate: false;
5004
5033
  };
5005
5034
  };
5035
+ } | {
5036
+ name: string;
5037
+ plugins: {
5038
+ security: typeof eslint_plugin_security;
5039
+ };
5040
+ rules: {
5041
+ 'security/detect-object-injection': string;
5042
+ };
5006
5043
  } | {
5007
5044
  files: string[];
5008
5045
  rules: {
package/dist/index.js CHANGED
@@ -24,12 +24,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // ../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/package.json
27
+ // ../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/package.json
28
28
  var require_package = __commonJS({
29
- "../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/package.json"(exports, module) {
29
+ "../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/package.json"(exports, module) {
30
30
  module.exports = {
31
31
  name: "@eslint/js",
32
- version: "9.18.0",
32
+ version: "9.21.0",
33
33
  description: "ESLint JavaScript language implementation",
34
34
  main: "./src/index.js",
35
35
  types: "./types/index.d.ts",
@@ -65,9 +65,9 @@ var require_package = __commonJS({
65
65
  }
66
66
  });
67
67
 
68
- // ../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-all.js
68
+ // ../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/src/configs/eslint-all.js
69
69
  var require_eslint_all = __commonJS({
70
- "../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports, module) {
70
+ "../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports, module) {
71
71
  "use strict";
72
72
  module.exports = Object.freeze({
73
73
  "rules": {
@@ -273,9 +273,9 @@ var require_eslint_all = __commonJS({
273
273
  }
274
274
  });
275
275
 
276
- // ../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
276
+ // ../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
277
277
  var require_eslint_recommended = __commonJS({
278
- "../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports, module) {
278
+ "../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports, module) {
279
279
  "use strict";
280
280
  module.exports = Object.freeze({
281
281
  rules: Object.freeze({
@@ -345,9 +345,9 @@ var require_eslint_recommended = __commonJS({
345
345
  }
346
346
  });
347
347
 
348
- // ../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/index.js
348
+ // ../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/src/index.js
349
349
  var require_src = __commonJS({
350
- "../../node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/index.js"(exports, module) {
350
+ "../../node_modules/.pnpm/@eslint+js@9.21.0/node_modules/@eslint/js/src/index.js"(exports, module) {
351
351
  "use strict";
352
352
  var { name, version } = require_package();
353
353
  module.exports = {
@@ -374,7 +374,7 @@ import { default as default7 } from "eslint-plugin-jsx-a11y";
374
374
  import { default as default8 } from "eslint-plugin-vue";
375
375
  import { default as default9 } from "vue-eslint-parser";
376
376
  import { default as default10 } from "eslint-plugin-prettier";
377
- import { default as default11 } from "eslint-config-prettier";
377
+ import { default as default11 } from "eslint-plugin-prettier/recommended";
378
378
  import { default as default12 } from "eslint-plugin-sonarjs";
379
379
  import { default as default13 } from "eslint-plugin-security";
380
380
  import { default as default14 } from "eslint-plugin-playwright";
@@ -384,6 +384,7 @@ import { default as default17 } from "eslint-plugin-import";
384
384
  import { default as default18 } from "eslint-plugin-markdown";
385
385
  import { default as default19 } from "@eslint-community/eslint-plugin-eslint-comments/configs";
386
386
  import { default as default20 } from "eslint-plugin-unicorn";
387
+ import { default as default21 } from "eslint-plugin-de-morgan";
387
388
 
388
389
  // configs/javascript.ts
389
390
  var isProduction = process.env.NODE_ENV === "production";
@@ -495,6 +496,7 @@ var unicornConfig = {
495
496
  "unicorn/consistent-empty-array-spread": "error",
496
497
  "unicorn/consistent-existence-index-check": "error",
497
498
  "unicorn/consistent-function-scoping": ["error", { checkArrowFunctions: false }],
499
+ "unicorn/consistent-date-clone": "error",
498
500
  "unicorn/custom-error-definition": "error",
499
501
  "unicorn/error-message": "error",
500
502
  "unicorn/escape-case": "error",
@@ -512,7 +514,7 @@ var unicornConfig = {
512
514
  "unicorn/no-console-spaces": "error",
513
515
  "unicorn/no-for-loop": "error",
514
516
  "unicorn/no-hex-escape": "error",
515
- "unicorn/no-instanceof-array": "error",
517
+ "unicorn/no-instanceof-builtins": "error",
516
518
  "unicorn/no-invalid-remove-event-listener": "error",
517
519
  "unicorn/no-lonely-if": "error",
518
520
  "unicorn/no-negation-in-equality-check": "error",
@@ -560,21 +562,20 @@ var unicornConfig = {
560
562
 
561
563
  // configs/markdown.ts
562
564
  var markdownConfigs = default18.configs.recommended.map((config) => {
563
- const { name, rules: rules4 } = config;
565
+ const { name, rules: rules5 } = config;
564
566
  const baseConfig = {
565
567
  ...config,
566
568
  name: `component-hook/${name}`
567
569
  };
568
- if (rules4) {
570
+ if (rules5) {
569
571
  baseConfig.rules = {
570
- ...rules4,
572
+ ...rules5,
571
573
  "no-alert": "off",
572
574
  "no-console": "off",
573
575
  "no-restricted-imports": "off",
574
576
  "no-undef": "off",
575
577
  "no-unused-expressions": "off",
576
578
  "no-unused-vars": "off",
577
- "@typescript-eslint/comma-dangle": "off",
578
579
  "@typescript-eslint/consistent-type-imports": "off",
579
580
  "@typescript-eslint/no-extraneous-class": "off",
580
581
  "@typescript-eslint/no-namespace": "off",
@@ -585,7 +586,8 @@ var markdownConfigs = default18.configs.recommended.map((config) => {
585
586
  "@typescript-eslint/no-use-before-define": "off",
586
587
  "import/no-default-export": "off",
587
588
  "sonarjs/no-dead-store": "off",
588
- "sonarjs/sonar-no-unused-vars": "off"
589
+ "sonarjs/unused-import": "off",
590
+ "sonarjs/no-unused-vars": "off"
589
591
  };
590
592
  }
591
593
  return baseConfig;
@@ -597,16 +599,22 @@ var regexpConfig = {
597
599
  name: "component-hook/regexp"
598
600
  };
599
601
 
602
+ // configs/de-morgan.ts
603
+ var deMorganConfig = {
604
+ ...default21.configs.recommended,
605
+ name: "component-hook/de-morgan"
606
+ };
607
+
600
608
  // configs/prettier.ts
601
- var recommended = default10.configs?.recommended;
609
+ var rules3 = { ...default11.rules };
610
+ delete rules3["vue/html-self-closing"];
602
611
  var prettierConfig = {
603
612
  name: "component-hook/prettier",
604
613
  plugins: {
605
614
  prettier: default10
606
615
  },
607
616
  rules: {
608
- ...default11.rules,
609
- ...recommended.rules,
617
+ ...rules3,
610
618
  "prettier/prettier": "warn"
611
619
  }
612
620
  };
@@ -636,8 +644,7 @@ var sonarjsConfigs = [
636
644
  plugins: plugins2,
637
645
  rules: {
638
646
  ...default12.configs.recommended.rules,
639
- "sonarjs/no-commented-code": "warn",
640
- "sonarjs/no-vue-bypass-sanitization": "warn"
647
+ "sonarjs/no-commented-code": "warn"
641
648
  },
642
649
  settings
643
650
  },
@@ -697,7 +704,8 @@ var reactConfigs = [
697
704
  ];
698
705
 
699
706
  // configs/vue.ts
700
- var rules3 = {
707
+ var recommendedRules = default8.configs["flat/recommended"].map((config) => config.rules).reduce((acc, rules5) => ({ ...acc, ...rules5 }), {});
708
+ var rules4 = {
701
709
  "vue/block-order": ["error", { order: ["script", "template", "style"] }],
702
710
  "vue/custom-event-name-casing": ["error", "camelCase"],
703
711
  "vue/eqeqeq": ["error", "smart"],
@@ -747,6 +755,7 @@ var vueConfigs = [
747
755
  ...eslintConfigTypescript,
748
756
  {
749
757
  name: "component-hook/vue/globals",
758
+ files: ["**/*.vue"],
750
759
  languageOptions: {
751
760
  globals: {
752
761
  defineProps: "readonly",
@@ -784,11 +793,8 @@ var vueConfigs = [
784
793
  },
785
794
  processor: default8.processors[".vue"],
786
795
  rules: {
787
- ...default8.configs.base.rules,
788
- ...default8.configs["vue3-essential"].rules,
789
- ...default8.configs["vue3-strongly-recommended"].rules,
790
- ...default8.configs["vue3-recommended"].rules,
791
- ...rules3
796
+ ...recommendedRules,
797
+ ...rules4
792
798
  }
793
799
  }
794
800
  ];
@@ -850,7 +856,7 @@ var ignores = {
850
856
  "**/yarn.lock",
851
857
  "**/package-lock.json",
852
858
  "**/bun.lockb",
853
- "**/output",
859
+ "output",
854
860
  "**/coverage",
855
861
  "**/playwright-report",
856
862
  "**/temp",
@@ -884,6 +890,7 @@ var basicConfigs = [
884
890
  ...importConfigs,
885
891
  unicornConfig,
886
892
  regexpConfig,
893
+ deMorganConfig,
887
894
  {
888
895
  name: "component-hook/globals",
889
896
  languageOptions: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-hook/eslint-plugin",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "ESLint config for component hook",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,30 +34,30 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
37
- "@eslint/compat": "^1.2.5",
38
- "eslint-config-prettier": "^9.1.0",
37
+ "@eslint/compat": "^1.2.7",
38
+ "eslint-plugin-de-morgan": "^1.2.1",
39
39
  "eslint-plugin-import": "^2.31.0",
40
40
  "eslint-plugin-jsx-a11y": "^6.10.2",
41
41
  "eslint-plugin-markdown": "^5.1.0",
42
- "eslint-plugin-playwright": "^2.1.0",
42
+ "eslint-plugin-playwright": "^2.2.0",
43
43
  "eslint-plugin-prettier": "^5.2.3",
44
44
  "eslint-plugin-react": "^7.37.4",
45
- "eslint-plugin-react-hooks": "^5.1.0",
45
+ "eslint-plugin-react-hooks": "^5.2.0",
46
46
  "eslint-plugin-regexp": "^2.7.0",
47
47
  "eslint-plugin-security": "^3.0.1",
48
- "eslint-plugin-sonarjs": "^3.0.1",
48
+ "eslint-plugin-sonarjs": "^3.0.2",
49
49
  "eslint-plugin-testing-library": "^7.1.1",
50
- "eslint-plugin-unicorn": "^56.0.1",
51
- "eslint-plugin-vue": "^9.32.0",
52
- "globals": "^15.14.0",
53
- "typescript-eslint": "^8.21.0",
50
+ "eslint-plugin-unicorn": "^57.0.0",
51
+ "eslint-plugin-vue": "^10.0.0",
52
+ "globals": "^16.0.0",
53
+ "typescript-eslint": "^8.26.1",
54
54
  "vue-eslint-parser": "^9.4.3"
55
55
  },
56
56
  "devDependencies": {
57
- "@eslint/config-inspector": "^1.0.0",
57
+ "@eslint/config-inspector": "^1.0.2",
58
58
  "@types/eslint": "^9.6.1",
59
59
  "@types/eslint-plugin-security": "^3.0.0",
60
- "@types/eslint__js": "^8.42.3"
60
+ "@types/eslint__js": "^9.14.0"
61
61
  },
62
62
  "scripts": {
63
63
  "dev": "eslint-config-inspector --config ../../eslint.config.js",