@component-hook/eslint-plugin 0.1.4 → 0.1.5-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/README.md CHANGED
@@ -79,26 +79,27 @@ export default vuePreset;
79
79
 
80
80
  ## Configs
81
81
 
82
- | Name | Type | Reference |
83
- | ----------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------- |
84
- | basic | `Linter.Config[]` | `eslint-recommended`, `typescript-eslint`, `eslint-plugin-import`, `eslint-plugin-regexp` |
85
- | vue | `Linter.Config[]` | `eslint-plugin-vue`, `typescript-eslint` |
86
- | react | `Linter.Config[]` | `eslint-plugin-react/recommended`, `eslint-plugin-react-hooks/recommended`, `eslint-plugin-jsx-a11y/recommended` |
87
- | markdown | `Linter.Config[]` | `eslint-plugin-markdown/recommended` |
88
- | prettier | `Linter.Config` | `eslint-plugin-prettier/recommended`, `eslint-config-prettier` |
89
- | sonarjs | `Linter.Config[]` | `eslint-plugin-sonarjs/recommended` |
90
- | security | `Linter.Config` | `eslint-plugin-security/recommended` |
91
- | playwright | `Linter.Config` | `eslint-plugin-playwright/flat/recommended` |
92
- | testing-library/dom | `Linter.Config` | `eslint-plugin-testing-library/dom` |
93
- | testing-library/vue | `Linter.Config` | `eslint-plugin-testing-library/vue` |
94
- | testing-library/react | `Linter.Config` | `eslint-plugin-testing-library/react` |
95
- | testing-library/angular | `Linter.Config` | `eslint-plugin-testing-library/angular` |
96
- | testing-library/marko | `Linter.Config` | `eslint-plugin-testing-library/marko` |
82
+ | Name | Type | Reference |
83
+ | ----------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------- |
84
+ | basic | `Linter.Config[]` | `eslint-recommended`, `typescript-eslint`, `eslint-plugin-eslint-comments`, `eslint-plugin-import`, `eslint-plugin-regexp` |
85
+ | vue | `Linter.Config[]` | `eslint-plugin-vue`, `typescript-eslint` |
86
+ | react | `Linter.Config[]` | `eslint-plugin-react/recommended`, `eslint-plugin-react-hooks/recommended`, `eslint-plugin-jsx-a11y/recommended` |
87
+ | markdown | `Linter.Config[]` | `eslint-plugin-markdown/recommended` |
88
+ | prettier | `Linter.Config` | `eslint-plugin-prettier/recommended`, `eslint-config-prettier` |
89
+ | sonarjs | `Linter.Config[]` | `eslint-plugin-sonarjs/recommended` |
90
+ | security | `Linter.Config` | `eslint-plugin-security/recommended` |
91
+ | playwright | `Linter.Config` | `eslint-plugin-playwright/flat/recommended` |
92
+ | testing-library/dom | `Linter.Config` | `eslint-plugin-testing-library/dom` |
93
+ | testing-library/vue | `Linter.Config` | `eslint-plugin-testing-library/vue` |
94
+ | testing-library/react | `Linter.Config` | `eslint-plugin-testing-library/react` |
95
+ | testing-library/angular | `Linter.Config` | `eslint-plugin-testing-library/angular` |
96
+ | testing-library/marko | `Linter.Config` | `eslint-plugin-testing-library/marko` |
97
97
 
98
98
  ## Reference eslint plugin
99
99
 
100
100
  - [eslint-recommended](https://github.com/eslint/eslint/blob/main/packages/js/src/configs/eslint-recommended.js)
101
101
  - [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint)
102
+ - [eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments/blob/main/lib/configs/recommended.js)
102
103
  - [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import)
103
104
  - [eslint-plugin-regexp/flat/recommended](https://github.com/ota-meshi/eslint-plugin-regexp/blob/master/lib/configs/flat/recommended.ts)
104
105
  - [eslint-plugin-prettier/recommended](https://github.com/prettier/eslint-plugin-prettier/blob/master/recommended.js)
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import * as eslint_plugin_regexp from 'eslint-plugin-regexp';
2
+ import * as eslint_plugin_regexp_dist_types from 'eslint-plugin-regexp/dist/types';
1
3
  import * as eslint from 'eslint';
2
4
 
3
5
  declare const _default: {
@@ -18,6 +20,12 @@ declare const _default: {
18
20
  eqeqeq: string;
19
21
  };
20
22
  } | eslint.Linter.Config<eslint.Linter.RulesRecord> | {
23
+ name: string;
24
+ rules: Record<string, eslint_plugin_regexp_dist_types.SeverityString>;
25
+ plugins: {
26
+ regexp: typeof eslint_plugin_regexp;
27
+ };
28
+ } | {
21
29
  name: string;
22
30
  ignores: string[];
23
31
  } | {
@@ -1164,7 +1172,92 @@ declare const _default: {
1164
1172
  prettier: eslint.Linter.Config<eslint.Linter.RulesRecord>;
1165
1173
  sonarjs: eslint.Linter.Config<eslint.Linter.RulesRecord>[];
1166
1174
  security: eslint.Linter.Config<eslint.Linter.RulesRecord>;
1167
- playwright: eslint.Linter.Config<eslint.Linter.RulesRecord>;
1175
+ playwright: {
1176
+ name: string;
1177
+ languageOptions: {
1178
+ globals: any;
1179
+ };
1180
+ plugins: {
1181
+ playwright: {
1182
+ configs: {};
1183
+ rules: {
1184
+ "expect-expect": eslint.Rule.RuleModule;
1185
+ "max-expects": eslint.Rule.RuleModule;
1186
+ "max-nested-describe": eslint.Rule.RuleModule;
1187
+ "missing-playwright-await": eslint.Rule.RuleModule;
1188
+ "no-commented-out-tests": eslint.Rule.RuleModule;
1189
+ "no-conditional-expect": eslint.Rule.RuleModule;
1190
+ "no-conditional-in-test": eslint.Rule.RuleModule;
1191
+ "no-duplicate-hooks": eslint.Rule.RuleModule;
1192
+ "no-element-handle": eslint.Rule.RuleModule;
1193
+ "no-eval": eslint.Rule.RuleModule;
1194
+ "no-focused-test": eslint.Rule.RuleModule;
1195
+ "no-force-option": eslint.Rule.RuleModule;
1196
+ "no-get-by-title": eslint.Rule.RuleModule;
1197
+ "no-hooks": eslint.Rule.RuleModule;
1198
+ "no-nested-step": eslint.Rule.RuleModule;
1199
+ "no-networkidle": eslint.Rule.RuleModule;
1200
+ "no-nth-methods": eslint.Rule.RuleModule;
1201
+ "no-page-pause": eslint.Rule.RuleModule;
1202
+ "no-raw-locators": eslint.Rule.RuleModule;
1203
+ "no-restricted-matchers": eslint.Rule.RuleModule;
1204
+ "no-skipped-test": eslint.Rule.RuleModule;
1205
+ "no-standalone-expect": eslint.Rule.RuleModule;
1206
+ "no-unsafe-references": eslint.Rule.RuleModule;
1207
+ "no-useless-await": eslint.Rule.RuleModule;
1208
+ "no-useless-not": eslint.Rule.RuleModule;
1209
+ "no-wait-for-selector": eslint.Rule.RuleModule;
1210
+ "no-wait-for-timeout": eslint.Rule.RuleModule;
1211
+ "prefer-comparison-matcher": eslint.Rule.RuleModule;
1212
+ "prefer-equality-matcher": eslint.Rule.RuleModule;
1213
+ "prefer-hooks-in-order": eslint.Rule.RuleModule;
1214
+ "prefer-hooks-on-top": eslint.Rule.RuleModule;
1215
+ "prefer-lowercase-title": eslint.Rule.RuleModule;
1216
+ "prefer-strict-equal": eslint.Rule.RuleModule;
1217
+ "prefer-to-be": eslint.Rule.RuleModule;
1218
+ "prefer-to-contain": eslint.Rule.RuleModule;
1219
+ "prefer-to-have-count": eslint.Rule.RuleModule;
1220
+ "prefer-to-have-length": eslint.Rule.RuleModule;
1221
+ "prefer-web-first-assertions": eslint.Rule.RuleModule;
1222
+ "require-hook": eslint.Rule.RuleModule;
1223
+ "require-soft-assertions": eslint.Rule.RuleModule;
1224
+ "require-to-throw-message": eslint.Rule.RuleModule;
1225
+ "require-top-level-describe": eslint.Rule.RuleModule;
1226
+ "valid-describe-callback": eslint.Rule.RuleModule;
1227
+ "valid-expect": eslint.Rule.RuleModule;
1228
+ "valid-expect-in-promise": eslint.Rule.RuleModule;
1229
+ "valid-title": eslint.Rule.RuleModule;
1230
+ };
1231
+ };
1232
+ };
1233
+ rules: {
1234
+ readonly "no-empty-pattern": "off";
1235
+ readonly "playwright/expect-expect": "warn";
1236
+ readonly "playwright/max-nested-describe": "warn";
1237
+ readonly "playwright/missing-playwright-await": "error";
1238
+ readonly "playwright/no-conditional-expect": "warn";
1239
+ readonly "playwright/no-conditional-in-test": "warn";
1240
+ readonly "playwright/no-element-handle": "warn";
1241
+ readonly "playwright/no-eval": "warn";
1242
+ readonly "playwright/no-focused-test": "error";
1243
+ readonly "playwright/no-force-option": "warn";
1244
+ readonly "playwright/no-nested-step": "warn";
1245
+ readonly "playwright/no-networkidle": "error";
1246
+ readonly "playwright/no-page-pause": "warn";
1247
+ readonly "playwright/no-skipped-test": "warn";
1248
+ readonly "playwright/no-standalone-expect": "error";
1249
+ readonly "playwright/no-unsafe-references": "error";
1250
+ readonly "playwright/no-useless-await": "warn";
1251
+ readonly "playwright/no-useless-not": "warn";
1252
+ readonly "playwright/no-wait-for-selector": "warn";
1253
+ readonly "playwright/no-wait-for-timeout": "warn";
1254
+ readonly "playwright/prefer-web-first-assertions": "error";
1255
+ readonly "playwright/valid-describe-callback": "error";
1256
+ readonly "playwright/valid-expect": "error";
1257
+ readonly "playwright/valid-expect-in-promise": "error";
1258
+ readonly "playwright/valid-title": "error";
1259
+ };
1260
+ };
1168
1261
  'testing-library/dom': eslint.Linter.Config<eslint.Linter.RulesRecord>;
1169
1262
  'testing-library/vue': eslint.Linter.Config<eslint.Linter.RulesRecord>;
1170
1263
  'testing-library/react': eslint.Linter.Config<eslint.Linter.RulesRecord>;
@@ -1189,6 +1282,12 @@ declare const reactPreset: ({
1189
1282
  eqeqeq: string;
1190
1283
  };
1191
1284
  } | eslint.Linter.Config<eslint.Linter.RulesRecord> | {
1285
+ name: string;
1286
+ rules: Record<string, eslint_plugin_regexp_dist_types.SeverityString>;
1287
+ plugins: {
1288
+ regexp: typeof eslint_plugin_regexp;
1289
+ };
1290
+ } | {
1192
1291
  name: string;
1193
1292
  ignores: string[];
1194
1293
  } | {
@@ -2345,6 +2444,12 @@ declare const vuePreset: ({
2345
2444
  eqeqeq: string;
2346
2445
  };
2347
2446
  } | eslint.Linter.Config<eslint.Linter.RulesRecord> | {
2447
+ name: string;
2448
+ rules: Record<string, eslint_plugin_regexp_dist_types.SeverityString>;
2449
+ plugins: {
2450
+ regexp: typeof eslint_plugin_regexp;
2451
+ };
2452
+ } | {
2348
2453
  name: string;
2349
2454
  ignores: string[];
2350
2455
  } | {
@@ -3501,6 +3606,12 @@ declare const vueSkyline: ({
3501
3606
  eqeqeq: string;
3502
3607
  };
3503
3608
  } | eslint.Linter.Config<eslint.Linter.RulesRecord> | {
3609
+ name: string;
3610
+ rules: Record<string, eslint_plugin_regexp_dist_types.SeverityString>;
3611
+ plugins: {
3612
+ regexp: typeof eslint_plugin_regexp;
3613
+ };
3614
+ } | {
3504
3615
  name: string;
3505
3616
  ignores: string[];
3506
3617
  } | {
@@ -4647,6 +4758,92 @@ declare const vueSkyline: ({
4647
4758
  order: string[];
4648
4759
  })[];
4649
4760
  };
4761
+ } | {
4762
+ name: string;
4763
+ languageOptions: {
4764
+ globals: any;
4765
+ };
4766
+ plugins: {
4767
+ playwright: {
4768
+ configs: {};
4769
+ rules: {
4770
+ "expect-expect": eslint.Rule.RuleModule;
4771
+ "max-expects": eslint.Rule.RuleModule;
4772
+ "max-nested-describe": eslint.Rule.RuleModule;
4773
+ "missing-playwright-await": eslint.Rule.RuleModule;
4774
+ "no-commented-out-tests": eslint.Rule.RuleModule;
4775
+ "no-conditional-expect": eslint.Rule.RuleModule;
4776
+ "no-conditional-in-test": eslint.Rule.RuleModule;
4777
+ "no-duplicate-hooks": eslint.Rule.RuleModule;
4778
+ "no-element-handle": eslint.Rule.RuleModule;
4779
+ "no-eval": eslint.Rule.RuleModule;
4780
+ "no-focused-test": eslint.Rule.RuleModule;
4781
+ "no-force-option": eslint.Rule.RuleModule;
4782
+ "no-get-by-title": eslint.Rule.RuleModule;
4783
+ "no-hooks": eslint.Rule.RuleModule;
4784
+ "no-nested-step": eslint.Rule.RuleModule;
4785
+ "no-networkidle": eslint.Rule.RuleModule;
4786
+ "no-nth-methods": eslint.Rule.RuleModule;
4787
+ "no-page-pause": eslint.Rule.RuleModule;
4788
+ "no-raw-locators": eslint.Rule.RuleModule;
4789
+ "no-restricted-matchers": eslint.Rule.RuleModule;
4790
+ "no-skipped-test": eslint.Rule.RuleModule;
4791
+ "no-standalone-expect": eslint.Rule.RuleModule;
4792
+ "no-unsafe-references": eslint.Rule.RuleModule;
4793
+ "no-useless-await": eslint.Rule.RuleModule;
4794
+ "no-useless-not": eslint.Rule.RuleModule;
4795
+ "no-wait-for-selector": eslint.Rule.RuleModule;
4796
+ "no-wait-for-timeout": eslint.Rule.RuleModule;
4797
+ "prefer-comparison-matcher": eslint.Rule.RuleModule;
4798
+ "prefer-equality-matcher": eslint.Rule.RuleModule;
4799
+ "prefer-hooks-in-order": eslint.Rule.RuleModule;
4800
+ "prefer-hooks-on-top": eslint.Rule.RuleModule;
4801
+ "prefer-lowercase-title": eslint.Rule.RuleModule;
4802
+ "prefer-strict-equal": eslint.Rule.RuleModule;
4803
+ "prefer-to-be": eslint.Rule.RuleModule;
4804
+ "prefer-to-contain": eslint.Rule.RuleModule;
4805
+ "prefer-to-have-count": eslint.Rule.RuleModule;
4806
+ "prefer-to-have-length": eslint.Rule.RuleModule;
4807
+ "prefer-web-first-assertions": eslint.Rule.RuleModule;
4808
+ "require-hook": eslint.Rule.RuleModule;
4809
+ "require-soft-assertions": eslint.Rule.RuleModule;
4810
+ "require-to-throw-message": eslint.Rule.RuleModule;
4811
+ "require-top-level-describe": eslint.Rule.RuleModule;
4812
+ "valid-describe-callback": eslint.Rule.RuleModule;
4813
+ "valid-expect": eslint.Rule.RuleModule;
4814
+ "valid-expect-in-promise": eslint.Rule.RuleModule;
4815
+ "valid-title": eslint.Rule.RuleModule;
4816
+ };
4817
+ };
4818
+ };
4819
+ rules: {
4820
+ readonly "no-empty-pattern": "off";
4821
+ readonly "playwright/expect-expect": "warn";
4822
+ readonly "playwright/max-nested-describe": "warn";
4823
+ readonly "playwright/missing-playwright-await": "error";
4824
+ readonly "playwright/no-conditional-expect": "warn";
4825
+ readonly "playwright/no-conditional-in-test": "warn";
4826
+ readonly "playwright/no-element-handle": "warn";
4827
+ readonly "playwright/no-eval": "warn";
4828
+ readonly "playwright/no-focused-test": "error";
4829
+ readonly "playwright/no-force-option": "warn";
4830
+ readonly "playwright/no-nested-step": "warn";
4831
+ readonly "playwright/no-networkidle": "error";
4832
+ readonly "playwright/no-page-pause": "warn";
4833
+ readonly "playwright/no-skipped-test": "warn";
4834
+ readonly "playwright/no-standalone-expect": "error";
4835
+ readonly "playwright/no-unsafe-references": "error";
4836
+ readonly "playwright/no-useless-await": "warn";
4837
+ readonly "playwright/no-useless-not": "warn";
4838
+ readonly "playwright/no-wait-for-selector": "warn";
4839
+ readonly "playwright/no-wait-for-timeout": "warn";
4840
+ readonly "playwright/prefer-web-first-assertions": "error";
4841
+ readonly "playwright/valid-describe-callback": "error";
4842
+ readonly "playwright/valid-expect": "error";
4843
+ readonly "playwright/valid-expect-in-promise": "error";
4844
+ readonly "playwright/valid-title": "error";
4845
+ };
4846
+ files: string[];
4650
4847
  })[];
4651
4848
 
4652
4849
  export { _default as default, reactPreset, vuePreset, vueSkyline };
package/dist/index.js CHANGED
@@ -24,9 +24,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // ../../node_modules/.pnpm/@eslint+js@9.10.0/node_modules/@eslint/js/src/configs/eslint-all.js
27
+ // ../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-all.js
28
28
  var require_eslint_all = __commonJS({
29
- "../../node_modules/.pnpm/@eslint+js@9.10.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports, module) {
29
+ "../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-all.js"(exports, module) {
30
30
  "use strict";
31
31
  module.exports = Object.freeze({
32
32
  "rules": {
@@ -232,9 +232,9 @@ var require_eslint_all = __commonJS({
232
232
  }
233
233
  });
234
234
 
235
- // ../../node_modules/.pnpm/@eslint+js@9.10.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
235
+ // ../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-recommended.js
236
236
  var require_eslint_recommended = __commonJS({
237
- "../../node_modules/.pnpm/@eslint+js@9.10.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports, module) {
237
+ "../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports, module) {
238
238
  "use strict";
239
239
  module.exports = Object.freeze({
240
240
  rules: Object.freeze({
@@ -304,9 +304,9 @@ var require_eslint_recommended = __commonJS({
304
304
  }
305
305
  });
306
306
 
307
- // ../../node_modules/.pnpm/@eslint+js@9.10.0/node_modules/@eslint/js/src/index.js
307
+ // ../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/index.js
308
308
  var require_src = __commonJS({
309
- "../../node_modules/.pnpm/@eslint+js@9.10.0/node_modules/@eslint/js/src/index.js"(exports, module) {
309
+ "../../node_modules/.pnpm/@eslint+js@9.11.1/node_modules/@eslint/js/src/index.js"(exports, module) {
310
310
  "use strict";
311
311
  module.exports = {
312
312
  configs: {
@@ -336,6 +336,7 @@ import { default as default15 } from "eslint-plugin-testing-library";
336
336
  import { default as default16 } from "eslint-plugin-regexp";
337
337
  import { default as default17 } from "eslint-plugin-import";
338
338
  import { default as default18 } from "eslint-plugin-markdown";
339
+ import { default as default19 } from "@eslint-community/eslint-plugin-eslint-comments/configs";
339
340
 
340
341
  // configs/javascript.ts
341
342
  var isProduction = process.env.NODE_ENV === "production";
@@ -489,6 +490,20 @@ var prettierConfig = {
489
490
  }
490
491
  };
491
492
 
493
+ // configs/comments.ts
494
+ var commentsConfigs = [
495
+ {
496
+ ...default19.recommended,
497
+ name: "component-hook/comments/recommended"
498
+ },
499
+ {
500
+ name: "component-hook/comments",
501
+ rules: {
502
+ "@eslint-community/eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }]
503
+ }
504
+ }
505
+ ];
506
+
492
507
  // configs/sonarjs.ts
493
508
  var plugins2 = {
494
509
  sonarjs: fixupPluginRules(default12)
@@ -748,6 +763,7 @@ var ignores = {
748
763
  var basicConfigs = [
749
764
  ...jsConfigs,
750
765
  ...typescriptConfigs,
766
+ ...commentsConfigs,
751
767
  ...importConfigs,
752
768
  regexpConfig,
753
769
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-hook/eslint-plugin",
3
- "version": "0.1.4",
3
+ "version": "0.1.5-alpha.0",
4
4
  "description": "ESLint config for component hook",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -33,6 +33,7 @@
33
33
  "eslint": "^9.8.0"
34
34
  },
35
35
  "dependencies": {
36
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
36
37
  "@eslint/compat": "^1.1.1",
37
38
  "eslint-config-prettier": "^9.1.0",
38
39
  "eslint-plugin-import": "^2.30.0",
@@ -40,7 +41,7 @@
40
41
  "eslint-plugin-markdown": "^5.1.0",
41
42
  "eslint-plugin-playwright": "^1.6.2",
42
43
  "eslint-plugin-prettier": "^5.2.1",
43
- "eslint-plugin-react": "^7.36.1",
44
+ "eslint-plugin-react": "^7.37.0",
44
45
  "eslint-plugin-react-hooks": "^4.6.2",
45
46
  "eslint-plugin-regexp": "^2.6.0",
46
47
  "eslint-plugin-security": "^3.0.1",
@@ -48,7 +49,7 @@
48
49
  "eslint-plugin-testing-library": "^6.3.0",
49
50
  "eslint-plugin-vue": "^9.28.0",
50
51
  "globals": "^15.9.0",
51
- "typescript-eslint": "^8.5.0",
52
+ "typescript-eslint": "^8.7.0",
52
53
  "vue-eslint-parser": "^9.4.3"
53
54
  },
54
55
  "devDependencies": {
@@ -56,7 +57,7 @@
56
57
  "@types/eslint": "^9.6.1",
57
58
  "@types/eslint-plugin-security": "^3.0.0",
58
59
  "@types/eslint__js": "^8.42.3",
59
- "tsup": "^8.2.4"
60
+ "tsup": "^8.3.0"
60
61
  },
61
62
  "scripts": {
62
63
  "dev": "eslint-config-inspector --config ../../eslint.config.js",