eslint-plugin-etc-misc 1.1.5 → 1.1.7

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 (68) hide show
  1. package/README.md +135 -135
  2. package/dist/_internal/casing.js +2 -2
  3. package/dist/_internal/casing.js.map +1 -1
  4. package/dist/_internal/get-core-rule.d.ts.map +1 -1
  5. package/dist/_internal/get-core-rule.js +1 -2
  6. package/dist/_internal/get-core-rule.js.map +1 -1
  7. package/dist/_internal/rule-deprecation.d.ts +2 -2
  8. package/dist/_internal/rule-deprecation.d.ts.map +1 -1
  9. package/dist/_internal/rule-deprecation.js +10 -12
  10. package/dist/_internal/rule-deprecation.js.map +1 -1
  11. package/dist/configs.d.ts +2 -1
  12. package/dist/configs.d.ts.map +1 -1
  13. package/dist/configs.js.map +1 -1
  14. package/dist/plugin.cjs +17 -17
  15. package/dist/plugin.cjs.map +2 -2
  16. package/dist/rules/no-const-enum.d.ts.map +1 -1
  17. package/dist/rules/no-const-enum.js +9 -11
  18. package/dist/rules/no-const-enum.js.map +1 -1
  19. package/dist/rules/no-misused-generics.d.ts.map +1 -1
  20. package/dist/rules/no-misused-generics.js.map +1 -1
  21. package/dist/rules/no-single-line-comment.d.ts.map +1 -1
  22. package/dist/rules/no-single-line-comment.js +11 -15
  23. package/dist/rules/no-single-line-comment.js.map +1 -1
  24. package/dist/rules/no-use-extend-native.js +2 -2
  25. package/dist/rules/no-use-extend-native.js.map +1 -1
  26. package/dist/rules/throw-error.d.ts.map +1 -1
  27. package/dist/rules/throw-error.js +8 -10
  28. package/dist/rules/throw-error.js.map +1 -1
  29. package/dist/rules/typescript-no-redundant-undefined-let.js +1 -1
  30. package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
  31. package/dist/rules/typescript-no-redundant-undefined-var.js +1 -1
  32. package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
  33. package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
  34. package/dist/rules/typescript-prefer-readonly-property.js +9 -11
  35. package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
  36. package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
  37. package/dist/rules/typescript-require-prop-type-annotation.js +9 -11
  38. package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
  39. package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
  40. package/dist/rules/typescript-require-this-void.js +9 -11
  41. package/dist/rules/typescript-require-this-void.js.map +1 -1
  42. package/docs/AGENTS.md +19 -18
  43. package/docs/docusaurus/blog/authors.yml +11 -11
  44. package/docs/docusaurus/docusaurus.config.ts +23 -25
  45. package/docs/docusaurus/package.json +1 -0
  46. package/docs/docusaurus/sidebars.rules.ts +40 -42
  47. package/docs/docusaurus/sidebars.ts +20 -20
  48. package/docs/docusaurus/src/components/GitHubStats.jsx +4 -4
  49. package/docs/docusaurus/src/js/modernEnhancements.ts +55 -55
  50. package/docs/docusaurus/src/pages/index.jsx +12 -12
  51. package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.d.mts +4 -2
  52. package/docs/docusaurus/typedoc.config.json +7 -586
  53. package/docs/rules/consistent-enum-members.md +3 -3
  54. package/docs/rules/consistent-filename.md +1 -1
  55. package/docs/rules/getting-started.md +19 -21
  56. package/docs/rules/no-assign-mutated-array.md +5 -25
  57. package/docs/rules/no-expression-empty-lines.md +2 -4
  58. package/docs/rules/no-foreach.md +1 -5
  59. package/docs/rules/no-function-declare-after-return.md +45 -36
  60. package/docs/rules/no-use-extend-native.md +6 -6
  61. package/docs/rules/no-vulnerable.md +11 -11
  62. package/docs/rules/prefer-includes.md +2 -11
  63. package/docs/rules/presets/all.md +1 -1
  64. package/docs/rules/presets/recommended.md +1 -1
  65. package/docs/rules/require-jsdoc.md +1 -7
  66. package/docs/rules/sort-array.md +2 -10
  67. package/docs/rules/typescript-array-callback-return-type.md +5 -17
  68. package/package.json +13 -5
@@ -1,7 +1,7 @@
1
1
  import { arrayAt, arrayJoin, stringSplit } from "ts-extras";
2
2
  import { splitIdentifierBlocks } from "./identifier-blocks.js";
3
3
  const splitWords = (value) => splitIdentifierBlocks(value).map((word) => word.toLowerCase());
4
- const toPascal = (value) => arrayJoin(splitWords(value).map((word) => `${word[0]?.toUpperCase() ?? ""}${word.slice(1)}`), "");
4
+ const toPascal = (value) => arrayJoin(splitWords(value).map((word) => `${word.at(0)?.toUpperCase() ?? ""}${word.slice(1)}`), "");
5
5
  /**
6
6
  * Convert an input string into the requested casing format.
7
7
  */
@@ -9,7 +9,7 @@ export const toCasing = (value, format) => {
9
9
  switch (format) {
10
10
  case "camelCase": {
11
11
  const pascal = toPascal(value);
12
- return `${pascal[0]?.toLowerCase() ?? ""}${pascal.slice(1)}`;
12
+ return `${pascal.at(0)?.toLowerCase() ?? ""}${pascal.slice(1)}`;
13
13
  }
14
14
  case "kebab-case": {
15
15
  return arrayJoin(splitWords(value), "-");
@@ -1 +1 @@
1
- {"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,SAAS,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC9D,EACD,EAAE,CACL,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE9D,OAAO,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
1
+ {"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,SAAS,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACjE,EACD,EAAE,CACL,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE9D,OAAO,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-core-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,OAQ5C,CAAC"}
1
+ {"version":3,"file":"get-core-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,OAQ5C,CAAC"}
@@ -1,11 +1,10 @@
1
- // eslint-disable-next-line import-x/no-deprecated, sonarjs/deprecation -- ESLint currently exposes core rules through this compatibility entrypoint.
2
1
  import { builtinRules } from "eslint/use-at-your-own-risk";
3
2
  import { isDefined } from "ts-extras";
4
3
  /**
5
4
  * Resolve a core ESLint rule module by rule ID.
6
5
  */
7
6
  export const getCoreRule = (ruleId) => {
8
- // eslint-disable-next-line @typescript-eslint/no-deprecated, import-x/no-deprecated, sonarjs/deprecation -- ESLint currently exposes core rule modules through this entrypoint.
7
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- ESLint currently exposes core rule modules through this entrypoint.
9
8
  const coreRule = builtinRules.get(ruleId);
10
9
  if (!isDefined(coreRule)) {
11
10
  throw new Error(`Missing core ESLint rule "${ruleId}".`);
@@ -1 +1 @@
1
- {"version":3,"file":"get-core-rule.js","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAAA,qJAAqJ;AACrJ,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,gLAAgL;IAChL,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"get-core-rule.js","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,mIAAmI;IACnI,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { TSESLint } from "@typescript-eslint/utils";
2
- import type { UnknownArray } from "type-fest";
2
+ import type { ArrayElement, UnknownArray } from "type-fest";
3
3
  type DeprecatedInfo = Exclude<TSESLint.RuleMetaData<string>["deprecated"], boolean | undefined>;
4
- type ReplacedByInfo = NonNullable<DeprecatedInfo["replacedBy"]>[number];
4
+ type ReplacedByInfo = ArrayElement<NonNullable<DeprecatedInfo["replacedBy"]>>;
5
5
  type RuleDeprecationOptions = Readonly<{
6
6
  readonly message: string;
7
7
  readonly replacedBy?: readonly ReplacedByInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"rule-deprecation.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-deprecation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,KAAK,cAAc,GAAG,OAAO,CACzB,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAC3C,OAAO,GAAG,SAAS,CACtB,CAAC;AACF,KAAK,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,KAAK,sBAAsB,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEH,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAKtE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,aAAa,QAAQ,CAAC;IAClB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACN,CAAC,KACH,cAGD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,kCAItC,sBAAsB,KAAG,cAM1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,KAAK,SAAS,UAAU,EAChE,MAAM,KAAK,EACX,SAAS,sBAAsB,KAChC,KAeD,CAAC"}
1
+ {"version":3,"file":"rule-deprecation.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-deprecation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI5D,KAAK,cAAc,GAAG,OAAO,CACzB,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAC3C,OAAO,GAAG,SAAS,CACtB,CAAC;AACF,KAAK,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAE9E,KAAK,sBAAsB,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEH,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAKtE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,aAAa,QAAQ,CAAC;IAClB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACN,CAAC,KACH,cAGD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,kCAItC,sBAAsB,KAAG,cAM1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,KAAK,SAAS,UAAU,EAChE,MAAM,KAAK,EACX,SAAS,sBAAsB,KAChC,KAaD,CAAC"}
@@ -4,8 +4,8 @@ const docsBaseUrl = "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/ru
4
4
  * Create a replacement descriptor for deprecation metadata.
5
5
  */
6
6
  export const createReplacementRuleInfo = (replacement) => ({
7
- ...(isDefined(replacement.plugin) ? { plugin: replacement.plugin } : {}),
8
- ...(isDefined(replacement.rule) ? { rule: replacement.rule } : {}),
7
+ ...(isDefined(replacement.plugin) && { plugin: replacement.plugin }),
8
+ ...(isDefined(replacement.rule) && { rule: replacement.rule }),
9
9
  });
10
10
  /**
11
11
  * Create standardized deprecation metadata for this plugin.
@@ -14,7 +14,7 @@ export const createDeprecatedRuleInfo = ({ message, replacedBy = [], ruleId, })
14
14
  availableUntil: "2.0.0",
15
15
  deprecatedSince: "1.0.0",
16
16
  message,
17
- ...(replacedBy.length === 0 ? {} : { replacedBy: [...replacedBy] }),
17
+ ...(replacedBy.length > 0 && { replacedBy: [...replacedBy] }),
18
18
  url: `${docsBaseUrl}/${ruleId.replaceAll("/", "-")}`,
19
19
  });
20
20
  /**
@@ -25,15 +25,13 @@ export const withDeprecatedRuleLifecycle = (rule, options) => ({
25
25
  meta: {
26
26
  ...rule.meta,
27
27
  deprecated: createDeprecatedRuleInfo(options),
28
- ...(rule.meta.docs === undefined
29
- ? {}
30
- : {
31
- docs: {
32
- ...rule.meta.docs,
33
- deprecated: true,
34
- frozen: true,
35
- },
36
- }),
28
+ ...(rule.meta.docs !== undefined && {
29
+ docs: {
30
+ ...rule.meta.docs,
31
+ deprecated: true,
32
+ frozen: true,
33
+ },
34
+ }),
37
35
  },
38
36
  });
39
37
  //# sourceMappingURL=rule-deprecation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-deprecation.js","sourceRoot":"","sources":["../../src/_internal/rule-deprecation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAgBtC,MAAM,WAAW,GACb,gEAAgE,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,WASE,EACY,EAAE,CAAC,CAAC;IAClB,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACrE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACrC,OAAO,EACP,UAAU,GAAG,EAAE,EACf,MAAM,GACe,EAAkB,EAAE,CAAC,CAAC;IAC3C,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,OAAO;IACP,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IACnE,GAAG,EAAE,GAAG,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;CACvD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,IAAW,EACX,OAA+B,EAC1B,EAAE,CAAC,CAAC;IACT,GAAG,IAAI;IACP,IAAI,EAAE;QACF,GAAG,IAAI,CAAC,IAAI;QACZ,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAC;QAC7C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YAC5B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACI,IAAI,EAAE;oBACF,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,IAAI;iBACf;aACJ,CAAC;KACX;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"rule-deprecation.js","sourceRoot":"","sources":["../../src/_internal/rule-deprecation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAgBtC,MAAM,WAAW,GACb,gEAAgE,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,WASE,EACY,EAAE,CAAC,CAAC;IAClB,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;CACjE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACrC,OAAO,EACP,UAAU,GAAG,EAAE,EACf,MAAM,GACe,EAAkB,EAAE,CAAC,CAAC;IAC3C,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,OAAO;IACP,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7D,GAAG,EAAE,GAAG,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;CACvD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,IAAW,EACX,OAA+B,EAC1B,EAAE,CAAC,CAAC;IACT,GAAG,IAAI;IACP,IAAI,EAAE;QACF,GAAG,IAAI,CAAC,IAAI;QACZ,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAC;QAC7C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI;YAChC,IAAI,EAAE;gBACF,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;gBACjB,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,IAAI;aACf;SACJ,CAAC;KACL;CACJ,CAAC,CAAC"}
package/dist/configs.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { UnknownRecord } from "type-fest";
1
2
  import { pluginMeta } from "./_internal/plugin-meta.js";
2
3
  import { allStrict as allStrictConfig } from "./configs/all-strict.js";
3
4
  import { all as allConfig } from "./configs/all.js";
@@ -19,7 +20,7 @@ type RuleSeverity = "error" | "warn";
19
20
  /**
20
21
  * Available flat-config presets exported by the plugin.
21
22
  */
22
- export interface PluginConfigs {
23
+ export interface PluginConfigs extends Readonly<UnknownRecord> {
23
24
  readonly all: PresetWithPlugin<typeof allConfig.name, typeof allConfig.rules>;
24
25
  readonly allStrict: PresetWithPlugin<typeof allStrictConfig.name, typeof allStrictConfig.rules>;
25
26
  readonly minimal: PresetWithPlugin<typeof minimalConfig.name, typeof minimalConfig.rules>;
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,UAAU,eAAe;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC;CAChC;AAED,UAAU,gBAAgB,CACtB,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAErD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CACtB,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CACvD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAoBrC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAC1B,OAAO,SAAS,CAAC,IAAI,EACrB,OAAO,SAAS,CAAC,KAAK,CACzB,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAChC,OAAO,eAAe,CAAC,IAAI,EAC3B,OAAO,eAAe,CAAC,KAAK,CAC/B,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAC9B,OAAO,aAAa,CAAC,IAAI,EACzB,OAAO,aAAa,CAAC,KAAK,CAC7B,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAClC,OAAO,iBAAiB,CAAC,IAAI,EAC7B,OAAO,iBAAiB,CAAC,KAAK,CACjC,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAC7B,OAAO,YAAY,CAAC,IAAI,EACxB,OAAO,YAAY,CAAC,KAAK,CAC5B,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CACxC,OAAO,uBAAuB,CAAC,IAAI,EACnC,OAAO,uBAAuB,CAAC,KAAK,CACvC,GAAG;QACA,QAAQ,CAAC,eAAe,EAAE,OAAO,uBAAuB,CAAC,eAAe,CAAC;KAC5E,CAAC;CACL;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,aAUrB,CAAC"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,UAAU,eAAe;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC;CAChC;AAED,UAAU,gBAAgB,CACtB,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAErD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CACtB,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CACvD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAoBrC;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ,CAAC,aAAa,CAAC;IAC1D,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAC1B,OAAO,SAAS,CAAC,IAAI,EACrB,OAAO,SAAS,CAAC,KAAK,CACzB,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAChC,OAAO,eAAe,CAAC,IAAI,EAC3B,OAAO,eAAe,CAAC,KAAK,CAC/B,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAC9B,OAAO,aAAa,CAAC,IAAI,EACzB,OAAO,aAAa,CAAC,KAAK,CAC7B,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAClC,OAAO,iBAAiB,CAAC,IAAI,EAC7B,OAAO,iBAAiB,CAAC,KAAK,CACjC,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAC7B,OAAO,YAAY,CAAC,IAAI,EACxB,OAAO,YAAY,CAAC,KAAK,CAC5B,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CACxC,OAAO,uBAAuB,CAAC,IAAI,EACnC,OAAO,uBAAuB,CAAC,KAAK,CACvC,GAAG;QACA,QAAQ,CAAC,eAAe,EAAE,OAAO,uBAAuB,CAAC,eAAe,CAAC;KAC5E,CAAC;CACL;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,aAUrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAAA,iIAAiI;AAEjI,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAoBnC,MAAM,eAAe,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,KAAK;CACR,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAIxB,MAAkE,EACnC,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,OAAO,EAAE;QACL,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,eAAe;KAC1C;IACD,KAAK,EAAE,MAAM,CAAC,KAAK;CACtB,CAAC,CAAC;AAkCH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkB;IAClC,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACnC,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC;IAC/C,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC;IAC3C,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;IACnD,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;IACzC,iBAAiB,EAAE;QACf,GAAG,mBAAmB,CAAC,uBAAuB,CAAC;QAC/C,eAAe,EAAE,uBAAuB,CAAC,eAAe;KAC3D;CACJ,CAAC;AAEF,kJAAkJ"}
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAAA,iIAAiI;AAIjI,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAoBnC,MAAM,eAAe,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,KAAK;CACR,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAIxB,MAAkE,EACnC,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,OAAO,EAAE;QACL,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,eAAe;KAC1C;IACD,KAAK,EAAE,MAAM,CAAC,KAAK;CACtB,CAAC,CAAC;AAkCH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkB;IAClC,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACnC,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC;IAC/C,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC;IAC3C,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;IACnD,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;IACzC,iBAAiB,EAAE;QACf,GAAG,mBAAmB,CAAC,uBAAuB,CAAC;QAC/C,eAAe,EAAE,uBAAuB,CAAC,eAAe;KAC3D;CACJ,CAAC;AAEF,kJAAkJ"}
package/dist/plugin.cjs CHANGED
@@ -190,14 +190,14 @@ var adaptExternalRule = (externalRule4, docsUrl) => {
190
190
  var import_ts_extras2 = require("ts-extras");
191
191
  var docsBaseUrl = "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules";
192
192
  var createReplacementRuleInfo = (replacement) => ({
193
- ...(0, import_ts_extras2.isDefined)(replacement.plugin) ? { plugin: replacement.plugin } : {},
194
- ...(0, import_ts_extras2.isDefined)(replacement.rule) ? { rule: replacement.rule } : {}
193
+ ...(0, import_ts_extras2.isDefined)(replacement.plugin) && { plugin: replacement.plugin },
194
+ ...(0, import_ts_extras2.isDefined)(replacement.rule) && { rule: replacement.rule }
195
195
  });
196
196
  var createDeprecatedRuleInfo = ({ message, replacedBy = [], ruleId }) => ({
197
197
  availableUntil: "2.0.0",
198
198
  deprecatedSince: "1.0.0",
199
199
  message,
200
- ...replacedBy.length === 0 ? {} : { replacedBy: [...replacedBy] },
200
+ ...replacedBy.length > 0 && { replacedBy: [...replacedBy] },
201
201
  url: `${docsBaseUrl}/${ruleId.replaceAll("/", "-")}`
202
202
  });
203
203
  var withDeprecatedRuleLifecycle = (rule133, options) => ({
@@ -205,7 +205,7 @@ var withDeprecatedRuleLifecycle = (rule133, options) => ({
205
205
  meta: {
206
206
  ...rule133.meta,
207
207
  deprecated: createDeprecatedRuleInfo(options),
208
- ...rule133.meta.docs === void 0 ? {} : {
208
+ ...rule133.meta.docs !== void 0 && {
209
209
  docs: {
210
210
  ...rule133.meta.docs,
211
211
  deprecated: true,
@@ -477,12 +477,12 @@ var countIdentifierBlocks = (value) => splitIdentifierBlocks(value).length;
477
477
 
478
478
  // dist/_internal/casing.js
479
479
  var splitWords = (value) => splitIdentifierBlocks(value).map((word) => word.toLowerCase());
480
- var toPascal = (value) => (0, import_ts_extras6.arrayJoin)(splitWords(value).map((word) => `${word[0]?.toUpperCase() ?? ""}${word.slice(1)}`), "");
480
+ var toPascal = (value) => (0, import_ts_extras6.arrayJoin)(splitWords(value).map((word) => `${word.at(0)?.toUpperCase() ?? ""}${word.slice(1)}`), "");
481
481
  var toCasing = (value, format) => {
482
482
  switch (format) {
483
483
  case "camelCase": {
484
484
  const pascal = toPascal(value);
485
- return `${pascal[0]?.toLowerCase() ?? ""}${pascal.slice(1)}`;
485
+ return `${pascal.at(0)?.toLowerCase() ?? ""}${pascal.slice(1)}`;
486
486
  }
487
487
  case "kebab-case": {
488
488
  return (0, import_ts_extras6.arrayJoin)(splitWords(value), "-");
@@ -1565,7 +1565,7 @@ var rule21 = ruleCreator({
1565
1565
  context.report({
1566
1566
  messageId: "forbidden",
1567
1567
  node: node.id,
1568
- ...fix === void 0 ? {} : {
1568
+ ...fix !== void 0 && {
1569
1569
  fix,
1570
1570
  suggest: [
1571
1571
  {
@@ -3100,12 +3100,12 @@ var rule43 = ruleCreator({
3100
3100
  const isDirective = isDirectiveComment(comment.value);
3101
3101
  const suggestionFix = isDirective ? void 0 : createConvertToBlockSuggestionFix(comment.value, comment.range);
3102
3102
  context.report({
3103
- ...suggestionFix === void 0 ? {} : {
3103
+ ...suggestionFix !== void 0 && {
3104
3104
  fix: suggestionFix
3105
3105
  },
3106
3106
  loc: comment.loc,
3107
3107
  messageId: "forbidden",
3108
- ...suggestionFix === void 0 ? {} : {
3108
+ ...suggestionFix !== void 0 && {
3109
3109
  suggest: [
3110
3110
  {
3111
3111
  fix: suggestionFix,
@@ -5434,7 +5434,7 @@ var rule77 = ruleCreator({
5434
5434
  data: { usage },
5435
5435
  messageId: "forbidden",
5436
5436
  node,
5437
- ...suggestionFix === void 0 ? {} : {
5437
+ ...suggestionFix !== void 0 && {
5438
5438
  suggest: [
5439
5439
  {
5440
5440
  fix: suggestionFix,
@@ -6399,7 +6399,7 @@ var isNeverReassigned = (sourceCode, declarator) => {
6399
6399
  if (declaredVariable === void 0) {
6400
6400
  return false;
6401
6401
  }
6402
- return !declaredVariable.references.some((reference) => reference.isWrite() && reference.init !== true);
6402
+ return declaredVariable.references.every((reference) => !reference.isWrite() || reference.init === true);
6403
6403
  };
6404
6404
  var rule93 = ruleCreator({
6405
6405
  create: (context) => {
@@ -7026,7 +7026,7 @@ var isNeverReassigned2 = (sourceCode, declarator) => {
7026
7026
  if (declaredVariable === void 0) {
7027
7027
  return false;
7028
7028
  }
7029
- return !declaredVariable.references.some((reference) => reference.isWrite() && reference.init !== true);
7029
+ return declaredVariable.references.every((reference) => !reference.isWrite() || reference.init === true);
7030
7030
  };
7031
7031
  var rule98 = ruleCreator({
7032
7032
  create: (context) => {
@@ -7719,7 +7719,7 @@ var rule109 = ruleCreator({
7719
7719
  context.report({
7720
7720
  messageId: "forbidden",
7721
7721
  node,
7722
- ...(0, import_ts_extras67.isDefined)(fix) ? {
7722
+ ...(0, import_ts_extras67.isDefined)(fix) && {
7723
7723
  fix,
7724
7724
  suggest: [
7725
7725
  {
@@ -7727,7 +7727,7 @@ var rule109 = ruleCreator({
7727
7727
  messageId: "suggestAddReadonly"
7728
7728
  }
7729
7729
  ]
7730
- } : {}
7730
+ }
7731
7731
  });
7732
7732
  }
7733
7733
  }),
@@ -7857,7 +7857,7 @@ var rule112 = ruleCreator({
7857
7857
  context.report({
7858
7858
  messageId: "forbidden",
7859
7859
  node,
7860
- ...(0, import_ts_extras68.isDefined)(fix) ? {
7860
+ ...(0, import_ts_extras68.isDefined)(fix) && {
7861
7861
  fix,
7862
7862
  suggest: [
7863
7863
  {
@@ -7865,7 +7865,7 @@ var rule112 = ruleCreator({
7865
7865
  messageId: "suggestAnnotateUnknown"
7866
7866
  }
7867
7867
  ]
7868
- } : {}
7868
+ }
7869
7869
  });
7870
7870
  }
7871
7871
  }),
@@ -9054,7 +9054,7 @@ var rule128 = ruleCreator({
9054
9054
  context.report({
9055
9055
  messageId: "forbidden",
9056
9056
  node,
9057
- ...suggestionFix === void 0 ? {} : {
9057
+ ...suggestionFix !== void 0 && {
9058
9058
  fix: suggestionFix,
9059
9059
  suggest: [
9060
9060
  {