@agilebot/eslint-plugin 0.8.10 → 0.9.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 (3) hide show
  1. package/dist/index.js +146 -214
  2. package/package.json +6 -7
  3. package/dist/index.mjs +0 -2763
package/dist/index.js CHANGED
@@ -1,41 +1,15 @@
1
- /**
2
- * @license @agilebot/eslint-plugin v0.8.10
3
- *
4
- * Copyright (c) Agilebot, Inc. and its affiliates.
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
1
+ import { createRequire } from "node:module";
2
+ import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
3
+ import * as fs from "node:fs";
4
+ import * as path$1 from "node:path";
5
+ import path from "node:path";
6
+ import { isCamelCase, isPascalCase, tsImport } from "@agilebot/eslint-utils";
7
+ import * as Components from "eslint-plugin-react/lib/util/Components.js";
9
8
 
10
9
  //#region rolldown:runtime
11
- var __create = Object.create;
12
- var __defProp = Object.defineProperty;
13
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14
- var __getOwnPropNames = Object.getOwnPropertyNames;
15
- var __getProtoOf = Object.getPrototypeOf;
16
- var __hasOwnProp = Object.prototype.hasOwnProperty;
17
- var __copyProps = (to, from, except, desc) => {
18
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
19
- key = keys[i];
20
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
21
- get: ((k) => from[k]).bind(null, key),
22
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23
- });
24
- }
25
- return to;
26
- };
27
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
30
- }) : target, mod));
10
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
31
11
 
32
12
  //#endregion
33
- const __typescript_eslint_utils = __toESM(require("@typescript-eslint/utils"));
34
- const node_fs = __toESM(require("node:fs"));
35
- const node_path = __toESM(require("node:path"));
36
- const __agilebot_eslint_utils = __toESM(require("@agilebot/eslint-utils"));
37
- const eslint_plugin_react_lib_util_Components_js = __toESM(require("eslint-plugin-react/lib/util/Components.js"));
38
-
39
13
  //#region src/util/rule.js
40
14
  const docBaseUrl = "https://github.com/sh-agilebot/frontend-toolkit/blob/master/packages/eslint-plugin/src/rules/";
41
15
  const hasDocs = [
@@ -45,7 +19,7 @@ const hasDocs = [
45
19
  "intl-no-default",
46
20
  "react-better-exhaustive-deps"
47
21
  ];
48
- const createRule = __typescript_eslint_utils.ESLintUtils.RuleCreator((name) => hasDocs.includes(name) ? `${docBaseUrl}${name}.md` : `${docBaseUrl}${name}.test.js`);
22
+ const createRule = ESLintUtils.RuleCreator((name) => hasDocs.includes(name) ? `${docBaseUrl}${name}.md` : `${docBaseUrl}${name}.test.js`);
49
23
 
50
24
  //#endregion
51
25
  //#region src/rules/enforce-mui-icon-alias.js
@@ -67,7 +41,7 @@ var enforce_mui_icon_alias_default = createRule({
67
41
  return { ImportDeclaration(node) {
68
42
  if (node.source.value !== "@mui/icons-material" && node.source.value !== "mdi-material-ui") return;
69
43
  for (const specifier of node.specifiers) {
70
- if (specifier.type !== __typescript_eslint_utils.AST_NODE_TYPES.ImportSpecifier) return;
44
+ if (specifier.type !== AST_NODE_TYPES.ImportSpecifier) return;
71
45
  if (specifier.imported.name === specifier.local.name || !specifier.local.name.endsWith("Icon")) context.report({
72
46
  node,
73
47
  messageId: "iconAlias",
@@ -82,15 +56,10 @@ var enforce_mui_icon_alias_default = createRule({
82
56
  //#endregion
83
57
  //#region src/util/context.js
84
58
  /**
85
-
86
59
  * Get a setting from eslint config
87
-
88
60
  * @param {import('eslint').Rule.RuleContext} context - Context
89
-
90
61
  * @param {string} name - Name
91
-
92
62
  * @returns {*} - result
93
-
94
63
  */
95
64
  function getSetting(context, name) {
96
65
  return context.settings[`agilebot/${name}`];
@@ -142,8 +111,8 @@ var import_monorepo_default = createRule({
142
111
  * @returns {*} node - returns node if it finds the attribute.
143
112
  */
144
113
  function findFormatMessageAttrNode(node, attrName) {
145
- if (node.type === __typescript_eslint_utils.AST_NODE_TYPES.CallExpression && (node.callee.name === "formatMessage" || node.callee.name === "$t") && node.arguments.length > 0 && node.arguments[0].properties) return node.arguments[0].properties.find((a) => a.key && a.key.name === attrName);
146
- if (node.type === __typescript_eslint_utils.AST_NODE_TYPES.CallExpression && node.callee.type === __typescript_eslint_utils.AST_NODE_TYPES.MemberExpression && (node.callee.object.name === "intl" || node.callee.object.name && node.callee.object.name.endsWith("Intl")) && (node.callee.property.name === "formatMessage" || node.callee.property.name === "$t")) return node.arguments[0].properties.find((a) => a.key && a.key.name === attrName);
114
+ if (node.type === AST_NODE_TYPES.CallExpression && (node.callee.name === "formatMessage" || node.callee.name === "$t") && node.arguments.length > 0 && node.arguments[0].properties) return node.arguments[0].properties.find((a) => a.key && a.key.name === attrName);
115
+ if (node.type === AST_NODE_TYPES.CallExpression && node.callee.type === AST_NODE_TYPES.MemberExpression && (node.callee.object.name === "intl" || node.callee.object.name && node.callee.object.name.endsWith("Intl")) && (node.callee.property.name === "formatMessage" || node.callee.property.name === "$t")) return node.arguments[0].properties.find((a) => a.key && a.key.name === attrName);
147
116
  }
148
117
  /**
149
118
  * Finds an attribute in FormattedMessage using attribute name.
@@ -152,7 +121,7 @@ function findFormatMessageAttrNode(node, attrName) {
152
121
  * @returns {*} node - returns node if it finds the attribute.
153
122
  */
154
123
  function findFormattedMessageAttrNode(node, attrName) {
155
- if (node.type === __typescript_eslint_utils.AST_NODE_TYPES.JSXIdentifier && node.name === "FormattedMessage" && node.parent && node.parent.type === __typescript_eslint_utils.AST_NODE_TYPES.JSXOpeningElement) return node.parent.attributes.find((a) => a.name && a.name.name === attrName);
124
+ if (node.type === AST_NODE_TYPES.JSXIdentifier && node.name === "FormattedMessage" && node.parent && node.parent.type === AST_NODE_TYPES.JSXOpeningElement) return node.parent.attributes.find((a) => a.name && a.name.name === attrName);
156
125
  }
157
126
  /**
158
127
  * Finds an attribute in defineMessages using attribute name.
@@ -161,7 +130,7 @@ function findFormattedMessageAttrNode(node, attrName) {
161
130
  * @returns {*} node - returns node if it finds the attribute.
162
131
  */
163
132
  function findAttrNodeInDefineMessages(node, attrName) {
164
- if (node.type === "Property" && node.key.name === attrName && node.parent && node.parent.parent && node.parent.parent.parent && node.parent.parent.parent.parent && node.parent.parent.parent.parent.type === __typescript_eslint_utils.AST_NODE_TYPES.CallExpression && node.parent.parent.parent.parent.callee.name === "defineMessages") return node;
133
+ if (node.type === "Property" && node.key.name === attrName && node.parent && node.parent.parent && node.parent.parent.parent && node.parent.parent.parent.parent && node.parent.parent.parent.parent.type === AST_NODE_TYPES.CallExpression && node.parent.parent.parent.parent.callee.name === "defineMessages") return node;
165
134
  }
166
135
  /**
167
136
  * Finds an attribute in defineMessages using attribute name.
@@ -170,7 +139,7 @@ function findAttrNodeInDefineMessages(node, attrName) {
170
139
  * @returns {*} node - returns node if it finds the attribute.
171
140
  */
172
141
  function findAttrNodeInDefineMessage(node, attrName) {
173
- if (node.type === "Property" && node.key.name === attrName && node.parent && node.parent.parent && node.parent.parent.type === __typescript_eslint_utils.AST_NODE_TYPES.CallExpression && node.parent.parent.callee.name === "defineMessage") return node;
142
+ if (node.type === "Property" && node.key.name === attrName && node.parent && node.parent.parent && node.parent.parent.type === AST_NODE_TYPES.CallExpression && node.parent.parent.callee.name === "defineMessage") return node;
174
143
  }
175
144
  /**
176
145
  * Returns a sorted array of nodes, based on their starting posting in the locale id.
@@ -192,23 +161,15 @@ function templateLiteralDisplayStr(node) {
192
161
  //#endregion
193
162
  //#region src/util/translations.js
194
163
  /**
195
-
196
164
  * Map of locale file paths to keys and modified time
197
-
198
165
  * @type {Record<string, {keys: Array<string>, mtime: number}>}
199
-
200
166
  */
201
167
  const localeFilesKeys = {};
202
168
  /**
203
-
204
169
  * Get a list of ids keys from reading locale files
205
-
206
170
  * Keeps track of modified times and reloads if changed,; useful for realtime eslint in-editor
207
-
208
171
  * @param {import('eslint').Rule.RuleContext} context - Context
209
-
210
172
  * @returns {string[]} results - Array of ids
211
-
212
173
  */
213
174
  function getIntlIds(context) {
214
175
  const projectRoot = getSetting(context, "project-root");
@@ -216,16 +177,16 @@ function getIntlIds(context) {
216
177
  if (!localeFiles) throw new Error("localeFiles not in settings");
217
178
  const results = [];
218
179
  localeFiles.forEach((f) => {
219
- const fullPath = projectRoot ? node_path.join(projectRoot, f) : f;
220
- const mtime = node_fs.lstatSync(fullPath).mtime.getTime();
180
+ const fullPath = projectRoot ? path$1.join(projectRoot, f) : f;
181
+ const mtime = fs.lstatSync(fullPath).mtime.getTime();
221
182
  if (!localeFilesKeys[fullPath] || mtime !== localeFilesKeys[fullPath].mtime) {
222
183
  let json;
223
- if (fullPath.endsWith(".json")) json = JSON.parse(node_fs.readFileSync(fullPath, "utf8"));
184
+ if (fullPath.endsWith(".json")) json = JSON.parse(fs.readFileSync(fullPath, "utf8"));
224
185
  else if (fullPath.endsWith(".ts")) {
225
- json = (0, __agilebot_eslint_utils.tsImport)(fullPath);
186
+ json = tsImport(fullPath);
226
187
  if (typeof json === "object" && json.default) json = json.default;
227
188
  } else if (fullPath.endsWith(".js")) {
228
- json = require(fullPath);
189
+ json = __require(fullPath);
229
190
  if (typeof json === "object" && json.default) json = json.default;
230
191
  } else throw new Error("unsupported file extension");
231
192
  localeFilesKeys[fullPath] = {
@@ -272,17 +233,16 @@ var intl_id_missing_default = createRule({
272
233
  }
273
234
  function processTemplateLiteral(node) {
274
235
  const exStr = sortedTemplateElements(node).map((e) => !e.value ? ".*" : e.value.raw).join("");
275
- const re = new RegExp(exStr);
276
- if (!isTemplateTranslated(re)) context.report({
236
+ if (!isTemplateTranslated(new RegExp(exStr))) context.report({
277
237
  node,
278
238
  messageId: "missingIdPattern",
279
239
  data: { value: templateLiteralDisplayStr(node) }
280
240
  });
281
241
  }
282
242
  function processAttrNode(node) {
283
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal) return processLiteral(node.value);
284
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
285
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
243
+ if (node.value.type === AST_NODE_TYPES.Literal) return processLiteral(node.value);
244
+ if (node.value.type === AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
245
+ if (node.value.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
286
246
  context.report({
287
247
  node,
288
248
  messageId: "disallowInvoke",
@@ -332,10 +292,10 @@ var intl_id_naming_default = createRule({
332
292
  let isPass;
333
293
  for (const v of values) switch (format) {
334
294
  case "camelCase":
335
- if (!(0, __agilebot_eslint_utils.isCamelCase)(v)) isPass = false;
295
+ if (!isCamelCase(v)) isPass = false;
336
296
  break;
337
297
  case "PascalCase":
338
- if (!(0, __agilebot_eslint_utils.isPascalCase)(v)) isPass = false;
298
+ if (!isPascalCase(v)) isPass = false;
339
299
  break;
340
300
  }
341
301
  if (isPass === false) context.report({
@@ -348,13 +308,12 @@ var intl_id_naming_default = createRule({
348
308
  report(node, node.value);
349
309
  }
350
310
  function processTemplateLiteral(node) {
351
- const displayStr = templateLiteralDisplayStr(node);
352
- report(node, displayStr);
311
+ report(node, templateLiteralDisplayStr(node));
353
312
  }
354
313
  function processAttrNode(node) {
355
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal) return processLiteral(node.value);
356
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
357
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
314
+ if (node.value.type === AST_NODE_TYPES.Literal) return processLiteral(node.value);
315
+ if (node.value.type === AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
316
+ if (node.value.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
358
317
  }
359
318
  return {
360
319
  JSXIdentifier: function(node) {
@@ -402,13 +361,12 @@ var intl_id_prefix_default = createRule({
402
361
  report(node, node.value);
403
362
  }
404
363
  function processTemplateLiteral(node) {
405
- const displayStr = templateLiteralDisplayStr(node);
406
- report(node, displayStr);
364
+ report(node, templateLiteralDisplayStr(node));
407
365
  }
408
366
  function processAttrNode(node) {
409
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal) return processLiteral(node.value);
410
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
411
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
367
+ if (node.value.type === AST_NODE_TYPES.Literal) return processLiteral(node.value);
368
+ if (node.value.type === AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
369
+ if (node.value.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
412
370
  }
413
371
  return {
414
372
  JSXIdentifier: function(node) {
@@ -458,13 +416,12 @@ var intl_id_unused_default = createRule({
458
416
  }
459
417
  function processTemplateLiteral(node) {
460
418
  const exStr = sortedTemplateElements(node).map((e) => !e.value ? ".*" : e.value.raw).join("");
461
- const re = new RegExp(exStr);
462
- if (isTemplateTranslated(re)) {}
419
+ if (isTemplateTranslated(new RegExp(exStr))) {}
463
420
  }
464
421
  function processAttrNode(node) {
465
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal) return processLiteral(node.value);
466
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
467
- if (node.value.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
422
+ if (node.value.type === AST_NODE_TYPES.Literal) return processLiteral(node.value);
423
+ if (node.value.type === AST_NODE_TYPES.JSXExpressionContainer && node.value.expression.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value.expression);
424
+ if (node.value.type === AST_NODE_TYPES.TemplateLiteral) return processTemplateLiteral(node.value);
468
425
  }
469
426
  return {
470
427
  JSXIdentifier: function(node) {
@@ -481,8 +438,8 @@ var intl_id_unused_default = createRule({
481
438
  },
482
439
  "Program:exit": function() {
483
440
  const unusedIds = [...translatedIdSet].filter((id) => !usedIdSet.has(id));
484
- const jsonPath = node_path.join(projectRoot, "intl-unused.json");
485
- node_fs.writeFileSync(jsonPath, JSON.stringify(unusedIds, null, 2));
441
+ const jsonPath = path$1.join(projectRoot, "intl-unused.json");
442
+ fs.writeFileSync(jsonPath, JSON.stringify(unusedIds, null, 2));
486
443
  }
487
444
  };
488
445
  }
@@ -559,7 +516,7 @@ var no_async_array_methods_default = createRule({
559
516
  if (!callee || !callee.property || !callee.property.name) return;
560
517
  if (notAllowedArrayMethods.includes(callee.property.name)) {
561
518
  const functionArguments = node.expression.arguments.find((n) => {
562
- return [__typescript_eslint_utils.AST_NODE_TYPES.ArrowFunctionExpression, __typescript_eslint_utils.AST_NODE_TYPES.FunctionExpression].includes(n.type);
519
+ return [AST_NODE_TYPES.ArrowFunctionExpression, AST_NODE_TYPES.FunctionExpression].includes(n.type);
563
520
  });
564
521
  if (functionArguments && functionArguments.async) context.report({
565
522
  node,
@@ -588,7 +545,7 @@ var no_extends_error_default = createRule({
588
545
  defaultOptions: [],
589
546
  create(context) {
590
547
  return { ClassDeclaration(node) {
591
- if (node.superClass && node.superClass.type === __typescript_eslint_utils.AST_NODE_TYPES.Identifier && node.superClass.name === "Error") context.report({
548
+ if (node.superClass && node.superClass.type === AST_NODE_TYPES.Identifier && node.superClass.name === "Error") context.report({
592
549
  node: node.superClass,
593
550
  messageId: "noExtendsError"
594
551
  });
@@ -613,7 +570,7 @@ var no_import_css_default = createRule({
613
570
  defaultOptions: [],
614
571
  create(context) {
615
572
  return { ImportDeclaration(node) {
616
- const ext = node_path.default.extname(node.source.value);
573
+ const ext = path.extname(node.source.value);
617
574
  if (ext.startsWith(".css") || ext.startsWith(".scss") || ext.startsWith(".sass") || ext.startsWith(".less") || ext.startsWith(".styl")) context.report({
618
575
  node,
619
576
  messageId: "noImportCSS",
@@ -643,8 +600,7 @@ var no_then_catch_finally_default = createRule({
643
600
  },
644
601
  defaultOptions: [],
645
602
  create(context) {
646
- const configuration = context.options[0] || {};
647
- const restrictedFunctions = configuration.restrictedFunctions || [];
603
+ const restrictedFunctions = (context.options[0] || {}).restrictedFunctions || [];
648
604
  const getScope = typeof context.getScope === "function" ? () => {
649
605
  return context.getScope();
650
606
  } : (node) => {
@@ -665,11 +621,11 @@ var no_then_catch_finally_default = createRule({
665
621
  function isThenCatchFinally(node) {
666
622
  return node.property && (node.property.name === "then" || node.property.name === "catch" || node.property.name === "finally");
667
623
  }
668
- return { [`${__typescript_eslint_utils.AST_NODE_TYPES.CallExpression} > ${__typescript_eslint_utils.AST_NODE_TYPES.MemberExpression}.callee`]: (node) => {
624
+ return { [`${AST_NODE_TYPES.CallExpression} > ${AST_NODE_TYPES.MemberExpression}.callee`]: (node) => {
669
625
  if (isTopLevelScoped(node)) return;
670
626
  if (!isThenCatchFinally(node)) return;
671
627
  const callExpression = node.object;
672
- if (callExpression.type === __typescript_eslint_utils.AST_NODE_TYPES.CallExpression && callExpression.callee.type === __typescript_eslint_utils.AST_NODE_TYPES.Identifier && restrictedFunctions.includes(callExpression.callee.name)) context.report({
628
+ if (callExpression.type === AST_NODE_TYPES.CallExpression && callExpression.callee.type === AST_NODE_TYPES.Identifier && restrictedFunctions.includes(callExpression.callee.name)) context.report({
673
629
  node: node.property,
674
630
  messageId: "forbiddenThenCatchFinally",
675
631
  data: { name: callExpression.callee.name }
@@ -759,15 +715,12 @@ var react_better_exhaustive_deps_default = {
759
715
  create(context) {
760
716
  const additionalHooks = context.options && context.options[0] && context.options[0].additionalHooks ? new RegExp(context.options[0].additionalHooks) : void 0;
761
717
  const enableDangerousAutofixThisMayCauseInfiniteLoops = context.options && context.options[0] && context.options[0].enableDangerousAutofixThisMayCauseInfiniteLoops || false;
762
- const customHooks = context.options && context.options[0] && context.options[0].customHooks || {};
763
- const staticHooks = context.options && context.options[0] && context.options[0].staticHooks || {};
764
- const checkMemoizedVariableIsStatic = context.options && context.options[0] && context.options[0].checkMemoizedVariableIsStatic || false;
765
718
  const options = {
766
719
  additionalHooks,
767
720
  enableDangerousAutofixThisMayCauseInfiniteLoops,
768
- customHooks,
769
- staticHooks,
770
- checkMemoizedVariableIsStatic
721
+ customHooks: context.options && context.options[0] && context.options[0].customHooks || {},
722
+ staticHooks: context.options && context.options[0] && context.options[0].staticHooks || {},
723
+ checkMemoizedVariableIsStatic: context.options && context.options[0] && context.options[0].checkMemoizedVariableIsStatic || false
771
724
  };
772
725
  function reportProblem(problem) {
773
726
  if (enableDangerousAutofixThisMayCauseInfiniteLoops && Array.isArray(problem.suggest) && problem.suggest.length > 0) problem.fix = problem.suggest[0].fix;
@@ -951,8 +904,7 @@ var react_better_exhaustive_deps_default = {
951
904
  for (const reference of currentScope.references) {
952
905
  if (!reference.resolved) continue;
953
906
  if (!pureScopes.has(reference.resolved.scope)) continue;
954
- const referenceNode = fastFindReferenceWithParent(node, reference.identifier);
955
- const dependencyNode = getDependency(referenceNode);
907
+ const dependencyNode = getDependency(fastFindReferenceWithParent(node, reference.identifier));
956
908
  const dependency = analyzePropertyChain(dependencyNode, optionalChains);
957
909
  if (isEffect && dependencyNode.type === "Identifier" && (dependencyNode.parent.type === "MemberExpression" || dependencyNode.parent.type === "OptionalMemberExpression") && !dependencyNode.parent.computed && dependencyNode.parent.property.type === "Identifier" && dependencyNode.parent.property.name === "current" && isInsideEffectCleanup(reference)) currentRefsInEffectCleanup.set(dependency, {
958
910
  reference,
@@ -1014,12 +966,10 @@ var react_better_exhaustive_deps_default = {
1014
966
  references.forEach((reference) => {
1015
967
  if (setStateInsideEffectWithoutDeps) return;
1016
968
  const id = reference.identifier;
1017
- const isSetState = setStateCallSites.has(id);
1018
- if (!isSetState) return;
969
+ if (!setStateCallSites.has(id)) return;
1019
970
  let fnScope = reference.from;
1020
971
  while (fnScope.type !== "function") fnScope = fnScope.upper;
1021
- const isDirectlyInsideEffect = fnScope.block === node;
1022
- if (isDirectlyInsideEffect) setStateInsideEffectWithoutDeps = key;
972
+ if (fnScope.block === node) setStateInsideEffectWithoutDeps = key;
1023
973
  });
1024
974
  });
1025
975
  if (setStateInsideEffectWithoutDeps) {
@@ -1051,58 +1001,55 @@ var react_better_exhaustive_deps_default = {
1051
1001
  node: declaredDependenciesNode,
1052
1002
  message: `React Hook ${getSource(reactiveHook)} was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies.`
1053
1003
  });
1054
- else {
1055
- const arrayExpression = isTSAsArrayExpression ? declaredDependenciesNode.expression : declaredDependenciesNode;
1056
- arrayExpression.elements.forEach((declaredDependencyNode) => {
1057
- if (declaredDependencyNode == null) return;
1058
- if (declaredDependencyNode.type === "SpreadElement") {
1059
- reportProblem({
1060
- node: declaredDependencyNode,
1061
- message: `React Hook ${getSource(reactiveHook)} has a spread element in its dependency array. This means we can't statically verify whether you've passed the correct dependencies.`
1062
- });
1063
- return;
1064
- }
1065
- if (useEffectEventVariables.has(declaredDependencyNode)) reportProblem({
1004
+ else (isTSAsArrayExpression ? declaredDependenciesNode.expression : declaredDependenciesNode).elements.forEach((declaredDependencyNode) => {
1005
+ if (declaredDependencyNode == null) return;
1006
+ if (declaredDependencyNode.type === "SpreadElement") {
1007
+ reportProblem({
1066
1008
  node: declaredDependencyNode,
1067
- message: `Functions returned from \`useEffectEvent\` must not be included in the dependency array. Remove \`${getSource(declaredDependencyNode)}\` from the list.`,
1068
- suggest: [{
1069
- desc: `Remove the dependency \`${getSource(declaredDependencyNode)}\``,
1070
- fix(fixer) {
1071
- return fixer.removeRange(declaredDependencyNode.range);
1072
- }
1073
- }]
1009
+ message: `React Hook ${getSource(reactiveHook)} has a spread element in its dependency array. This means we can't statically verify whether you've passed the correct dependencies.`
1074
1010
  });
1075
- let declaredDependency;
1076
- try {
1077
- declaredDependency = analyzePropertyChain(declaredDependencyNode, null);
1078
- } catch (err) {
1079
- if (/Unsupported node type/.test(err.message)) {
1080
- if (declaredDependencyNode.type === "Literal") if (dependencies.has(declaredDependencyNode.value)) reportProblem({
1081
- node: declaredDependencyNode,
1082
- message: `The ${declaredDependencyNode.raw} literal is not a valid dependency because it never changes. Did you mean to include ${declaredDependencyNode.value} in the array instead?`
1083
- });
1084
- else reportProblem({
1085
- node: declaredDependencyNode,
1086
- message: `The ${declaredDependencyNode.raw} literal is not a valid dependency because it never changes. You can safely remove it.`
1087
- });
1088
- else reportProblem({
1089
- node: declaredDependencyNode,
1090
- message: `React Hook ${getSource(reactiveHook)} has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.`
1091
- });
1092
- return;
1011
+ return;
1012
+ }
1013
+ if (useEffectEventVariables.has(declaredDependencyNode)) reportProblem({
1014
+ node: declaredDependencyNode,
1015
+ message: `Functions returned from \`useEffectEvent\` must not be included in the dependency array. Remove \`${getSource(declaredDependencyNode)}\` from the list.`,
1016
+ suggest: [{
1017
+ desc: `Remove the dependency \`${getSource(declaredDependencyNode)}\``,
1018
+ fix(fixer) {
1019
+ return fixer.removeRange(declaredDependencyNode.range);
1093
1020
  }
1094
- throw err;
1021
+ }]
1022
+ });
1023
+ let declaredDependency;
1024
+ try {
1025
+ declaredDependency = analyzePropertyChain(declaredDependencyNode, null);
1026
+ } catch (err) {
1027
+ if (/Unsupported node type/.test(err.message)) {
1028
+ if (declaredDependencyNode.type === "Literal") if (dependencies.has(declaredDependencyNode.value)) reportProblem({
1029
+ node: declaredDependencyNode,
1030
+ message: `The ${declaredDependencyNode.raw} literal is not a valid dependency because it never changes. Did you mean to include ${declaredDependencyNode.value} in the array instead?`
1031
+ });
1032
+ else reportProblem({
1033
+ node: declaredDependencyNode,
1034
+ message: `The ${declaredDependencyNode.raw} literal is not a valid dependency because it never changes. You can safely remove it.`
1035
+ });
1036
+ else reportProblem({
1037
+ node: declaredDependencyNode,
1038
+ message: `React Hook ${getSource(reactiveHook)} has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.`
1039
+ });
1040
+ return;
1095
1041
  }
1096
- let maybeID = declaredDependencyNode;
1097
- while (maybeID.type === "MemberExpression" || maybeID.type === "OptionalMemberExpression" || maybeID.type === "ChainExpression") maybeID = maybeID.object || maybeID.expression.object;
1098
- const isDeclaredInComponent = !componentScope.through.some((ref) => ref.identifier === maybeID);
1099
- declaredDependencies.push({
1100
- key: declaredDependency,
1101
- node: declaredDependencyNode
1102
- });
1103
- if (!isDeclaredInComponent) externalDependencies.add(declaredDependency);
1042
+ throw err;
1043
+ }
1044
+ let maybeID = declaredDependencyNode;
1045
+ while (maybeID.type === "MemberExpression" || maybeID.type === "OptionalMemberExpression" || maybeID.type === "ChainExpression") maybeID = maybeID.object || maybeID.expression.object;
1046
+ const isDeclaredInComponent = !componentScope.through.some((ref) => ref.identifier === maybeID);
1047
+ declaredDependencies.push({
1048
+ key: declaredDependency,
1049
+ node: declaredDependencyNode
1104
1050
  });
1105
- }
1051
+ if (!isDeclaredInComponent) externalDependencies.add(declaredDependency);
1052
+ });
1106
1053
  const { suggestedDependencies, unnecessaryDependencies, missingDependencies, duplicateDependencies } = collectRecommendations({
1107
1054
  dependencies,
1108
1055
  declaredDependencies,
@@ -1111,15 +1058,13 @@ var react_better_exhaustive_deps_default = {
1111
1058
  isEffect
1112
1059
  });
1113
1060
  let suggestedDeps = suggestedDependencies;
1114
- const problemCount = duplicateDependencies.size + missingDependencies.size + unnecessaryDependencies.size;
1115
- if (problemCount === 0) {
1116
- const constructions = scanForConstructions({
1061
+ if (duplicateDependencies.size + missingDependencies.size + unnecessaryDependencies.size === 0) {
1062
+ scanForConstructions({
1117
1063
  declaredDependencies,
1118
1064
  declaredDependenciesNode,
1119
1065
  componentScope,
1120
1066
  scope
1121
- });
1122
- constructions.forEach(({ construction, isUsedOutsideOfHook, depType }) => {
1067
+ }).forEach(({ construction, isUsedOutsideOfHook, depType }) => {
1123
1068
  const wrapperHook = depType === "function" ? "useCallback" : "useMemo";
1124
1069
  const constructionType = depType === "function" ? "definition" : "initialization";
1125
1070
  const defaultAdvice = `wrap the ${constructionType} of '${construction.name.name}' in its own ${wrapperHook}() Hook.`;
@@ -1156,8 +1101,8 @@ var react_better_exhaustive_deps_default = {
1156
1101
  return declaredDepKeys.join(",") === sortedDeclaredDepKeys.join(",");
1157
1102
  }
1158
1103
  if (areDeclaredDepsAlphabetized()) suggestedDeps.sort();
1159
- function formatDependency(path$1) {
1160
- const members = path$1.split(".");
1104
+ function formatDependency(path$2) {
1105
+ const members = path$2.split(".");
1161
1106
  let finalPath = "";
1162
1107
  for (let i = 0; i < members.length; i++) {
1163
1108
  if (i !== 0) {
@@ -1237,8 +1182,7 @@ var react_better_exhaustive_deps_default = {
1237
1182
  let setStateRecommendation = null;
1238
1183
  missingDependencies.forEach((missingDep) => {
1239
1184
  if (setStateRecommendation != null) return;
1240
- const usedDep = dependencies.get(missingDep);
1241
- const references = usedDep.references;
1185
+ const references = dependencies.get(missingDep).references;
1242
1186
  let id;
1243
1187
  let maybeCall;
1244
1188
  for (const reference of references) {
@@ -1402,8 +1346,8 @@ function collectRecommendations({ dependencies, declaredDependencies, stableDepe
1402
1346
  const node = getOrCreateNodeByPath(depTree, key);
1403
1347
  node.isSatisfiedRecursively = true;
1404
1348
  });
1405
- function getOrCreateNodeByPath(rootNode, path$1) {
1406
- const keys = path$1.split(".");
1349
+ function getOrCreateNodeByPath(rootNode, path$2) {
1350
+ const keys = path$2.split(".");
1407
1351
  let node = rootNode;
1408
1352
  for (const key of keys) {
1409
1353
  let child = node.children.get(key);
@@ -1415,8 +1359,8 @@ function collectRecommendations({ dependencies, declaredDependencies, stableDepe
1415
1359
  }
1416
1360
  return node;
1417
1361
  }
1418
- function markAllParentsByPath(rootNode, path$1, fn) {
1419
- const keys = path$1.split(".");
1362
+ function markAllParentsByPath(rootNode, path$2, fn) {
1363
+ const keys = path$2.split(".");
1420
1364
  let node = rootNode;
1421
1365
  for (const key of keys) {
1422
1366
  const child = node.children.get(key);
@@ -1430,16 +1374,16 @@ function collectRecommendations({ dependencies, declaredDependencies, stableDepe
1430
1374
  scanTreeRecursively(depTree, missingDependencies, satisfyingDependencies, (key) => key);
1431
1375
  function scanTreeRecursively(node, missingPaths, satisfyingPaths, keyToPath) {
1432
1376
  node.children.forEach((child, key) => {
1433
- const path$1 = keyToPath(key);
1377
+ const path$2 = keyToPath(key);
1434
1378
  if (child.isSatisfiedRecursively) {
1435
- if (child.isSubtreeUsed) satisfyingPaths.add(path$1);
1379
+ if (child.isSubtreeUsed) satisfyingPaths.add(path$2);
1436
1380
  return;
1437
1381
  }
1438
1382
  if (child.isUsed) {
1439
- missingPaths.add(path$1);
1383
+ missingPaths.add(path$2);
1440
1384
  return;
1441
1385
  }
1442
- scanTreeRecursively(child, missingPaths, satisfyingPaths, (childKey) => path$1 + "." + childKey);
1386
+ scanTreeRecursively(child, missingPaths, satisfyingPaths, (childKey) => path$2 + "." + childKey);
1443
1387
  });
1444
1388
  }
1445
1389
  const suggestedDependencies = [];
@@ -1559,23 +1503,17 @@ function analyzePropertyChain(node, optionalChains) {
1559
1503
  if (optionalChains) optionalChains.set(result, false);
1560
1504
  return result;
1561
1505
  } else if (node.type === "MemberExpression" && !node.computed) {
1562
- const object = analyzePropertyChain(node.object, optionalChains);
1563
- const property = analyzePropertyChain(node.property, null);
1564
- const result = `${object}.${property}`;
1506
+ const result = `${analyzePropertyChain(node.object, optionalChains)}.${analyzePropertyChain(node.property, null)}`;
1565
1507
  markNode(node, optionalChains, result);
1566
1508
  return result;
1567
1509
  } else if (node.type === "OptionalMemberExpression" && !node.computed) {
1568
- const object = analyzePropertyChain(node.object, optionalChains);
1569
- const property = analyzePropertyChain(node.property, null);
1570
- const result = `${object}.${property}`;
1510
+ const result = `${analyzePropertyChain(node.object, optionalChains)}.${analyzePropertyChain(node.property, null)}`;
1571
1511
  markNode(node, optionalChains, result);
1572
1512
  return result;
1573
1513
  } else if (node.type === "ChainExpression" && !node.computed) {
1574
1514
  const expression = node.expression;
1575
1515
  if (expression.type === "CallExpression") throw new Error(`Unsupported node type: ${expression.type}`);
1576
- const object = analyzePropertyChain(expression.object, optionalChains);
1577
- const property = analyzePropertyChain(expression.property, null);
1578
- const result = `${object}.${property}`;
1516
+ const result = `${analyzePropertyChain(expression.object, optionalChains)}.${analyzePropertyChain(expression.property, null)}`;
1579
1517
  markNode(expression, optionalChains, result);
1580
1518
  return result;
1581
1519
  }
@@ -1691,12 +1629,10 @@ var react_hook_use_ref_default = createRule({
1691
1629
  messages: { useRefName: "useRef call is not end with \"Ref\"" }
1692
1630
  },
1693
1631
  defaultOptions: [],
1694
- create: eslint_plugin_react_lib_util_Components_js.default.detect((context, component, util) => ({ CallExpression(node) {
1695
- const isImmediateReturn = node.parent && node.parent.type === __typescript_eslint_utils.AST_NODE_TYPES.ReturnStatement;
1696
- if (isImmediateReturn || !util.isReactHookCall(node, ["useRef"])) return;
1697
- if (node.parent.id.type !== __typescript_eslint_utils.AST_NODE_TYPES.Identifier) return;
1698
- const variable = node.parent.id.name;
1699
- if (!variable.endsWith("Ref")) context.report({
1632
+ create: Components.default.detect((context, component, util) => ({ CallExpression(node) {
1633
+ if (node.parent && node.parent.type === AST_NODE_TYPES.ReturnStatement || !util.isReactHookCall(node, ["useRef"])) return;
1634
+ if (node.parent.id.type !== AST_NODE_TYPES.Identifier) return;
1635
+ if (!node.parent.id.name.endsWith("Ref")) context.report({
1700
1636
  node,
1701
1637
  messageId: "useRefName"
1702
1638
  });
@@ -1726,16 +1662,14 @@ var react_prefer_sx_prop_default = createRule({
1726
1662
  },
1727
1663
  defaultOptions: [],
1728
1664
  create(context) {
1729
- const configuration = context.options[0] || {};
1730
- const allowedFor = configuration.allowedFor || [];
1665
+ const allowedFor = (context.options[0] || {}).allowedFor || [];
1731
1666
  function checkComponent(node) {
1732
1667
  const parentName = node.parent.name;
1733
1668
  const tag = parentName.name || `${parentName.object.name}.${parentName.property.name}`;
1734
1669
  const componentName = parentName.name || parentName.property.name;
1735
1670
  if (componentName && typeof componentName[0] === "string" && componentName[0] !== componentName[0].toUpperCase()) return;
1736
1671
  if (allowedFor.includes(tag)) return;
1737
- const prop = node.name.name;
1738
- if (prop === "style") context.report({
1672
+ if (node.name.name === "style") context.report({
1739
1673
  node,
1740
1674
  messageId: "preferSxProp"
1741
1675
  });
@@ -1744,8 +1678,7 @@ var react_prefer_sx_prop_default = createRule({
1744
1678
  const tag = node.parent.name.name;
1745
1679
  if (!(tag && typeof tag === "string" && tag[0] !== tag[0].toUpperCase())) return;
1746
1680
  if (allowedFor.includes(tag)) return;
1747
- const prop = node.name.name;
1748
- if (prop === "style") context.report({
1681
+ if (node.name.name === "style") context.report({
1749
1682
  node,
1750
1683
  messageId: "preferSxProp"
1751
1684
  });
@@ -1765,9 +1698,9 @@ var react_prefer_sx_prop_default = createRule({
1765
1698
  * @returns {string | null} The identifier name or null if it can't be determined
1766
1699
  */
1767
1700
  function getBasicIdentifier(node) {
1768
- if (node.type === __typescript_eslint_utils.AST_NODE_TYPES.Identifier) return node.name;
1769
- if (node.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal) return node.value;
1770
- if (node.type === __typescript_eslint_utils.AST_NODE_TYPES.TemplateLiteral) {
1701
+ if (node.type === AST_NODE_TYPES.Identifier) return node.name;
1702
+ if (node.type === AST_NODE_TYPES.Literal) return node.value;
1703
+ if (node.type === AST_NODE_TYPES.TemplateLiteral) {
1771
1704
  if (node.expressions.length > 0) return null;
1772
1705
  return node.quasis[0].value.raw;
1773
1706
  }
@@ -1780,9 +1713,9 @@ function getBasicIdentifier(node) {
1780
1713
  */
1781
1714
  function getBaseIdentifier(node) {
1782
1715
  switch (node.type) {
1783
- case __typescript_eslint_utils.AST_NODE_TYPES.Identifier: return node;
1784
- case __typescript_eslint_utils.AST_NODE_TYPES.CallExpression: return getBaseIdentifier(node.callee);
1785
- case __typescript_eslint_utils.AST_NODE_TYPES.MemberExpression: return getBaseIdentifier(node.object);
1716
+ case AST_NODE_TYPES.Identifier: return node;
1717
+ case AST_NODE_TYPES.CallExpression: return getBaseIdentifier(node.callee);
1718
+ case AST_NODE_TYPES.MemberExpression: return getBaseIdentifier(node.object);
1786
1719
  }
1787
1720
  return null;
1788
1721
  }
@@ -1793,7 +1726,7 @@ function getBaseIdentifier(node) {
1793
1726
  */
1794
1727
  function getStyesObj(node) {
1795
1728
  const isMakeStyles = node.callee.name === "makeStyles";
1796
- const isModernApi = node.callee.type === __typescript_eslint_utils.AST_NODE_TYPES.MemberExpression && node.callee.property.name === "create" && getBaseIdentifier(node.callee.object) && getBaseIdentifier(node.callee.object).name === "tss";
1729
+ const isModernApi = node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.property.name === "create" && getBaseIdentifier(node.callee.object) && getBaseIdentifier(node.callee.object).name === "tss";
1797
1730
  if (!isMakeStyles && !isModernApi) return;
1798
1731
  const styles = (() => {
1799
1732
  if (isMakeStyles) return node.parent.arguments[0];
@@ -1801,16 +1734,16 @@ function getStyesObj(node) {
1801
1734
  })();
1802
1735
  if (!styles) return;
1803
1736
  switch (styles.type) {
1804
- case __typescript_eslint_utils.AST_NODE_TYPES.ObjectExpression: return styles;
1805
- case __typescript_eslint_utils.AST_NODE_TYPES.ArrowFunctionExpression:
1737
+ case AST_NODE_TYPES.ObjectExpression: return styles;
1738
+ case AST_NODE_TYPES.ArrowFunctionExpression:
1806
1739
  {
1807
1740
  const { body } = styles;
1808
1741
  switch (body.type) {
1809
- case __typescript_eslint_utils.AST_NODE_TYPES.ObjectExpression: return body;
1810
- case __typescript_eslint_utils.AST_NODE_TYPES.BlockStatement: {
1742
+ case AST_NODE_TYPES.ObjectExpression: return body;
1743
+ case AST_NODE_TYPES.BlockStatement: {
1811
1744
  let stylesObj;
1812
1745
  body.body.forEach((bodyNode) => {
1813
- if (bodyNode.type === __typescript_eslint_utils.AST_NODE_TYPES.ReturnStatement && bodyNode.argument.type === __typescript_eslint_utils.AST_NODE_TYPES.ObjectExpression) stylesObj = bodyNode.argument;
1746
+ if (bodyNode.type === AST_NODE_TYPES.ReturnStatement && bodyNode.argument.type === AST_NODE_TYPES.ObjectExpression) stylesObj = bodyNode.argument;
1814
1747
  });
1815
1748
  return stylesObj;
1816
1749
  }
@@ -1826,8 +1759,8 @@ function getStyesObj(node) {
1826
1759
  * @returns - The styles object or null if it can't be determined
1827
1760
  */
1828
1761
  function loopStylesObj(node, callback) {
1829
- if (node && node.type === __typescript_eslint_utils.AST_NODE_TYPES.ObjectExpression) node.properties.forEach((property) => {
1830
- if (property.type === __typescript_eslint_utils.AST_NODE_TYPES.Property && property.value) if (property.value.type === __typescript_eslint_utils.AST_NODE_TYPES.ObjectExpression) loopStylesObj(property.value, callback);
1762
+ if (node && node.type === AST_NODE_TYPES.ObjectExpression) node.properties.forEach((property) => {
1763
+ if (property.type === AST_NODE_TYPES.Property && property.value) if (property.value.type === AST_NODE_TYPES.ObjectExpression) loopStylesObj(property.value, callback);
1831
1764
  else callback(property.value);
1832
1765
  });
1833
1766
  }
@@ -1853,9 +1786,9 @@ var tss_class_naming_default = createRule({
1853
1786
  if (stylesObj === void 0) return;
1854
1787
  stylesObj.properties.forEach((property) => {
1855
1788
  if (property.computed) return;
1856
- if (property.type === "ExperimentalSpreadProperty" || property.type === __typescript_eslint_utils.AST_NODE_TYPES.SpreadElement) return;
1789
+ if (property.type === "ExperimentalSpreadProperty" || property.type === AST_NODE_TYPES.SpreadElement) return;
1857
1790
  const className = property.key.value || property.key.name;
1858
- if (!(0, __agilebot_eslint_utils.isCamelCase)(className)) context.report({
1791
+ if (!isCamelCase(className)) context.report({
1859
1792
  node: property,
1860
1793
  messageId: "camelCase",
1861
1794
  data: { className }
@@ -2630,7 +2563,7 @@ var tss_no_color_name_default = createRule({
2630
2563
  const stylesObj = getStyesObj(node);
2631
2564
  if (!stylesObj) return;
2632
2565
  function checkColorLiteral(value) {
2633
- if (value.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal && typeof value.value === "string" && Object.keys(color_name_default).includes(value.value.toLowerCase())) context.report({
2566
+ if (value.type === AST_NODE_TYPES.Literal && typeof value.value === "string" && Object.keys(color_name_default).includes(value.value.toLowerCase())) context.report({
2634
2567
  node: value,
2635
2568
  messageId: "disallowColorName"
2636
2569
  });
@@ -2660,9 +2593,8 @@ var tss_no_color_value_default = createRule({
2660
2593
  const stylesObj = getStyesObj(node);
2661
2594
  if (!stylesObj) return;
2662
2595
  function checkColorLiteral(value) {
2663
- if (value.type === __typescript_eslint_utils.AST_NODE_TYPES.Literal && typeof value.value === "string") {
2664
- const colorCodePattern = /#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|rgb\?\(\s*(\d{1,3}\s*,\s*){2}\d{1,3}(?:\s*,\s*\d*(?:\.\d+)?)?\s*\)/g;
2665
- if (colorCodePattern.test(value.value)) context.report({
2596
+ if (value.type === AST_NODE_TYPES.Literal && typeof value.value === "string") {
2597
+ if (/#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|rgb\?\(\s*(\d{1,3}\s*,\s*){2}\d{1,3}(?:\s*,\s*\d*(?:\.\d+)?)?\s*\)/g.test(value.value)) context.report({
2666
2598
  node: value,
2667
2599
  messageId: "preferMuiColor"
2668
2600
  });
@@ -2697,12 +2629,12 @@ var tss_unused_classes_default = createRule({
2697
2629
  if (stylesObj === void 0) return;
2698
2630
  stylesObj.properties.forEach((property) => {
2699
2631
  if (property.computed) return;
2700
- if (property.type === "ExperimentalSpreadProperty" || property.type === __typescript_eslint_utils.AST_NODE_TYPES.SpreadElement) return;
2632
+ if (property.type === "ExperimentalSpreadProperty" || property.type === AST_NODE_TYPES.SpreadElement) return;
2701
2633
  definedClasses[property.key.value || property.key.name] = property;
2702
2634
  });
2703
2635
  },
2704
2636
  MemberExpression(node) {
2705
- if (node.object.type === __typescript_eslint_utils.AST_NODE_TYPES.Identifier && node.object.name === "classes") {
2637
+ if (node.object.type === AST_NODE_TYPES.Identifier && node.object.name === "classes") {
2706
2638
  const whichClass = getBasicIdentifier(node.property);
2707
2639
  if (whichClass) usedClasses[whichClass] = true;
2708
2640
  return;
@@ -2711,12 +2643,12 @@ var tss_unused_classes_default = createRule({
2711
2643
  if (!classIdentifier) return;
2712
2644
  if (classIdentifier !== "classes") return;
2713
2645
  const { parent } = node;
2714
- if (parent.type !== __typescript_eslint_utils.AST_NODE_TYPES.MemberExpression) return;
2715
- if (node.object.object && node.object.object.type !== __typescript_eslint_utils.AST_NODE_TYPES.ThisExpression) return;
2646
+ if (parent.type !== AST_NODE_TYPES.MemberExpression) return;
2647
+ if (node.object.object && node.object.object.type !== AST_NODE_TYPES.ThisExpression) return;
2716
2648
  const propsIdentifier = getBasicIdentifier(parent.object);
2717
2649
  if (propsIdentifier && propsIdentifier !== "props") return;
2718
- if (!propsIdentifier && parent.object.type !== __typescript_eslint_utils.AST_NODE_TYPES.MemberExpression) return;
2719
- if (parent.parent.type === __typescript_eslint_utils.AST_NODE_TYPES.MemberExpression) return;
2650
+ if (!propsIdentifier && parent.object.type !== AST_NODE_TYPES.MemberExpression) return;
2651
+ if (parent.parent.type === AST_NODE_TYPES.MemberExpression) return;
2720
2652
  const parentClassIdentifier = getBasicIdentifier(parent.property);
2721
2653
  if (parentClassIdentifier) usedClasses[parentClassIdentifier] = true;
2722
2654
  },
@@ -2775,4 +2707,4 @@ Object.keys(rules).forEach((name) => {
2775
2707
  var src_default = plugin;
2776
2708
 
2777
2709
  //#endregion
2778
- module.exports = src_default;
2710
+ export { src_default as default };