@agilebot/eslint-plugin 0.4.5 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/dist/index.js +69 -24
  2. package/package.json +4 -2
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @agilebot/eslint-plugin v0.4.5
2
+ * @license @agilebot/eslint-plugin v0.5.0
3
3
  *
4
4
  * Copyright (c) Agilebot, Inc. and its affiliates.
5
5
  *
@@ -8,9 +8,11 @@
8
8
  */
9
9
  'use strict';
10
10
 
11
- var eslintUtils = require('@agilebot/eslint-utils');
11
+ var compat = require('@eslint/compat');
12
+ var utils = require('@typescript-eslint/utils');
12
13
  var fs = require('node:fs');
13
14
  var path = require('node:path');
15
+ var eslintUtils = require('@agilebot/eslint-utils');
14
16
 
15
17
  function _interopNamespaceDefault(e) {
16
18
  var n = Object.create(null);
@@ -33,9 +35,16 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
33
35
  var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
34
36
 
35
37
  const rule$1 = require('eslint-plugin-deprecation/dist/rules/deprecation')["default"];
36
- const compatRule$1 = eslintUtils.fixupRule(rule$1);
38
+ const compatRule$1 = compat.fixupRule(rule$1);
39
+
40
+ const docBaseUrl = 'https://github.com/sh-agilebot/frontend-toolkit/blob/master/packages/eslint-plugin/src/rules/';
41
+ const hasDocs = typeof ["enforce-mui-icon-alias","intl-id-missing","intl-id-prefix","intl-no-default","react-better-exhaustive-deps"] !== 'undefined' ?
42
+ ["enforce-mui-icon-alias","intl-id-missing","intl-id-prefix","intl-no-default","react-better-exhaustive-deps"] : [];
43
+ const createRule = utils.ESLintUtils.RuleCreator(name => hasDocs.includes(name) ? "".concat(docBaseUrl).concat(name, ".md") : "".concat(docBaseUrl).concat(name, ".test.ts"));
37
44
 
38
- var enforceMuiIconAlias = eslintUtils.createESLintRule({
45
+ const RULE_NAME$i = 'enforce-mui-icon-alias';
46
+ var enforceMuiIconAlias = createRule({
47
+ name: RULE_NAME$i,
39
48
  meta: {
40
49
  type: 'problem',
41
50
  docs: {
@@ -59,7 +68,7 @@ var enforceMuiIconAlias = eslintUtils.createESLintRule({
59
68
  if (specifier.type !== 'ImportSpecifier') {
60
69
  return;
61
70
  }
62
- if (specifier.imported.name === specifier.local.name) {
71
+ if (specifier.imported.name === specifier.local.name || !specifier.local.name.endsWith('Icon')) {
63
72
  context.report({
64
73
  node,
65
74
  messageId: 'iconAlias',
@@ -88,7 +97,9 @@ function warnOnce(message) {
88
97
  console.warn("Warning: ".concat(message));
89
98
  }
90
99
 
91
- var importMonorepo = eslintUtils.createESLintRule({
100
+ const RULE_NAME$h = 'import-monorepo';
101
+ var importMonorepo = createRule({
102
+ name: RULE_NAME$h,
92
103
  meta: {
93
104
  type: 'problem',
94
105
  docs: {
@@ -204,7 +215,9 @@ function getIntlIds(context) {
204
215
  return results;
205
216
  }
206
217
 
207
- var intlIdMissing = eslintUtils.createESLintRule({
218
+ const RULE_NAME$g = 'intl-id-missing';
219
+ var intlIdMissing = createRule({
220
+ name: RULE_NAME$g,
208
221
  meta: {
209
222
  type: 'problem',
210
223
  docs: {
@@ -292,7 +305,9 @@ var intlIdMissing = eslintUtils.createESLintRule({
292
305
  }
293
306
  });
294
307
 
295
- var intlIdNaming = eslintUtils.createESLintRule({
308
+ const RULE_NAME$f = 'intl-id-naming';
309
+ var intlIdNaming = createRule({
310
+ name: RULE_NAME$f,
296
311
  meta: {
297
312
  type: 'problem',
298
313
  docs: {
@@ -385,7 +400,9 @@ var intlIdNaming = eslintUtils.createESLintRule({
385
400
  }
386
401
  });
387
402
 
388
- var intlIdPrefix = eslintUtils.createESLintRule({
403
+ const RULE_NAME$e = 'intl-id-prefix';
404
+ var intlIdPrefix = createRule({
405
+ name: RULE_NAME$e,
389
406
  meta: {
390
407
  type: 'problem',
391
408
  docs: {
@@ -459,8 +476,10 @@ var intlIdPrefix = eslintUtils.createESLintRule({
459
476
  }
460
477
  });
461
478
 
479
+ const RULE_NAME$d = 'intl-id-unused';
462
480
  const usedIds = new Map();
463
- var intlIdUnused = eslintUtils.createESLintRule({
481
+ var intlIdUnused = createRule({
482
+ name: RULE_NAME$d,
464
483
  meta: {
465
484
  type: 'problem',
466
485
  docs: {
@@ -536,7 +555,9 @@ var intlIdUnused = eslintUtils.createESLintRule({
536
555
  }
537
556
  });
538
557
 
539
- var intlNoDefault = eslintUtils.createESLintRule({
558
+ const RULE_NAME$c = 'intl-no-default';
559
+ var intlNoDefault = createRule({
560
+ name: RULE_NAME$c,
540
561
  meta: {
541
562
  type: 'problem',
542
563
  docs: {
@@ -578,7 +599,9 @@ var intlNoDefault = eslintUtils.createESLintRule({
578
599
  }
579
600
  });
580
601
 
581
- var noAsyncArrayMethods = eslintUtils.createESLintRule({
602
+ const RULE_NAME$b = 'no-async-array-methods';
603
+ var noAsyncArrayMethods = createRule({
604
+ name: RULE_NAME$b,
582
605
  meta: {
583
606
  type: 'problem',
584
607
  docs: {
@@ -620,7 +643,9 @@ var noAsyncArrayMethods = eslintUtils.createESLintRule({
620
643
  }
621
644
  });
622
645
 
623
- var noImportCss = eslintUtils.createESLintRule({
646
+ const RULE_NAME$a = 'no-import-css';
647
+ var noImportCss = createRule({
648
+ name: RULE_NAME$a,
624
649
  meta: {
625
650
  type: 'problem',
626
651
  docs: {
@@ -651,7 +676,9 @@ var noImportCss = eslintUtils.createESLintRule({
651
676
  }
652
677
  });
653
678
 
654
- var noThenCatchFinally = eslintUtils.createESLintRule({
679
+ const RULE_NAME$9 = 'no-then-catch-finally';
680
+ var noThenCatchFinally = createRule({
681
+ name: RULE_NAME$9,
655
682
  meta: {
656
683
  type: 'suggestion',
657
684
  docs: {
@@ -711,7 +738,9 @@ var noThenCatchFinally = eslintUtils.createESLintRule({
711
738
  }
712
739
  });
713
740
 
714
- var noUnnecessaryTemplateLiterals = eslintUtils.createESLintRule({
741
+ const RULE_NAME$8 = 'no-unnecessary-template-literals';
742
+ var noUnnecessaryTemplateLiterals = createRule({
743
+ name: RULE_NAME$8,
715
744
  meta: {
716
745
  type: 'problem',
717
746
  docs: {
@@ -1945,7 +1974,9 @@ function isAncestorNodeOf(a, b) {
1945
1974
  }
1946
1975
 
1947
1976
  const Components = require('eslint-plugin-react/lib/util/Components');
1948
- var reactHookUseRef = eslintUtils.createESLintRule({
1977
+ const RULE_NAME$7 = 'react-hook-use-ref';
1978
+ var reactHookUseRef = createRule({
1979
+ name: RULE_NAME$7,
1949
1980
  meta: {
1950
1981
  type: 'suggestion',
1951
1982
  docs: {
@@ -1979,6 +2010,7 @@ var reactHookUseRef = eslintUtils.createESLintRule({
1979
2010
  }))
1980
2011
  });
1981
2012
 
2013
+ const RULE_NAME$6 = 'react-prefer-named-property-access';
1982
2014
  function* updateImportStatement(context, fixer, key) {
1983
2015
  const sourceCode = context.sourceCode;
1984
2016
  const importNode = sourceCode.ast.body.find(node => node.type === 'ImportDeclaration' && node.source.value === 'react');
@@ -1996,7 +2028,8 @@ function* updateImportStatement(context, fixer, key) {
1996
2028
  }
1997
2029
  yield fixer.insertTextAfter([...importNode.specifiers].pop(), ", ".concat(key));
1998
2030
  }
1999
- var reactPreferNamedPropertyAccess = eslintUtils.createESLintRule({
2031
+ var reactPreferNamedPropertyAccess = createRule({
2032
+ name: RULE_NAME$6,
2000
2033
  meta: {
2001
2034
  type: 'problem',
2002
2035
  fixable: 'code',
@@ -2062,7 +2095,9 @@ var reactPreferNamedPropertyAccess = eslintUtils.createESLintRule({
2062
2095
  }
2063
2096
  });
2064
2097
 
2065
- var reactPreferSxProp = eslintUtils.createESLintRule({
2098
+ const RULE_NAME$5 = 'react-prefer-sx-prop';
2099
+ var reactPreferSxProp = createRule({
2100
+ name: RULE_NAME$5,
2066
2101
  meta: {
2067
2102
  type: 'problem',
2068
2103
  docs: {
@@ -2134,7 +2169,7 @@ var reactPreferSxProp = eslintUtils.createESLintRule({
2134
2169
 
2135
2170
  const pluginReactHooks = require('eslint-plugin-react-hooks');
2136
2171
  const rule = pluginReactHooks.rules['rules-of-hooks'];
2137
- const compatRule = eslintUtils.fixupRule(rule);
2172
+ const compatRule = compat.fixupRule(rule);
2138
2173
  compatRule.meta.docs.recommended = false;
2139
2174
 
2140
2175
  function getBasicIdentifier(node) {
@@ -2226,7 +2261,9 @@ function loopStylesObj(node, callback) {
2226
2261
  }
2227
2262
  }
2228
2263
 
2229
- var tssClassNaming = eslintUtils.createESLintRule({
2264
+ const RULE_NAME$4 = 'tss-class-naming';
2265
+ var tssClassNaming = createRule({
2266
+ name: RULE_NAME$4,
2230
2267
  meta: {
2231
2268
  type: 'problem',
2232
2269
  docs: {
@@ -2420,7 +2457,9 @@ var colors = {
2420
2457
  yellowgreen: [154, 205, 50]
2421
2458
  };
2422
2459
 
2423
- var tssNoColorName = eslintUtils.createESLintRule({
2460
+ const RULE_NAME$3 = 'tss-no-color-name';
2461
+ var tssNoColorName = createRule({
2462
+ name: RULE_NAME$3,
2424
2463
  meta: {
2425
2464
  type: 'suggestion',
2426
2465
  docs: {
@@ -2454,7 +2493,9 @@ var tssNoColorName = eslintUtils.createESLintRule({
2454
2493
  }
2455
2494
  });
2456
2495
 
2457
- var tssNoColorValue = eslintUtils.createESLintRule({
2496
+ const RULE_NAME$2 = 'tss-no-color-value';
2497
+ var tssNoColorValue = createRule({
2498
+ name: RULE_NAME$2,
2458
2499
  meta: {
2459
2500
  type: 'problem',
2460
2501
  docs: {
@@ -2491,7 +2532,9 @@ var tssNoColorValue = eslintUtils.createESLintRule({
2491
2532
  }
2492
2533
  });
2493
2534
 
2494
- var tssUnusedClasses = eslintUtils.createESLintRule({
2535
+ const RULE_NAME$1 = 'tss-unused-classes';
2536
+ var tssUnusedClasses = createRule({
2537
+ name: RULE_NAME$1,
2495
2538
  meta: {
2496
2539
  type: 'suggestion',
2497
2540
  docs: {
@@ -2581,11 +2624,13 @@ var tssUnusedClasses = eslintUtils.createESLintRule({
2581
2624
  }
2582
2625
  });
2583
2626
 
2627
+ const RULE_NAME = 'var-naming';
2584
2628
  const reactGlobalFuncs = new Set(['createContext', 'forwardRef', 'lazy', 'memo', 'combineProviders']);
2585
2629
  const reactFCTypes = new Set(['FC', 'FunctionComponent', 'VFC', 'VoidFunctionComponent']);
2586
2630
  const otherTypes = new Set(['StoryObj', 'StoryFn']);
2587
2631
  const defaultExcludes = ['^(__dirname|__filename)$', '(.*)Event$'];
2588
- var varNaming = eslintUtils.createESLintRule({
2632
+ var varNaming = createRule({
2633
+ name: RULE_NAME,
2589
2634
  meta: {
2590
2635
  type: 'problem',
2591
2636
  docs: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilebot/eslint-plugin",
3
- "version": "0.4.5",
3
+ "version": "0.5.0",
4
4
  "description": "Agilebot's ESLint plugin",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,10 +18,12 @@
18
18
  "node": "^18.18.0 || >=20.0.0"
19
19
  },
20
20
  "dependencies": {
21
+ "@eslint/compat": "^1.1.1",
22
+ "@typescript-eslint/utils": "~8.5.0",
21
23
  "eslint-plugin-deprecation": "^3.0.0",
22
24
  "eslint-plugin-react": "^7.35.0",
23
25
  "eslint-plugin-react-hooks": "^4.6.2",
24
- "@agilebot/eslint-utils": "0.4.5"
26
+ "@agilebot/eslint-utils": "0.5.0"
25
27
  },
26
28
  "peerDependencies": {
27
29
  "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"