eslint-plugin-runtime-cleanup 1.2.9 → 1.2.10

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 (143) hide show
  1. package/dist/_internal/ast-node.d.ts +5 -1
  2. package/dist/_internal/ast-node.d.ts.map +1 -1
  3. package/dist/_internal/ast-node.js +2 -1
  4. package/dist/_internal/ast-node.js.map +1 -1
  5. package/dist/_internal/bounded-cache.d.ts.map +1 -1
  6. package/dist/_internal/bounded-cache.js +2 -1
  7. package/dist/_internal/bounded-cache.js.map +1 -1
  8. package/dist/_internal/expression-boolean-memoizer.d.ts.map +1 -1
  9. package/dist/_internal/expression-boolean-memoizer.js +2 -1
  10. package/dist/_internal/expression-boolean-memoizer.js.map +1 -1
  11. package/dist/_internal/filter-callback.d.ts +5 -1
  12. package/dist/_internal/filter-callback.d.ts.map +1 -1
  13. package/dist/_internal/filter-callback.js +9 -10
  14. package/dist/_internal/filter-callback.js.map +1 -1
  15. package/dist/_internal/floating-resource.d.ts +8 -0
  16. package/dist/_internal/floating-resource.d.ts.map +1 -1
  17. package/dist/_internal/floating-resource.js +42 -36
  18. package/dist/_internal/floating-resource.js.map +1 -1
  19. package/dist/_internal/normalize-expression-text.d.ts +6 -1
  20. package/dist/_internal/normalize-expression-text.d.ts.map +1 -1
  21. package/dist/_internal/normalize-expression-text.js +30 -28
  22. package/dist/_internal/normalize-expression-text.js.map +1 -1
  23. package/dist/_internal/nullish-comparison.d.ts +1 -1
  24. package/dist/_internal/nullish-comparison.d.ts.map +1 -1
  25. package/dist/_internal/nullish-comparison.js +16 -11
  26. package/dist/_internal/nullish-comparison.js.map +1 -1
  27. package/dist/_internal/plugin-settings.d.ts +2 -1
  28. package/dist/_internal/plugin-settings.d.ts.map +1 -1
  29. package/dist/_internal/plugin-settings.js +3 -2
  30. package/dist/_internal/plugin-settings.js.map +1 -1
  31. package/dist/_internal/report-adapter.d.ts +5 -4
  32. package/dist/_internal/report-adapter.d.ts.map +1 -1
  33. package/dist/_internal/report-adapter.js +3 -2
  34. package/dist/_internal/report-adapter.js.map +1 -1
  35. package/dist/_internal/rule-catalog.d.ts.map +1 -1
  36. package/dist/_internal/rule-catalog.js +3 -2
  37. package/dist/_internal/rule-catalog.js.map +1 -1
  38. package/dist/_internal/rule-docs-metadata.d.ts +2 -1
  39. package/dist/_internal/rule-docs-metadata.d.ts.map +1 -1
  40. package/dist/_internal/rule-docs-metadata.js +36 -33
  41. package/dist/_internal/rule-docs-metadata.js.map +1 -1
  42. package/dist/_internal/rules-registry.d.ts +2 -1
  43. package/dist/_internal/rules-registry.d.ts.map +1 -1
  44. package/dist/_internal/rules-registry.js.map +1 -1
  45. package/dist/_internal/runtime-cleanup-config-references.d.ts +2 -1
  46. package/dist/_internal/runtime-cleanup-config-references.d.ts.map +1 -1
  47. package/dist/_internal/runtime-cleanup-config-references.js +2 -1
  48. package/dist/_internal/runtime-cleanup-config-references.js.map +1 -1
  49. package/dist/_internal/scope-variable.d.ts.map +1 -1
  50. package/dist/_internal/scope-variable.js +5 -4
  51. package/dist/_internal/scope-variable.js.map +1 -1
  52. package/dist/_internal/type-checker.d.ts +2 -2
  53. package/dist/_internal/type-checker.d.ts.map +1 -1
  54. package/dist/_internal/type-checker.js +10 -8
  55. package/dist/_internal/type-checker.js.map +1 -1
  56. package/dist/_internal/type-predicate-autofix-safety.d.ts +5 -1
  57. package/dist/_internal/type-predicate-autofix-safety.d.ts.map +1 -1
  58. package/dist/_internal/type-predicate-autofix-safety.js +9 -10
  59. package/dist/_internal/type-predicate-autofix-safety.js.map +1 -1
  60. package/dist/_internal/type-reference-node.d.ts +7 -5
  61. package/dist/_internal/type-reference-node.d.ts.map +1 -1
  62. package/dist/_internal/type-reference-node.js +6 -6
  63. package/dist/_internal/type-reference-node.js.map +1 -1
  64. package/dist/_internal/typed-rule.d.ts +2 -1
  65. package/dist/_internal/typed-rule.d.ts.map +1 -1
  66. package/dist/_internal/typed-rule.js +6 -5
  67. package/dist/_internal/typed-rule.js.map +1 -1
  68. package/dist/_internal/value-rewrite-autofix-safety.d.ts +5 -1
  69. package/dist/_internal/value-rewrite-autofix-safety.d.ts.map +1 -1
  70. package/dist/_internal/value-rewrite-autofix-safety.js +10 -18
  71. package/dist/_internal/value-rewrite-autofix-safety.js.map +1 -1
  72. package/dist/plugin.cjs +565 -656
  73. package/dist/plugin.cjs.map +4 -4
  74. package/dist/plugin.d.cts +2 -1
  75. package/dist/plugin.d.ts +2 -1
  76. package/dist/plugin.d.ts.map +1 -1
  77. package/dist/plugin.js +8 -7
  78. package/dist/plugin.js.map +1 -1
  79. package/dist/rules/no-floating-abort-controllers.d.ts.map +1 -1
  80. package/dist/rules/no-floating-abort-controllers.js +24 -52
  81. package/dist/rules/no-floating-abort-controllers.js.map +1 -1
  82. package/dist/rules/no-floating-audio-contexts.d.ts.map +1 -1
  83. package/dist/rules/no-floating-audio-contexts.js +7 -6
  84. package/dist/rules/no-floating-audio-contexts.js.map +1 -1
  85. package/dist/rules/no-floating-broadcast-channels.d.ts.map +1 -1
  86. package/dist/rules/no-floating-broadcast-channels.js +31 -59
  87. package/dist/rules/no-floating-broadcast-channels.js.map +1 -1
  88. package/dist/rules/no-floating-child-processes.d.ts.map +1 -1
  89. package/dist/rules/no-floating-child-processes.js +43 -45
  90. package/dist/rules/no-floating-child-processes.js.map +1 -1
  91. package/dist/rules/no-floating-disposable-stacks.d.ts.map +1 -1
  92. package/dist/rules/no-floating-disposable-stacks.js +37 -38
  93. package/dist/rules/no-floating-disposable-stacks.js.map +1 -1
  94. package/dist/rules/no-floating-file-watchers.d.ts.map +1 -1
  95. package/dist/rules/no-floating-file-watchers.js +40 -42
  96. package/dist/rules/no-floating-file-watchers.js.map +1 -1
  97. package/dist/rules/no-floating-geolocation-watches.js +20 -20
  98. package/dist/rules/no-floating-geolocation-watches.js.map +1 -1
  99. package/dist/rules/no-floating-infinite-animations.d.ts.map +1 -1
  100. package/dist/rules/no-floating-infinite-animations.js +4 -3
  101. package/dist/rules/no-floating-infinite-animations.js.map +1 -1
  102. package/dist/rules/no-floating-media-streams.d.ts.map +1 -1
  103. package/dist/rules/no-floating-media-streams.js +24 -24
  104. package/dist/rules/no-floating-media-streams.js.map +1 -1
  105. package/dist/rules/no-floating-message-channels.js +30 -30
  106. package/dist/rules/no-floating-message-channels.js.map +1 -1
  107. package/dist/rules/no-floating-network-connections.d.ts.map +1 -1
  108. package/dist/rules/no-floating-network-connections.js +36 -36
  109. package/dist/rules/no-floating-network-connections.js.map +1 -1
  110. package/dist/rules/no-floating-object-urls.d.ts.map +1 -1
  111. package/dist/rules/no-floating-object-urls.js +4 -3
  112. package/dist/rules/no-floating-object-urls.js.map +1 -1
  113. package/dist/rules/no-floating-observers.d.ts.map +1 -1
  114. package/dist/rules/no-floating-observers.js +33 -34
  115. package/dist/rules/no-floating-observers.js.map +1 -1
  116. package/dist/rules/no-floating-servers.d.ts.map +1 -1
  117. package/dist/rules/no-floating-servers.js +50 -52
  118. package/dist/rules/no-floating-servers.js.map +1 -1
  119. package/dist/rules/no-floating-streams.d.ts.map +1 -1
  120. package/dist/rules/no-floating-streams.js +28 -29
  121. package/dist/rules/no-floating-streams.js.map +1 -1
  122. package/dist/rules/no-floating-timers.d.ts.map +1 -1
  123. package/dist/rules/no-floating-timers.js +7 -47
  124. package/dist/rules/no-floating-timers.js.map +1 -1
  125. package/dist/rules/no-floating-wake-locks.js +20 -20
  126. package/dist/rules/no-floating-wake-locks.js.map +1 -1
  127. package/dist/rules/no-floating-web-stream-locks.d.ts.map +1 -1
  128. package/dist/rules/no-floating-web-stream-locks.js +4 -3
  129. package/dist/rules/no-floating-web-stream-locks.js.map +1 -1
  130. package/dist/rules/no-floating-workers.d.ts.map +1 -1
  131. package/dist/rules/no-floating-workers.js +39 -40
  132. package/dist/rules/no-floating-workers.js.map +1 -1
  133. package/dist/rules/no-unmanaged-event-listeners.d.ts.map +1 -1
  134. package/dist/rules/no-unmanaged-event-listeners.js +23 -23
  135. package/dist/rules/no-unmanaged-event-listeners.js.map +1 -1
  136. package/docs/rules/no-floating-audio-contexts.md +1 -2
  137. package/docs/rules/no-floating-media-streams.md +1 -1
  138. package/docs/rules/no-floating-object-urls.md +3 -3
  139. package/docs/rules/no-floating-observers.md +1 -1
  140. package/docs/rules/no-floating-servers.md +1 -1
  141. package/docs/rules/no-floating-wake-locks.md +1 -1
  142. package/docs/rules/no-floating-web-stream-locks.md +1 -2
  143. package/package.json +7 -4
@@ -1,3 +1,4 @@
1
+ import { isDefined, objectHasOwn } from "ts-extras";
1
2
  import { getProgramNode } from "./ast-node.js";
2
3
  /** Top-level `settings` key for this plugin. */
3
4
  const RUNTIME_CLEANUP_SETTINGS_KEY = "runtime-cleanup";
@@ -37,7 +38,7 @@ const getRuntimeCleanupSettings = (settings) => {
37
38
  *
38
39
  * @returns `true` only when the key exists and equals literal `true`.
39
40
  */
40
- const readBooleanFlag = (object, key) => Object.hasOwn(object, key) && object[key] === true;
41
+ const readBooleanFlag = (object, key) => objectHasOwn(object, key) && object[key] === true;
41
42
  /**
42
43
  * Reads the global autofix disable flag from plugin settings.
43
44
  *
@@ -65,7 +66,7 @@ export const registerProgramSettingsForContext = (context) => {
65
66
  disableAllAutofixes: readDisableAllAutofixesFromSettings(context.settings),
66
67
  });
67
68
  const existingProgramSettings = settingsByProgram.get(programNode);
68
- if (existingProgramSettings !== undefined) {
69
+ if (isDefined(existingProgramSettings)) {
69
70
  return existingProgramSettings;
70
71
  }
71
72
  settingsByProgram.set(programNode, parsedSettings);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-settings.js","sourceRoot":"","sources":["../../src/_internal/plugin-settings.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,gDAAgD;AAChD,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAEvD,sDAAsD;AACtD,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AASxD;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CACb,KAAc,EAC4B,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,CAC9B,QAAiB,EACuB,EAAE;IAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IAE9D,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CACpB,MAAyC,EACzC,GAAW,EACJ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,mCAAmC,GAAG,CAAC,QAAiB,EAAW,EAAE;IACvE,MAAM,cAAc,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,eAAe,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC7C,OAAmE,EAC1C,EAAE;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;IAE3C,MAAM,cAAc,GAA8B,MAAM,CAAC,MAAM,CAAC;QAC5D,mBAAmB,EAAE,mCAAmC,CACpD,OAAO,CAAC,QAAQ,CACnB;KACJ,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEnD,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,IAA6B,EACtB,EAAE;IACT,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEpD,OAAO,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin-settings.js","sourceRoot":"","sources":["../../src/_internal/plugin-settings.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,gDAAgD;AAChD,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAEvD,sDAAsD;AACtD,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AASxD;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CACb,KAAc,EACkB,EAAE,CAClC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,CAC9B,QAAiB,EACa,EAAE;IAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IAE9D,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CACpB,MAA+B,EAC/B,GAAW,EACJ,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,mCAAmC,GAAG,CAAC,QAAiB,EAAW,EAAE;IACvE,MAAM,cAAc,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,eAAe,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC7C,OAAuE,EAC9C,EAAE;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;IAE3C,MAAM,cAAc,GAA8B,MAAM,CAAC,MAAM,CAAC;QAC5D,mBAAmB,EAAE,mCAAmC,CACpD,OAAO,CAAC,QAAQ,CACnB;KACJ,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACrC,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEnD,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,IAA6B,EACtB,EAAE;IACT,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEpD,OAAO,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAClD,CAAC,CAAC"}
@@ -3,22 +3,23 @@
3
3
  * Explicit report-adapter utilities for rule-level autofix policy handling.
4
4
  */
5
5
  import type { TSESLint } from "@typescript-eslint/utils";
6
+ import type { UnknownArray } from "type-fest";
6
7
  /**
7
8
  * Report callback type for a given message/options pair.
8
9
  */
9
- type ReportCallback<MessageIds extends string, Options extends readonly unknown[]> = TSESLint.RuleContext<MessageIds, Options>["report"];
10
+ type ReportCallback<MessageIds extends string, Options extends Readonly<UnknownArray>> = TSESLint.RuleContext<MessageIds, Options>["report"];
10
11
  /**
11
12
  * Canonical report descriptor type for a given message/options pair.
12
13
  */
13
- type ReportDescriptor<MessageIds extends string, Options extends readonly unknown[]> = Parameters<ReportCallback<MessageIds, Options>>[0];
14
+ type ReportDescriptor<MessageIds extends string, Options extends Readonly<UnknownArray>> = Parameters<ReportCallback<MessageIds, Options>>[0];
14
15
  /**
15
16
  * Remove top-level autofix from a report descriptor while preserving all other
16
17
  * fields (including suggestions).
17
18
  */
18
- export declare const omitAutofixFromReportDescriptor: <MessageIds extends string, Options extends readonly unknown[]>(descriptor: Readonly<ReportDescriptor<MessageIds, Options>>) => ReportDescriptor<MessageIds, Options>;
19
+ export declare const omitAutofixFromReportDescriptor: <MessageIds extends string, Options extends Readonly<UnknownArray>>(descriptor: Readonly<ReportDescriptor<MessageIds, Options>>) => ReportDescriptor<MessageIds, Options>;
19
20
  /**
20
21
  * Build a report callback that enforces no-top-level-autofix semantics.
21
22
  */
22
- export declare const createReportWithoutAutofixes: <MessageIds extends string, Options extends readonly unknown[]>(report: ReportCallback<MessageIds, Options>) => ReportCallback<MessageIds, Options>;
23
+ export declare const createReportWithoutAutofixes: <MessageIds extends string, Options extends Readonly<UnknownArray>>(report: ReportCallback<MessageIds, Options>) => ReportCallback<MessageIds, Options>;
23
24
  export {};
24
25
  //# sourceMappingURL=report-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-adapter.d.ts","sourceRoot":"","sources":["../../src/_internal/report-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;GAEG;AACH,KAAK,cAAc,CACf,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,IAClC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;AAExD;;GAEG;AACH,KAAK,gBAAgB,CACjB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,IAClC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAwBvD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GACxC,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAElC,YAAY,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAC5D,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAYtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACpC,UAAU,SAAS,MAAM,EAAE,OAAO,SAAS,SAAS,OAAO,EAAE,EAC1D,QAAQ,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,KAC5C,cAAc,CAAC,UAAU,EAAE,OAAO,CAGpC,CAAC"}
1
+ {"version":3,"file":"report-adapter.d.ts","sourceRoot":"","sources":["../../src/_internal/report-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C;;GAEG;AACH,KAAK,cAAc,CACf,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,QAAQ,CAAC,YAAY,CAAC,IACtC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;AAExD;;GAEG;AACH,KAAK,gBAAgB,CACjB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,QAAQ,CAAC,YAAY,CAAC,IACtC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAwBvD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GACxC,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,QAAQ,CAAC,YAAY,CAAC,EAEtC,YAAY,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAC5D,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAYtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACpC,UAAU,SAAS,MAAM,EAAE,OAAO,SAAS,QAAQ,CAAC,YAAY,CAAC,EAC9D,QAAQ,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,KAC5C,cAAc,CAAC,UAAU,EAAE,OAAO,CAGpC,CAAC"}
@@ -1,13 +1,14 @@
1
+ import { isDefined, objectHasOwn } from "ts-extras";
1
2
  /**
2
3
  * Determine whether a report descriptor has a callable own data-property `fix`
3
4
  * value that can be safely omitted.
4
5
  */
5
6
  const hasCallableOwnFixDataProperty = (descriptor) => {
6
7
  const ownFixDescriptor = Object.getOwnPropertyDescriptor(descriptor, "fix");
7
- if (ownFixDescriptor === undefined) {
8
+ if (!isDefined(ownFixDescriptor)) {
8
9
  return false;
9
10
  }
10
- if (!Object.hasOwn(ownFixDescriptor, "value")) {
11
+ if (!objectHasOwn(ownFixDescriptor, "value")) {
11
12
  return false;
12
13
  }
13
14
  return typeof ownFixDescriptor.value === "function";
@@ -1 +1 @@
1
- {"version":3,"file":"report-adapter.js","sourceRoot":"","sources":["../../src/_internal/report-adapter.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,6BAA6B,GAAG,CAIlC,UAA2D,EACpD,EAAE;IACT,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5E,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,gBAAgB,CAAC,KAAK,KAAK,UAAU,CAAC;AACxD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAI3C,UAA2D,EACtB,EAAE;IACvC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,oBAAoB,GAAG;QACzB,GAAG,UAAU;KAChB,CAAC;IAEF,OAAO,oBAAoB,CAAC,GAAG,CAAC;IAEhC,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACrC,CACI,MAA2C,EACR,EAAE,CACzC,CAAC,UAAU,EAAE,EAAE;IACX,MAAM,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC"}
1
+ {"version":3,"file":"report-adapter.js","sourceRoot":"","sources":["../../src/_internal/report-adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAkBpD;;;GAGG;AACH,MAAM,6BAA6B,GAAG,CAIlC,UAA2D,EACpD,EAAE;IACT,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,gBAAgB,CAAC,KAAK,KAAK,UAAU,CAAC;AACxD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAI3C,UAA2D,EACtB,EAAE;IACvC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,oBAAoB,GAAG;QACzB,GAAG,UAAU;KAChB,CAAC;IAEF,OAAO,oBAAoB,CAAC,GAAG,CAAC;IAEhC,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACrC,CACI,MAA2C,EACR,EAAE,CACzC,CAAC,UAAU,EAAE,EAAE;IACX,MAAM,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-catalog.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IAClD,MAAM,EAAE,2BAA2B,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,MAAM,EAAE,CAAC;AAqCvD;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,8BAA8B,EAShF,CAAC;AAEP;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAG1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAC7C,UAAU,MAAM,KACjB,IAAI,GAAG,8BAC+C,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACvC,UAAU,MAAM,KACjB,8BAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,WAAW,CACvD,2BAA2B,EAC3B,8BAA8B,CAGjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACrC,QAAQ,2BAA2B,KACpC,8BAA8B,GAAG,SACa,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAO,OAsB/C,CAAC"}
1
+ {"version":3,"file":"rule-catalog.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IAClD,MAAM,EAAE,2BAA2B,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,MAAM,EAAE,CAAC;AAqCvD;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,8BAA8B,EAShF,CAAC;AAEP;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CACtD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAG1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAC7C,UAAU,MAAM,KACjB,IAAI,GAAG,8BAC+C,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACvC,UAAU,MAAM,KACjB,8BAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,WAAW,CACvD,2BAA2B,EAC3B,8BAA8B,CAGjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACrC,QAAQ,2BAA2B,KACpC,8BAA8B,GAAG,SACa,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAO,OAsB/C,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * @packageDocumentation
3
3
  * Stable catalog IDs for all plugin rules.
4
4
  */
5
+ import { objectFromEntries, setHas } from "ts-extras";
5
6
  /**
6
7
  * Stable global ordering used for rule catalog IDs.
7
8
  *
@@ -48,7 +49,7 @@ export const runtimeCleanupRuleCatalogEntries = orderedRuleNames.map((ruleName,
48
49
  /**
49
50
  * Fast lookup map for rule catalog metadata by rule name.
50
51
  */
51
- export const runtimeCleanupRuleCatalogByRuleName = Object.fromEntries(runtimeCleanupRuleCatalogEntries.map((entry) => [entry.ruleName, entry]));
52
+ export const runtimeCleanupRuleCatalogByRuleName = objectFromEntries(runtimeCleanupRuleCatalogEntries.map((entry) => [entry.ruleName, entry]));
52
53
  /**
53
54
  * Resolve stable catalog metadata for a rule name when available.
54
55
  */
@@ -80,7 +81,7 @@ export const validateRuleCatalogIntegrity = () => {
80
81
  const entries = runtimeCleanupRuleCatalogEntries;
81
82
  const seenRuleIds = new Set();
82
83
  for (const [index, entry] of entries.entries()) {
83
- if (seenRuleIds.has(entry.ruleId)) {
84
+ if (setHas(seenRuleIds, entry.ruleId)) {
84
85
  return false;
85
86
  }
86
87
  seenRuleIds.add(entry.ruleId);
@@ -1 +1 @@
1
- {"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Derivation helpers for canonical rule docs metadata.
4
4
  */
5
5
  import type { TSESLint } from "@typescript-eslint/utils";
6
+ import type { UnknownArray } from "type-fest";
6
7
  import { type RuntimeCleanupConfigName, type RuntimeCleanupConfigReference } from "./runtime-cleanup-config-references.js";
7
8
  /** Normalized docs metadata derived for each rule. */
8
9
  export type RuleDocsMetadata = Readonly<{
@@ -18,7 +19,7 @@ export type RuleDocsMetadata = Readonly<{
18
19
  /** Rule-name keyed metadata map derived from static docs contracts. */
19
20
  export type RuleDocsMetadataByName = Readonly<Record<string, RuleDocsMetadata>>;
20
21
  /** Rule-map contract accepted by docs metadata derivation helpers. */
21
- type RuleMap = Readonly<Record<string, TSESLint.RuleModule<string, readonly unknown[]>>>;
22
+ type RuleMap = Readonly<Record<string, TSESLint.RuleModule<string, Readonly<UnknownArray>>>>;
22
23
  /**
23
24
  * Derive normalized docs metadata for all plugin rules.
24
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rule-docs-metadata.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-docs-metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAErC,MAAM,wCAAwC,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC/D,8BAA8B,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzE,GAAG,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACnC,CAAC;AAEF,sEAAsE;AACtE,KAAK,OAAO,GAAG,QAAQ,CACnB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAClE,CAAC;AAmNF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACrC,OAAO,OAAO,KACf,sBA8BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACrC,wBAAwB,sBAAsB,KAC/C,WAAW,CAAC,MAAM,CAcpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAC7C,wBAAwB,sBAAsB,KAC/C,QAAQ,CACP,MAAM,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC,CActD,CAAC"}
1
+ {"version":3,"file":"rule-docs-metadata.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-docs-metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAW9D,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAErC,MAAM,wCAAwC,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC/D,8BAA8B,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzE,GAAG,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACnC,CAAC;AAEF,sEAAsE;AACtE,KAAK,OAAO,GAAG,QAAQ,CACnB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CACtE,CAAC;AAuOF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACrC,OAAO,OAAO,KACf,sBA8BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACrC,wBAAwB,sBAAsB,KAC/C,WAAW,CAAC,MAAM,CAYpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAC7C,wBAAwB,sBAAsB,KAC/C,QAAQ,CACP,MAAM,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC,CActD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { arrayIncludes, isDefined, isEmpty, isInteger, objectEntries, } from "ts-extras";
1
2
  import { createRuleDocsUrl } from "./rule-docs-url.js";
2
3
  import { isRuntimeCleanupConfigReference, runtimeCleanupConfigReferenceToName, } from "./runtime-cleanup-config-references.js";
3
4
  const RULE_ID_PREFIX = "R";
@@ -14,7 +15,7 @@ const isRuleIdInCanonicalFormat = (value) => {
14
15
  }
15
16
  for (const character of value.slice(RULE_ID_DIGIT_START_INDEX)) {
16
17
  const codePoint = character.codePointAt(0);
17
- if (codePoint === undefined) {
18
+ if (!isDefined(codePoint)) {
18
19
  return false;
19
20
  }
20
21
  if (codePoint < ASCII_ZERO_CODE_POINT ||
@@ -41,16 +42,27 @@ const normalizeRuntimeCleanupConfigReferences = (ruleName, runtimeCleanupConfigs
41
42
  if (!isRuntimeCleanupConfigReference(candidate)) {
42
43
  throw new TypeError(`Rule '${ruleName}' has invalid docs.runtimeCleanupConfigs reference '${String(candidate)}'.`);
43
44
  }
44
- if (references.includes(candidate)) {
45
- continue;
45
+ if (!arrayIncludes(references, candidate)) {
46
+ references.push(candidate);
46
47
  }
47
- references.push(candidate);
48
48
  }
49
- if (references.length === 0) {
49
+ if (isEmpty(references)) {
50
50
  throw new TypeError(`Rule '${ruleName}' must declare at least one docs.runtimeCleanupConfigs reference.`);
51
51
  }
52
52
  return references;
53
53
  };
54
+ const getRequiredNonEmptyString = (ruleName, value, propertyName) => {
55
+ if (typeof value === "string" && value.trim().length > 0) {
56
+ return value;
57
+ }
58
+ throw new TypeError(`Rule '${ruleName}' must declare a non-empty docs.${propertyName}.`);
59
+ };
60
+ const getRequiredBoolean = (ruleName, value, propertyName) => {
61
+ if (typeof value === "boolean") {
62
+ return value;
63
+ }
64
+ throw new TypeError(`Rule '${ruleName}' must declare boolean docs.${propertyName}.`);
65
+ };
54
66
  /**
55
67
  * Validate and narrow dynamic `meta.docs` values to the plugin docs contract.
56
68
  */
@@ -65,29 +77,21 @@ const getRuleDocsContract = (ruleName, docs) => {
65
77
  const ruleNumber = docs["ruleNumber"];
66
78
  const runtimeCleanupConfigs = docs["runtimeCleanupConfigs"];
67
79
  const url = docs["url"];
68
- if (typeof description !== "string" || description.trim().length === 0) {
69
- throw new TypeError(`Rule '${ruleName}' must declare a non-empty docs.description.`);
70
- }
71
- if (typeof url !== "string" || url.trim().length === 0) {
72
- throw new TypeError(`Rule '${ruleName}' must declare a non-empty docs.url.`);
73
- }
80
+ const checkedDescription = getRequiredNonEmptyString(ruleName, description, "description");
81
+ const checkedUrl = getRequiredNonEmptyString(ruleName, url, "url");
74
82
  const expectedRuleDocsUrl = createRuleDocsUrl(ruleName);
75
- if (url !== expectedRuleDocsUrl) {
83
+ if (checkedUrl !== expectedRuleDocsUrl) {
76
84
  throw new TypeError(`Rule '${ruleName}' must declare docs.url as '${expectedRuleDocsUrl}'.`);
77
85
  }
78
- if (typeof recommended !== "boolean") {
79
- throw new TypeError(`Rule '${ruleName}' must declare boolean docs.recommended.`);
80
- }
81
- if (typeof requiresTypeChecking !== "boolean") {
82
- throw new TypeError(`Rule '${ruleName}' must declare boolean docs.requiresTypeChecking.`);
83
- }
86
+ const checkedRecommended = getRequiredBoolean(ruleName, recommended, "recommended");
87
+ const checkedRequiresTypeChecking = getRequiredBoolean(ruleName, requiresTypeChecking, "requiresTypeChecking");
84
88
  if (typeof ruleId !== "string" ||
85
89
  !isRuleIdInCanonicalFormat(ruleId) ||
86
90
  ruleId.trim().length === 0) {
87
91
  throw new TypeError(`Rule '${ruleName}' must declare docs.ruleId using the 'R###' format.`);
88
92
  }
89
93
  if (typeof ruleNumber !== "number" ||
90
- !Number.isInteger(ruleNumber) ||
94
+ !isInteger(ruleNumber) ||
91
95
  ruleNumber < 1) {
92
96
  throw new TypeError(`Rule '${ruleName}' must declare positive integer docs.ruleNumber.`);
93
97
  }
@@ -96,13 +100,13 @@ const getRuleDocsContract = (ruleName, docs) => {
96
100
  throw new TypeError(`Rule '${ruleName}' has invalid docs.runtimeCleanupConfigs reference '${runtimeCleanupConfigs}'.`);
97
101
  }
98
102
  return {
99
- description,
100
- recommended,
101
- requiresTypeChecking,
103
+ description: checkedDescription,
104
+ recommended: checkedRecommended,
105
+ requiresTypeChecking: checkedRequiresTypeChecking,
102
106
  ruleId,
103
107
  ruleNumber,
104
108
  runtimeCleanupConfigs,
105
- url,
109
+ url: checkedUrl,
106
110
  };
107
111
  }
108
112
  if (!Array.isArray(runtimeCleanupConfigs)) {
@@ -115,13 +119,13 @@ const getRuleDocsContract = (ruleName, docs) => {
115
119
  }
116
120
  }
117
121
  return {
118
- description,
119
- recommended,
120
- requiresTypeChecking,
122
+ description: checkedDescription,
123
+ recommended: checkedRecommended,
124
+ requiresTypeChecking: checkedRequiresTypeChecking,
121
125
  ruleId,
122
126
  ruleNumber,
123
127
  runtimeCleanupConfigs,
124
- url,
128
+ url: checkedUrl,
125
129
  };
126
130
  };
127
131
  /**
@@ -129,7 +133,7 @@ const getRuleDocsContract = (ruleName, docs) => {
129
133
  */
130
134
  export const deriveRuleDocsMetadataByName = (rules) => {
131
135
  const metadataByRuleName = {};
132
- for (const [ruleName, ruleModule] of Object.entries(rules)) {
136
+ for (const [ruleName, ruleModule] of objectEntries(rules)) {
133
137
  const ruleDocs = getRuleDocsContract(ruleName, ruleModule.meta.docs);
134
138
  const runtimeCleanupConfigReferences = normalizeRuntimeCleanupConfigReferences(ruleName, ruleDocs.runtimeCleanupConfigs);
135
139
  const runtimeCleanupConfigNames = runtimeCleanupConfigReferences.map((reference) => runtimeCleanupConfigReferenceToName[reference]);
@@ -151,11 +155,10 @@ export const deriveRuleDocsMetadataByName = (rules) => {
151
155
  */
152
156
  export const deriveTypeCheckedRuleNameSet = (ruleDocsMetadataByName) => {
153
157
  const ruleNames = [];
154
- for (const [ruleName, metadata] of Object.entries(ruleDocsMetadataByName)) {
155
- if (!metadata.requiresTypeChecking) {
156
- continue;
158
+ for (const [ruleName, metadata] of objectEntries(ruleDocsMetadataByName)) {
159
+ if (metadata.requiresTypeChecking) {
160
+ ruleNames.push(ruleName);
157
161
  }
158
- ruleNames.push(ruleName);
159
162
  }
160
163
  return new Set(ruleNames);
161
164
  };
@@ -164,7 +167,7 @@ export const deriveTypeCheckedRuleNameSet = (ruleDocsMetadataByName) => {
164
167
  */
165
168
  export const deriveRulePresetMembershipByRuleName = (ruleDocsMetadataByName) => {
166
169
  const membershipByRuleName = {};
167
- for (const [ruleName, metadata] of Object.entries(ruleDocsMetadataByName)) {
170
+ for (const [ruleName, metadata] of objectEntries(ruleDocsMetadataByName)) {
168
171
  membershipByRuleName[ruleName] = metadata.runtimeCleanupConfigNames;
169
172
  }
170
173
  return membershipByRuleName;
@@ -1 +1 @@
1
- {"version":3,"file":"rule-docs-metadata.js","sourceRoot":"","sources":["../../src/_internal/rule-docs-metadata.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACH,+BAA+B,EAG/B,mCAAmC,GACtC,MAAM,wCAAwC,CAAC;AAuChD,MAAM,cAAc,GAAG,GAAY,CAAC;AACpC,MAAM,cAAc,GAAG,CAAU,CAAC;AAClC,MAAM,yBAAyB,GAAG,CAAU,CAAC;AAC7C,MAAM,qBAAqB,GAAG,EAAW,CAAC;AAC1C,MAAM,qBAAqB,GAAG,EAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAW,EAAE;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IACI,SAAS,GAAG,qBAAqB;YACjC,SAAS,GAAG,qBAAqB,EACnC,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,CACpB,KAAc,EAC4B,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,uCAAuC,GAAG,CAC5C,QAAgB,EAChB,qBAA8E,EACtC,EAAE;IAC1C,MAAM,UAAU,GACZ,OAAO,qBAAqB,KAAK,QAAQ;QACrC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACzB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAErC,MAAM,UAAU,GAAoC,EAAE,CAAC;IAEvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,uDAAuD,MAAM,CAAC,SAAS,CAAC,IAAI,CAChG,CAAC;QACN,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,SAAS;QACb,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,mEAAmE,CACvF,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG,CACxB,QAAgB,EAChB,IAAa,EACiB,EAAE;IAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,SAAS,QAAQ,2BAA2B,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAExB,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,8CAA8C,CAClE,CAAC;IACN,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,sCAAsC,CAC1D,CAAC;IACN,CAAC;IAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,+BAA+B,mBAAmB,IAAI,CAC1E,CAAC;IACN,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,0CAA0C,CAC9D,CAAC;IACN,CAAC;IAED,IAAI,OAAO,oBAAoB,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,mDAAmD,CACvE,CAAC;IACN,CAAC;IAED,IACI,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,yBAAyB,CAAC,MAAM,CAAC;QAClC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC;QACC,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,qDAAqD,CACzE,CAAC;IACN,CAAC;IAED,IACI,OAAO,UAAU,KAAK,QAAQ;QAC9B,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;QAC7B,UAAU,GAAG,CAAC,EAChB,CAAC;QACC,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,kDAAkD,CACtE,CAAC;IACN,CAAC;IAED,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,+BAA+B,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,uDAAuD,qBAAqB,IAAI,CACpG,CAAC;QACN,CAAC;QAED,OAAO;YACH,WAAW;YACX,WAAW;YACX,oBAAoB;YACpB,MAAM;YACN,UAAU;YACV,qBAAqB;YACrB,GAAG;SACN,CAAC;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,2EAA2E,CAC/F,CAAC;IACN,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAC5C,IACI,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,+BAA+B,CAAC,SAAS,CAAC,EAC7C,CAAC;YACC,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,uDAAuD,MAAM,CAAC,SAAS,CAAC,IAAI,CAChG,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO;QACH,WAAW;QACX,WAAW;QACX,oBAAoB;QACpB,MAAM;QACN,UAAU;QACV,qBAAqB;QACrB,GAAG;KACN,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,KAAc,EACQ,EAAE;IACxB,MAAM,kBAAkB,GAGpB,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,8BAA8B,GAChC,uCAAuC,CACnC,QAAQ,EACR,QAAQ,CAAC,qBAAqB,CACjC,CAAC;QACN,MAAM,yBAAyB,GAAG,8BAA8B,CAAC,GAAG,CAChE,CAAC,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAChE,CAAC;QAEF,kBAAkB,CAAC,QAAQ,CAAC,GAAG;YAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,yBAAyB;YACzB,8BAA8B;YAC9B,GAAG,EAAE,QAAQ,CAAC,GAAG;SACpB,CAAC;IACN,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,sBAA8C,EAC3B,EAAE;IACrB,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7C,sBAAsB,CACzB,EAAE,CAAC;QACA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACjC,SAAS;QACb,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAChD,sBAA8C,EAGhD,EAAE;IACA,MAAM,oBAAoB,GAGtB,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7C,sBAAsB,CACzB,EAAE,CAAC;QACA,oBAAoB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC;IACxE,CAAC;IAED,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"rule-docs-metadata.js","sourceRoot":"","sources":["../../src/_internal/rule-docs-metadata.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  * Canonical runtime registry of all rule modules shipped by eslint-plugin-runtime-cleanup.
4
4
  */
5
5
  import type { TSESLint } from "@typescript-eslint/utils";
6
+ import type { UnknownArray } from "type-fest";
6
7
  /** Runtime rule module shape used by registry/preset builders. */
7
- export type RuleWithDocs = TSESLint.RuleModule<string, readonly unknown[]>;
8
+ export type RuleWithDocs = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
8
9
  /** Exported typed view consumed by the plugin entrypoint. */
9
10
  export declare const runtimeCleanupRules: Readonly<Record<string, RuleWithDocs>>;
10
11
  export default runtimeCleanupRules;
@@ -1 +1 @@
1
- {"version":3,"file":"rules-registry.d.ts","sourceRoot":"","sources":["../../src/_internal/rules-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAuBzD,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;AA4B3E,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CACzC,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"rules-registry.d.ts","sourceRoot":"","sources":["../../src/_internal/rules-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAuB9C,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AA4B/E,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CACzC,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules-registry.js","sourceRoot":"","sources":["../../src/_internal/rules-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,0BAA0B,MAAM,2CAA2C,CAAC;AACnF,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,2BAA2B,MAAM,4CAA4C,CAAC;AACrF,OAAO,wBAAwB,MAAM,yCAAyC,CAAC;AAC/E,OAAO,0BAA0B,MAAM,2CAA2C,CAAC;AACnF,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AACjF,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,wBAAwB,MAAM,0CAA0C,CAAC;AAChF,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AAKjF;;GAEG;AACH,MAAM,0BAA0B,GAA2C;IACvE,+BAA+B,EAAE,0BAA0B;IAC3D,4BAA4B,EAAE,uBAAuB;IACrD,gCAAgC,EAAE,2BAA2B;IAC7D,6BAA6B,EAAE,wBAAwB;IACvD,+BAA+B,EAAE,0BAA0B;IAC3D,2BAA2B,EAAE,sBAAsB;IACnD,iCAAiC,EAAE,4BAA4B;IAC/D,iCAAiC,EAAE,4BAA4B;IAC/D,2BAA2B,EAAE,sBAAsB;IACnD,8BAA8B,EAAE,yBAAyB;IACzD,iCAAiC,EAAE,4BAA4B;IAC/D,yBAAyB,EAAE,oBAAoB;IAC/C,uBAAuB,EAAE,mBAAmB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,iBAAiB;IACxC,oBAAoB,EAAE,gBAAgB;IACtC,wBAAwB,EAAE,mBAAmB;IAC7C,8BAA8B,EAAE,wBAAwB;IACxD,qBAAqB,EAAE,iBAAiB;IACxC,8BAA8B,EAAE,yBAAyB;CAC5D,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAC5B,0BAA0B,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"rules-registry.js","sourceRoot":"","sources":["../../src/_internal/rules-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,0BAA0B,MAAM,2CAA2C,CAAC;AACnF,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,2BAA2B,MAAM,4CAA4C,CAAC;AACrF,OAAO,wBAAwB,MAAM,yCAAyC,CAAC;AAC/E,OAAO,0BAA0B,MAAM,2CAA2C,CAAC;AACnF,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AACjF,OAAO,4BAA4B,MAAM,6CAA6C,CAAC;AACvF,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,wBAAwB,MAAM,0CAA0C,CAAC;AAChF,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AAKjF;;GAEG;AACH,MAAM,0BAA0B,GAA2C;IACvE,+BAA+B,EAAE,0BAA0B;IAC3D,4BAA4B,EAAE,uBAAuB;IACrD,gCAAgC,EAAE,2BAA2B;IAC7D,6BAA6B,EAAE,wBAAwB;IACvD,+BAA+B,EAAE,0BAA0B;IAC3D,2BAA2B,EAAE,sBAAsB;IACnD,iCAAiC,EAAE,4BAA4B;IAC/D,iCAAiC,EAAE,4BAA4B;IAC/D,2BAA2B,EAAE,sBAAsB;IACnD,8BAA8B,EAAE,yBAAyB;IACzD,iCAAiC,EAAE,4BAA4B;IAC/D,yBAAyB,EAAE,oBAAoB;IAC/C,uBAAuB,EAAE,mBAAmB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,iBAAiB;IACxC,oBAAoB,EAAE,gBAAgB;IACtC,wBAAwB,EAAE,mBAAmB;IAC7C,8BAA8B,EAAE,wBAAwB;IACxD,qBAAqB,EAAE,iBAAiB;IACxC,8BAA8B,EAAE,yBAAyB;CAC5D,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAC5B,0BAA0B,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * @packageDocumentation
3
3
  * Shared runtime-cleanup preset/config reference constants and type guards.
4
4
  */
5
+ import type { ArrayValues } from "type-fest";
5
6
  /** Canonical flat-config preset keys exposed through `plugin.configs`. */
6
7
  export declare const runtimeCleanupConfigNames: readonly ["all", "experimental", "minimal", "recommended", "recommended-type-checked", "strict"];
7
8
  /** Metadata contract shared across preset wiring, docs, and README rendering. */
@@ -12,7 +13,7 @@ export type RuntimeCleanupConfigMetadata = Readonly<{
12
13
  requiresTypeChecking: boolean;
13
14
  }>;
14
15
  /** Canonical flat-config preset key type exposed through `plugin.configs`. */
15
- export type RuntimeCleanupConfigName = (typeof runtimeCleanupConfigNames)[number];
16
+ export type RuntimeCleanupConfigName = ArrayValues<typeof runtimeCleanupConfigNames>;
16
17
  /**
17
18
  * Canonical metadata for every exported `runtime-cleanup` preset key.
18
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-cleanup-config-references.d.ts","sourceRoot":"","sources":["../../src/_internal/runtime-cleanup-config-references.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,kGAO5B,CAAC;AAEX,iFAAiF;AACjF,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,mBAAmB,wBAAwB,EAAE,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;CACjC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,MAAM,wBAAwB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CACrD,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,CAsCjE,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,sCAAsC,EAAE,SAAS,wBAAwB,EAQjF,CAAC;AAEN,+EAA+E;AAC/E,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CAAC;IACvD,6BAA6B,EAAE,KAAK,CAAC;IACrC,sCAAsC,EAAE,cAAc,CAAC;IACvD,iCAAiC,EAAE,SAAS,CAAC;IAC7C,qCAAqC,EAAE,aAAa,CAAC;IACrD,kDAAkD,EAAE,0BAA0B,CAAC;IAC/E,gCAAgC,EAAE,QAAQ,CAAC;IAC3C,qDAAqD,EAAE,0BAA0B,CAAC;CACrF,CAUA,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,6BAA6B,GACrC,MAAM,OAAO,mCAAmC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,+BAA+B,GACxC,OAAO,MAAM,KACd,KAAK,IAAI,6BACiD,CAAC"}
1
+ {"version":3,"file":"runtime-cleanup-config-references.d.ts","sourceRoot":"","sources":["../../src/_internal/runtime-cleanup-config-references.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,kGAO5B,CAAC;AAEX,iFAAiF;AACjF,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,mBAAmB,wBAAwB,EAAE,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;CACjC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,MAAM,wBAAwB,GAChC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CACrD,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,CAsCjE,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,sCAAsC,EAAE,SAAS,wBAAwB,EAQjF,CAAC;AAEN,+EAA+E;AAC/E,eAAO,MAAM,mCAAmC,EAAE,QAAQ,CAAC;IACvD,6BAA6B,EAAE,KAAK,CAAC;IACrC,sCAAsC,EAAE,cAAc,CAAC;IACvD,iCAAiC,EAAE,SAAS,CAAC;IAC7C,qCAAqC,EAAE,aAAa,CAAC;IACrD,kDAAkD,EAAE,0BAA0B,CAAC;IAC/E,gCAAgC,EAAE,QAAQ,CAAC;IAC3C,qDAAqD,EAAE,0BAA0B,CAAC;CACrF,CAUA,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,6BAA6B,GACrC,MAAM,OAAO,mCAAmC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,+BAA+B,GACxC,OAAO,MAAM,KACd,KAAK,IAAI,6BACgD,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * @packageDocumentation
3
3
  * Shared runtime-cleanup preset/config reference constants and type guards.
4
4
  */
5
+ import { objectHasOwn } from "ts-extras";
5
6
  /** Canonical flat-config preset keys exposed through `plugin.configs`. */
6
7
  export const runtimeCleanupConfigNames = [
7
8
  "all",
@@ -74,5 +75,5 @@ export const runtimeCleanupConfigReferenceToName = {
74
75
  /**
75
76
  * Check whether a string is a supported rule docs preset reference.
76
77
  */
77
- export const isRuntimeCleanupConfigReference = (value) => Object.hasOwn(runtimeCleanupConfigReferenceToName, value);
78
+ export const isRuntimeCleanupConfigReference = (value) => objectHasOwn(runtimeCleanupConfigReferenceToName, value);
78
79
  //# sourceMappingURL=runtime-cleanup-config-references.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-cleanup-config-references.js","sourceRoot":"","sources":["../../src/_internal/runtime-cleanup-config-references.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,KAAK;IACL,cAAc;IACd,SAAS;IACT,aAAa;IACb,0BAA0B;IAC1B,QAAQ;CACF,CAAC;AAcX;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAE3C;IACA,GAAG,EAAE;QACD,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,qBAAqB;QACjC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,IAAI;KAC7B;IACD,YAAY,EAAE;QACV,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,8BAA8B;QAC1C,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,KAAK;KAC9B;IACD,OAAO,EAAE;QACL,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,yBAAyB;QACrC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,KAAK;KAC9B;IACD,WAAW,EAAE;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAA6B;QACzC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,KAAK;KAC9B;IACD,0BAA0B,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,0CAA0C;QACtD,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,IAAI;KAC7B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,wBAAwB;QACpC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,IAAI;KAC7B;CACJ,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,sCAAsC,GAC/C;IACI,SAAS;IACT,aAAa;IACb,0BAA0B;IAC1B,QAAQ;IACR,KAAK;IACL,cAAc;CACjB,CAAC;AAEN,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mCAAmC,GAQ3C;IACD,6BAA6B,EAAE,KAAK;IACpC,sCAAsC,EAAE,cAAc;IACtD,iCAAiC,EAAE,SAAS;IAC5C,qCAAqC,EAAE,aAAa;IACpD,kDAAkD,EAC9C,0BAA0B;IAC9B,gCAAgC,EAAE,QAAQ;IAC1C,qDAAqD,EACjD,0BAA0B;CACjC,CAAC;AAMF;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC3C,KAAa,EACyB,EAAE,CACxC,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime-cleanup-config-references.js","sourceRoot":"","sources":["../../src/_internal/runtime-cleanup-config-references.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,KAAK;IACL,cAAc;IACd,SAAS;IACT,aAAa;IACb,0BAA0B;IAC1B,QAAQ;CACF,CAAC;AAcX;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAE3C;IACA,GAAG,EAAE;QACD,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,qBAAqB;QACjC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,IAAI;KAC7B;IACD,YAAY,EAAE;QACV,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,8BAA8B;QAC1C,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,KAAK;KAC9B;IACD,OAAO,EAAE;QACL,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,yBAAyB;QACrC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,KAAK;KAC9B;IACD,WAAW,EAAE;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,6BAA6B;QACzC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,KAAK;KAC9B;IACD,0BAA0B,EAAE;QACxB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,0CAA0C;QACtD,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,IAAI;KAC7B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,wBAAwB;QACpC,WAAW,EAAE,CAAC;QACd,oBAAoB,EAAE,IAAI;KAC7B;CACJ,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,sCAAsC,GAC/C;IACI,SAAS;IACT,aAAa;IACb,0BAA0B;IAC1B,QAAQ;IACR,KAAK;IACL,cAAc;CACjB,CAAC;AAEN,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mCAAmC,GAQ3C;IACD,6BAA6B,EAAE,KAAK;IACpC,sCAAsC,EAAE,cAAc;IACtD,iCAAiC,EAAE,SAAS;IAC5C,qCAAqC,EAAE,aAAa;IACpD,kDAAkD,EAC9C,0BAA0B;IAC9B,gCAAgC,EAAE,QAAQ;IAC1C,qDAAqD,EACjD,0BAA0B;CACjC,CAAC;AAMF;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC3C,KAAa,EACyB,EAAE,CACxC,YAAY,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-variable.d.ts","sourceRoot":"","sources":["../../src/_internal/scope-variable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAChC,OAAO,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EACtD,cAAc,MAAM,KACrB,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAwBxB,CAAC"}
1
+ {"version":3,"file":"scope-variable.d.ts","sourceRoot":"","sources":["../../src/_internal/scope-variable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAMzD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAChC,OAAO,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EACtD,cAAc,MAAM,KACrB,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAwBxB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { isDefined } from "ts-extras";
1
2
  import { resolveFirstValueInLinkedStructure } from "./cycle-safe-linked-search.js";
2
3
  /**
3
4
  * Resolve a variable binding by walking the current scope and all parent
@@ -14,13 +15,13 @@ export const getVariableInScopeChain = (scope, variableName) => {
14
15
  getNextNode: (currentScope) => currentScope.upper,
15
16
  resolveValue: (currentScope) => {
16
17
  const variable = currentScope.set.get(variableName);
17
- return variable === undefined
18
+ return isDefined(variable)
18
19
  ? {
19
- found: false,
20
- }
21
- : {
22
20
  found: true,
23
21
  value: variable,
22
+ }
23
+ : {
24
+ found: false,
24
25
  };
25
26
  },
26
27
  startNode: scope,
@@ -1 +1 @@
1
- {"version":3,"file":"scope-variable.js","sourceRoot":"","sources":["../../src/_internal/scope-variable.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AAEnF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,KAAsD,EACtD,YAAoB,EACU,EAAE;IAChC,MAAM,YAAY,GAAG,kCAAkC,CAGrD;QACE,WAAW,EAAE,CACT,YAA4C,EACP,EAAE,CAAC,YAAY,CAAC,KAAK;QAC9D,YAAY,EAAE,CAAC,YAA4C,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEpD,OAAO,QAAQ,KAAK,SAAS;gBACzB,CAAC,CAAC;oBACI,KAAK,EAAE,KAAK;iBACf;gBACH,CAAC,CAAC;oBACI,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,QAAQ;iBAClB,CAAC;QACZ,CAAC;QACD,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC,CAAC"}
1
+ {"version":3,"file":"scope-variable.js","sourceRoot":"","sources":["../../src/_internal/scope-variable.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AAEnF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,KAAsD,EACtD,YAAoB,EACU,EAAE;IAChC,MAAM,YAAY,GAAG,kCAAkC,CAGrD;QACE,WAAW,EAAE,CACT,YAA4C,EACP,EAAE,CAAC,YAAY,CAAC,KAAK;QAC9D,YAAY,EAAE,CAAC,YAA4C,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEpD,OAAO,SAAS,CAAC,QAAQ,CAAC;gBACtB,CAAC,CAAC;oBACI,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,QAAQ;iBAClB;gBACH,CAAC,CAAC;oBACI,KAAK,EAAE,KAAK;iBACf,CAAC;QACZ,CAAC;QACD,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC,CAAC"}
@@ -2,10 +2,10 @@
2
2
  * @packageDocumentation
3
3
  * Shared TypeScript checker helpers for low-noise type-aware rules.
4
4
  */
5
- import type ts from "typescript";
5
+ import type { Type, TypeChecker } from "typescript";
6
6
  /**
7
7
  * Check whether a type or any type in its base hierarchy has a given symbol
8
8
  * name.
9
9
  */
10
- export declare const hasTypeNameInHierarchy: (checker: ts.TypeChecker, type: ts.Type, expectedTypeName: string, seenTypes?: ReadonlySet<ts.Type>) => boolean;
10
+ export declare const hasTypeNameInHierarchy: (checker: TypeChecker, candidate: Type, expectedTypeName: string, seenTypes?: ReadonlySet<Type>) => boolean;
11
11
  //# sourceMappingURL=type-checker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-checker.d.ts","sourceRoot":"","sources":["../../src/_internal/type-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAC/B,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,kBAAkB,MAAM,EACxB,YAAW,WAAW,CAAC,EAAE,CAAC,IAAI,CAAa,KAC5C,OAwCF,CAAC"}
1
+ {"version":3,"file":"type-checker.d.ts","sourceRoot":"","sources":["../../src/_internal/type-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIpD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAC/B,SAAS,WAAW,EACpB,WAAW,IAAI,EACf,kBAAkB,MAAM,EACxB,YAAW,WAAW,CAAC,IAAI,CAAa,KACzC,OAyCF,CAAC"}
@@ -1,19 +1,21 @@
1
+ import { setHas } from "ts-extras";
1
2
  /**
2
3
  * Check whether a type or any type in its base hierarchy has a given symbol
3
4
  * name.
4
5
  */
5
- export const hasTypeNameInHierarchy = (checker, type, expectedTypeName, seenTypes = new Set()) => {
6
- if (seenTypes.has(type)) {
6
+ export const hasTypeNameInHierarchy = (checker, candidate, expectedTypeName, seenTypes = new Set()) => {
7
+ const seenCandidate = candidate;
8
+ if (setHas(seenTypes, seenCandidate)) {
7
9
  return false;
8
10
  }
9
11
  const nextSeenTypes = new Set(seenTypes);
10
- nextSeenTypes.add(type);
11
- if (type.isUnionOrIntersection()) {
12
- return type.types.some((entry) => hasTypeNameInHierarchy(checker, entry, expectedTypeName, nextSeenTypes));
12
+ nextSeenTypes.add(candidate);
13
+ if (candidate.isUnionOrIntersection()) {
14
+ return candidate.types.some((entry) => hasTypeNameInHierarchy(checker, entry, expectedTypeName, nextSeenTypes));
13
15
  }
14
- const apparentType = checker.getApparentType(type);
15
- const typeName = apparentType.symbol.getName();
16
- if (typeName === expectedTypeName) {
16
+ const apparentType = checker.getApparentType(candidate);
17
+ const candidateName = apparentType.symbol.getName();
18
+ if (candidateName === expectedTypeName) {
17
19
  return true;
18
20
  }
19
21
  if (!apparentType.isClassOrInterface()) {
@@ -1 +1 @@
1
- {"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../src/_internal/type-checker.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,OAAuB,EACvB,IAAa,EACb,gBAAwB,EACxB,YAAkC,IAAI,GAAG,EAAE,EACpC,EAAE;IACT,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,sBAAsB,CAClB,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,aAAa,CAChB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAE/C,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAErD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/B,sBAAsB,CAClB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,aAAa,CAChB,CACJ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../src/_internal/type-checker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,OAAoB,EACpB,SAAe,EACf,gBAAwB,EACxB,YAA+B,IAAI,GAAG,EAAE,EACjC,EAAE;IACT,MAAM,aAAa,GAAY,SAAS,CAAC;IACzC,IAAI,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7B,IAAI,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAW,EAAE,EAAE,CACxC,sBAAsB,CAClB,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,aAAa,CAChB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAEpD,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAErD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/B,sBAAsB,CAClB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,aAAa,CAChB,CACJ,CAAC;AACN,CAAC,CAAC"}
@@ -1,4 +1,8 @@
1
- import type { TSESTree } from "@typescript-eslint/utils";
1
+ /**
2
+ * @packageDocumentation
3
+ * Conservative safety checks for autofixes that introduce type predicates.
4
+ */
5
+ import { type TSESTree } from "@typescript-eslint/utils";
2
6
  /**
3
7
  * Determine whether a call-expression replacement to a type-predicate helper is
4
8
  * safe to apply as an autofix.
@@ -1 +1 @@
1
- {"version":3,"file":"type-predicate-autofix-safety.d.ts","sourceRoot":"","sources":["../../src/_internal/type-predicate-autofix-safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA4DzD;;;;;;;;GAQG;AACH,eAAO,MAAM,oCAAoC,GAC7C,MAAM,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,KACpC,OAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACnC,MAAM,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,KACxC,OAAqD,CAAC"}
1
+ {"version":3,"file":"type-predicate-autofix-safety.d.ts","sourceRoot":"","sources":["../../src/_internal/type-predicate-autofix-safety.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAwDzE;;;;;;;;GAQG;AACH,eAAO,MAAM,oCAAoC,GAC7C,MAAM,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,KACpC,OAgBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACnC,MAAM,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,KACxC,OAAqD,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Conservative safety checks for autofixes that introduce type predicates.
4
4
  */
5
5
  import { AST_NODE_TYPES } from "@typescript-eslint/utils";
6
+ import { isDefined } from "ts-extras";
6
7
  import { getParentNode } from "./ast-node.js";
7
8
  import { isTransparentExpressionWrapper } from "./value-rewrite-autofix-safety.js";
8
9
  const isLogicalExpressionOperand = (parentNode, currentNode) => parentNode.type === AST_NODE_TYPES.LogicalExpression &&
@@ -35,17 +36,15 @@ const isBooleanGuardContext = (parentNode, currentNode) => isUnaryNotArgument(pa
35
36
  */
36
37
  export const isTypePredicateExpressionAutofixSafe = (node) => {
37
38
  let currentNode = node;
38
- while (true) {
39
- const parentNode = getParentNode(currentNode);
40
- if (parentNode === undefined) {
41
- return true;
42
- }
43
- if (isTransparentExpressionWrapper(parentNode, currentNode)) {
44
- currentNode = parentNode;
45
- continue;
46
- }
47
- return !isBooleanGuardContext(parentNode, currentNode);
39
+ let parentNode = getParentNode(currentNode);
40
+ while (isDefined(parentNode) &&
41
+ isTransparentExpressionWrapper(parentNode, currentNode)) {
42
+ currentNode = parentNode;
43
+ parentNode = getParentNode(currentNode);
48
44
  }
45
+ return isDefined(parentNode)
46
+ ? !isBooleanGuardContext(parentNode, currentNode)
47
+ : true;
49
48
  };
50
49
  /**
51
50
  * Backward-compatible alias for call-expression-based callers.
@@ -1 +1 @@
1
- {"version":3,"file":"type-predicate-autofix-safety.js","sourceRoot":"","sources":["../../src/_internal/type-predicate-autofix-safety.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAEnF,MAAM,0BAA0B,GAAG,CAC/B,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IACpD,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;AAE1E,MAAM,iBAAiB,GAAG,CACtB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,qBAAqB;IACxD,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;AAEpC,MAAM,cAAc,GAAG,CACnB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;IAChD,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY;IAC/C,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW;IAC9C,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC;IACtD,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;AAEpC,MAAM,gBAAgB,GAAG,CACrB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;IAC7C,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;AAEpC,MAAM,kBAAkB,GAAG,CACvB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;IAClD,UAAU,CAAC,QAAQ,KAAK,GAAG;IAC3B,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC;AAExC,MAAM,qBAAqB,GAAG,CAC1B,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC;IAC3C,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC;IACnD,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;IAC1C,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC;IACvC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAChD,IAAmC,EAC5B,EAAE;IACT,IAAI,WAAW,GAA4B,IAAI,CAAC;IAEhD,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,8BAA8B,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;YAC1D,WAAW,GAAG,UAAU,CAAC;YACzB,SAAS;QACb,CAAC;QAED,OAAO,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,IAAuC,EAChC,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"type-predicate-autofix-safety.js","sourceRoot":"","sources":["../../src/_internal/type-predicate-autofix-safety.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAiB,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAGnF,MAAM,0BAA0B,GAAG,CAC/B,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IACpD,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;AAE1E,MAAM,iBAAiB,GAAG,CACtB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,qBAAqB;IACxD,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;AAEpC,MAAM,cAAc,GAAG,CACnB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;IAChD,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY;IAC/C,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW;IAC9C,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC;IACtD,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;AAEpC,MAAM,gBAAgB,GAAG,CACrB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;IAC7C,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;AAEpC,MAAM,kBAAkB,GAAG,CACvB,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;IAClD,UAAU,CAAC,QAAQ,KAAK,GAAG;IAC3B,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC;AAExC,MAAM,qBAAqB,GAAG,CAC1B,UAAmC,EACnC,WAAoC,EAC7B,EAAE,CACT,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC;IAC3C,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC;IACnD,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;IAC1C,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC;IACvC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAChD,IAAmC,EAC5B,EAAE;IACT,IAAI,WAAW,GAA4B,IAAI,CAAC;IAEhD,IAAI,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5C,OACI,SAAS,CAAC,UAAU,CAAC;QACrB,8BAA8B,CAAC,UAAU,EAAE,WAAW,CAAC,EACzD,CAAC;QACC,WAAW,GAAG,UAAU,CAAC;QACzB,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,SAAS,CAAC,UAAU,CAAC;QACxB,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,IAAuC,EAChC,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC"}