@askviraj/linter 1.1.5 → 1.1.6

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 (814) hide show
  1. package/node_modules/@astrojs/compiler-binding/package.json +10 -10
  2. package/node_modules/@astrojs/compiler-binding-darwin-arm64/astro.darwin-arm64.node +0 -0
  3. package/node_modules/@astrojs/compiler-binding-darwin-arm64/package.json +1 -1
  4. package/node_modules/@astrojs/compiler-binding-darwin-x64/astro.darwin-x64.node +0 -0
  5. package/node_modules/@astrojs/compiler-binding-darwin-x64/package.json +1 -1
  6. package/node_modules/@astrojs/compiler-binding-linux-arm64-gnu/astro.linux-arm64-gnu.node +0 -0
  7. package/node_modules/@astrojs/compiler-binding-linux-arm64-gnu/package.json +1 -1
  8. package/node_modules/@astrojs/compiler-binding-linux-arm64-musl/astro.linux-arm64-musl.node +0 -0
  9. package/node_modules/@astrojs/compiler-binding-linux-arm64-musl/package.json +1 -1
  10. package/node_modules/@astrojs/compiler-binding-linux-x64-gnu/astro.linux-x64-gnu.node +0 -0
  11. package/node_modules/@astrojs/compiler-binding-linux-x64-gnu/package.json +1 -1
  12. package/node_modules/@astrojs/compiler-binding-linux-x64-musl/astro.linux-x64-musl.node +0 -0
  13. package/node_modules/@astrojs/compiler-binding-linux-x64-musl/package.json +1 -1
  14. package/node_modules/@astrojs/compiler-binding-win32-arm64-msvc/astro.win32-arm64-msvc.node +0 -0
  15. package/node_modules/@astrojs/compiler-binding-win32-arm64-msvc/package.json +1 -1
  16. package/node_modules/@astrojs/compiler-binding-win32-x64-msvc/astro.win32-x64-msvc.node +0 -0
  17. package/node_modules/@astrojs/compiler-binding-win32-x64-msvc/package.json +1 -1
  18. package/node_modules/@astrojs/compiler-rs/package.json +2 -2
  19. package/node_modules/@html-eslint/core/dist/index.js +2 -0
  20. package/node_modules/@html-eslint/core/dist/index.js.map +1 -1
  21. package/node_modules/@html-eslint/core/dist/index.mjs +2 -0
  22. package/node_modules/@html-eslint/core/dist/index.mjs.map +1 -1
  23. package/node_modules/@html-eslint/core/package.json +3 -3
  24. package/node_modules/@html-eslint/eslint-plugin/lib/rules/no-duplicate-attrs.js +140 -16
  25. package/node_modules/@html-eslint/eslint-plugin/lib/rules/no-duplicate-id.js +24 -5
  26. package/node_modules/@html-eslint/eslint-plugin/lib/rules/no-duplicate-in-head.js +17 -5
  27. package/node_modules/@html-eslint/eslint-plugin/lib/rules/utils/branch-segments.js +147 -0
  28. package/node_modules/@html-eslint/eslint-plugin/package.json +7 -7
  29. package/node_modules/@html-eslint/eslint-plugin/types/rules/no-duplicate-attrs.d.ts.map +1 -1
  30. package/node_modules/@html-eslint/eslint-plugin/types/rules/no-duplicate-id.d.ts.map +1 -1
  31. package/node_modules/@html-eslint/eslint-plugin/types/rules/no-duplicate-in-head.d.ts.map +1 -1
  32. package/node_modules/@html-eslint/eslint-plugin/types/rules/utils/branch-segments.d.ts +71 -0
  33. package/node_modules/@html-eslint/eslint-plugin/types/rules/utils/branch-segments.d.ts.map +1 -0
  34. package/node_modules/@html-eslint/parser/lib/branch-annotation.js +282 -0
  35. package/node_modules/@html-eslint/parser/lib/options.js +47 -2
  36. package/node_modules/@html-eslint/parser/lib/parser.js +62 -1
  37. package/node_modules/@html-eslint/parser/lib/template-engine-syntax-preset.js +117 -2
  38. package/node_modules/@html-eslint/parser/package.json +4 -4
  39. package/node_modules/@html-eslint/parser/types/branch-annotation.d.ts +93 -0
  40. package/node_modules/@html-eslint/parser/types/branch-annotation.d.ts.map +1 -0
  41. package/node_modules/@html-eslint/parser/types/options.d.ts +12 -1
  42. package/node_modules/@html-eslint/parser/types/options.d.ts.map +1 -1
  43. package/node_modules/@html-eslint/parser/types/parser.d.ts.map +1 -1
  44. package/node_modules/@html-eslint/parser/types/template-engine-syntax-preset.d.ts +76 -2
  45. package/node_modules/@html-eslint/parser/types/template-engine-syntax-preset.d.ts.map +1 -1
  46. package/node_modules/@html-eslint/template-parser/package.json +3 -3
  47. package/node_modules/@html-eslint/template-syntax-parser/package.json +3 -3
  48. package/node_modules/@html-eslint/types/package.json +2 -2
  49. package/node_modules/@humanwhocodes/momoa/dist/momoa.cjs +14 -1
  50. package/node_modules/@humanwhocodes/momoa/dist/momoa.js +14 -1
  51. package/node_modules/@humanwhocodes/momoa/package.json +4 -4
  52. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +115 -71
  53. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +2 -2
  54. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +115 -71
  55. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +2 -2
  56. package/node_modules/@jridgewell/sourcemap-codec/package.json +2 -1
  57. package/node_modules/@jridgewell/sourcemap-codec/src/range-mappings.ts +47 -0
  58. package/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts +66 -46
  59. package/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts +27 -11
  60. package/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts +13 -17
  61. package/node_modules/@jridgewell/sourcemap-codec/types/range-mappings.d.cts +5 -0
  62. package/node_modules/@jridgewell/sourcemap-codec/types/range-mappings.d.cts.map +1 -0
  63. package/node_modules/@jridgewell/sourcemap-codec/types/range-mappings.d.mts +5 -0
  64. package/node_modules/@jridgewell/sourcemap-codec/types/range-mappings.d.mts.map +1 -0
  65. package/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map +1 -1
  66. package/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map +1 -1
  67. package/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts +2 -0
  68. package/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map +1 -1
  69. package/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts +2 -0
  70. package/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map +1 -1
  71. package/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts +4 -2
  72. package/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map +1 -1
  73. package/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts +4 -2
  74. package/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map +1 -1
  75. package/node_modules/@rviscomi/capo.js/README.md +18 -6
  76. package/node_modules/@rviscomi/capo.js/dist/adapters/adapter.cjs +8 -0
  77. package/node_modules/@rviscomi/capo.js/dist/adapters/browser.cjs +26 -2
  78. package/node_modules/@rviscomi/capo.js/dist/adapters/index.cjs +26 -2
  79. package/node_modules/@rviscomi/capo.js/dist/analyzer.cjs +300 -263
  80. package/node_modules/@rviscomi/capo.js/dist/chrome/README.md +5 -1
  81. package/node_modules/@rviscomi/capo.js/dist/chrome/background.js +1 -1
  82. package/node_modules/@rviscomi/capo.js/dist/chrome/capo.css +4 -11
  83. package/node_modules/@rviscomi/capo.js/dist/chrome/capo.html +2 -2
  84. package/node_modules/@rviscomi/capo.js/dist/chrome/capo.js +3 -3
  85. package/node_modules/@rviscomi/capo.js/dist/chrome/chrome.js +2 -9
  86. package/node_modules/@rviscomi/capo.js/dist/chrome/manifest.json +1 -1
  87. package/node_modules/@rviscomi/capo.js/dist/chrome/options/options.html +1 -1
  88. package/node_modules/@rviscomi/capo.js/dist/chrome/options/options.js +1 -1
  89. package/node_modules/@rviscomi/capo.js/dist/chrome/styles/open-props.css +16 -14
  90. package/node_modules/@rviscomi/capo.js/dist/chrome.zip +0 -0
  91. package/node_modules/@rviscomi/capo.js/dist/firefox/README.md +5 -1
  92. package/node_modules/@rviscomi/capo.js/dist/firefox/background.js +1 -1
  93. package/node_modules/@rviscomi/capo.js/dist/firefox/capo.css +4 -11
  94. package/node_modules/@rviscomi/capo.js/dist/firefox/capo.html +2 -2
  95. package/node_modules/@rviscomi/capo.js/dist/firefox/capo.js +3 -3
  96. package/node_modules/@rviscomi/capo.js/dist/firefox/chrome.js +2 -9
  97. package/node_modules/@rviscomi/capo.js/dist/firefox/manifest.json +1 -1
  98. package/node_modules/@rviscomi/capo.js/dist/firefox/options/options.html +1 -1
  99. package/node_modules/@rviscomi/capo.js/dist/firefox/options/options.js +1 -1
  100. package/node_modules/@rviscomi/capo.js/dist/firefox/styles/open-props.css +16 -14
  101. package/node_modules/@rviscomi/capo.js/dist/firefox.zip +0 -0
  102. package/node_modules/@rviscomi/capo.js/dist/index.cjs +378 -368
  103. package/node_modules/@rviscomi/capo.js/dist/lib/colors.cjs +1 -1
  104. package/node_modules/@rviscomi/capo.js/dist/lib/io.cjs +7 -5
  105. package/node_modules/@rviscomi/capo.js/dist/lib/options.cjs +7 -3
  106. package/node_modules/@rviscomi/capo.js/dist/lib/rules.cjs +25 -4
  107. package/node_modules/@rviscomi/capo.js/dist/lib/validation.cjs +326 -358
  108. package/node_modules/@rviscomi/capo.js/dist/source.zip +0 -0
  109. package/node_modules/@rviscomi/capo.js/dist/types/adapters/adapter.d.ts +6 -0
  110. package/node_modules/@rviscomi/capo.js/dist/types/adapters/browser.d.ts +8 -1
  111. package/node_modules/@rviscomi/capo.js/dist/types/adapters/index.d.ts +2 -2
  112. package/node_modules/@rviscomi/capo.js/dist/types/analyzer.d.ts +5 -0
  113. package/node_modules/@rviscomi/capo.js/dist/types/index.d.ts +5 -5
  114. package/node_modules/@rviscomi/capo.js/dist/types/lib/options.d.ts +1 -1
  115. package/node_modules/@rviscomi/capo.js/dist/types/lib/rules.d.ts +9 -2
  116. package/node_modules/@rviscomi/capo.js/dist/types/lib/validation.d.ts +4 -2
  117. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/charset.d.ts +28 -0
  118. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/content-type.d.ts +18 -0
  119. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/csp.d.ts +12 -0
  120. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/default-style.d.ts +18 -0
  121. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/head-elements.d.ts +52 -0
  122. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/http-equiv.d.ts +18 -0
  123. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/origin-trial.d.ts +19 -0
  124. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/preload.d.ts +41 -0
  125. package/node_modules/@rviscomi/capo.js/dist/types/lib/validations/viewport.d.ts +18 -0
  126. package/node_modules/@rviscomi/capo.js/dist/types/worker/worker.d.ts +16 -0
  127. package/node_modules/@rviscomi/capo.js/package.json +8 -12
  128. package/node_modules/@rviscomi/capo.js/src/adapters/adapter.js +37 -28
  129. package/node_modules/@rviscomi/capo.js/src/adapters/browser.js +41 -24
  130. package/node_modules/@rviscomi/capo.js/src/adapters/index.js +3 -3
  131. package/node_modules/@rviscomi/capo.js/src/adapters/test-suite.js +129 -129
  132. package/node_modules/@rviscomi/capo.js/src/analyzer.js +20 -25
  133. package/node_modules/@rviscomi/capo.js/src/extension/README.md +5 -1
  134. package/node_modules/@rviscomi/capo.js/src/extension/background.js +1 -1
  135. package/node_modules/@rviscomi/capo.js/src/extension/capo.css +4 -11
  136. package/node_modules/@rviscomi/capo.js/src/extension/capo.html +2 -2
  137. package/node_modules/@rviscomi/capo.js/src/extension/capo.js +21 -18
  138. package/node_modules/@rviscomi/capo.js/src/extension/chrome.js +2 -9
  139. package/node_modules/@rviscomi/capo.js/src/extension/manifest.json +2 -6
  140. package/node_modules/@rviscomi/capo.js/src/extension/options/options.html +1 -1
  141. package/node_modules/@rviscomi/capo.js/src/extension/options.js +16 -16
  142. package/node_modules/@rviscomi/capo.js/src/extension/styles/open-props.css +16 -14
  143. package/node_modules/@rviscomi/capo.js/src/index.js +10 -20
  144. package/node_modules/@rviscomi/capo.js/src/lib/colors.js +17 -17
  145. package/node_modules/@rviscomi/capo.js/src/lib/io.js +19 -17
  146. package/node_modules/@rviscomi/capo.js/src/lib/options.js +23 -20
  147. package/node_modules/@rviscomi/capo.js/src/lib/rules.js +124 -95
  148. package/node_modules/@rviscomi/capo.js/src/lib/validation.js +57 -857
  149. package/node_modules/@rviscomi/capo.js/src/lib/validations/content-type.js +94 -0
  150. package/node_modules/@rviscomi/capo.js/src/lib/validations/csp.js +68 -0
  151. package/node_modules/@rviscomi/capo.js/src/lib/validations/default-style.js +62 -0
  152. package/node_modules/@rviscomi/capo.js/src/lib/validations/http-equiv.js +138 -0
  153. package/node_modules/@rviscomi/capo.js/src/lib/validations/origin-trial.js +80 -0
  154. package/node_modules/@rviscomi/capo.js/src/lib/validations/preload.js +135 -0
  155. package/node_modules/@rviscomi/capo.js/src/lib/validations/viewport.js +183 -0
  156. package/node_modules/@rviscomi/capo.js/src/web/capo.js +12 -12
  157. package/node_modules/@rviscomi/capo.js/src/worker/worker.js +180 -0
  158. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.d.ts +2 -2
  159. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js +1 -0
  160. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.js +1 -0
  161. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/base.js +1 -0
  162. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/disable-type-checked.js +1 -0
  163. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/eslint-recommended.d.ts +1 -1
  164. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/eslint-recommended.js +1 -0
  165. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/recommended-type-checked-only.js +1 -0
  166. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/recommended-type-checked.js +1 -0
  167. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/recommended.js +1 -0
  168. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/strict-type-checked-only.js +1 -0
  169. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/strict-type-checked.js +1 -0
  170. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/strict.js +1 -0
  171. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/stylistic-type-checked-only.js +1 -0
  172. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/stylistic-type-checked.js +1 -0
  173. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/stylistic.js +1 -0
  174. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.d.ts +2 -2
  175. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.js +1 -0
  176. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/base.d.ts +2 -2
  177. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/base.js +1 -0
  178. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/disable-type-checked.d.ts +2 -2
  179. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/disable-type-checked.js +1 -0
  180. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/eslint-recommended.d.ts +2 -2
  181. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/eslint-recommended.js +1 -0
  182. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/recommended-type-checked-only.d.ts +2 -2
  183. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/recommended-type-checked-only.js +1 -0
  184. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/recommended-type-checked.d.ts +2 -2
  185. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/recommended-type-checked.js +1 -0
  186. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/recommended.d.ts +2 -2
  187. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/recommended.js +1 -0
  188. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/strict-type-checked-only.d.ts +2 -2
  189. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/strict-type-checked-only.js +1 -0
  190. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/strict-type-checked.d.ts +2 -2
  191. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/strict-type-checked.js +1 -0
  192. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/strict.d.ts +2 -2
  193. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/strict.js +1 -0
  194. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/stylistic-type-checked-only.d.ts +2 -2
  195. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/stylistic-type-checked-only.js +1 -0
  196. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/stylistic-type-checked.d.ts +2 -2
  197. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/stylistic-type-checked.js +1 -0
  198. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/stylistic.d.ts +2 -2
  199. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/stylistic.js +1 -0
  200. package/node_modules/@typescript-eslint/eslint-plugin/dist/index.d.ts +2 -2
  201. package/node_modules/@typescript-eslint/eslint-plugin/dist/index.js +1 -0
  202. package/node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.d.ts +2 -2
  203. package/node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.js +1 -0
  204. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js +1 -0
  205. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js +1 -0
  206. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js +1 -0
  207. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +1 -0
  208. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js +1 -0
  209. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js +12 -4
  210. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js +1 -0
  211. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js +1 -0
  212. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js +1 -0
  213. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js +1 -0
  214. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js +1 -0
  215. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js +1 -0
  216. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js +1 -0
  217. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.d.ts +2 -1
  218. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js +1 -0
  219. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js +1 -0
  220. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js +1 -0
  221. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.d.ts +5 -0
  222. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js +68 -0
  223. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js +1 -0
  224. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js +1 -0
  225. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js +1 -0
  226. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.d.ts +1 -1
  227. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js +1 -0
  228. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js +1 -0
  229. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js +1 -0
  230. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js +1 -0
  231. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js +1 -0
  232. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js +1 -0
  233. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js +1 -0
  234. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js +1 -0
  235. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js +1 -0
  236. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js +1 -0
  237. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js +1 -0
  238. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js +1 -0
  239. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js +1 -0
  240. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js +1 -0
  241. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js +1 -0
  242. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js +1 -0
  243. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js +1 -0
  244. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js +1 -0
  245. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js +8 -9
  246. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js +1 -0
  247. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js +1 -0
  248. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js +1 -0
  249. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js +1 -0
  250. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js +1 -0
  251. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js +1 -0
  252. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js +1 -0
  253. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js +9 -4
  254. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js +1 -0
  255. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js +1 -0
  256. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js +1 -0
  257. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js +64 -55
  258. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js +1 -0
  259. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js +1 -0
  260. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js +1 -0
  261. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js +1 -0
  262. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js +1 -0
  263. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js +1 -0
  264. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js +1 -0
  265. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js +1 -0
  266. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js +1 -0
  267. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js +1 -0
  268. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js +1 -0
  269. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +1 -0
  270. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-spread.js +1 -0
  271. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js +1 -0
  272. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js +1 -0
  273. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js +1 -0
  274. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js +1 -0
  275. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js +1 -0
  276. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js +1 -0
  277. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js +1 -0
  278. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js +1 -0
  279. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js +1 -0
  280. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js +1 -0
  281. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +1 -0
  282. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js +1 -0
  283. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js +1 -0
  284. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js +1 -0
  285. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +1 -0
  286. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js +1 -0
  287. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js +1 -0
  288. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js +3 -14
  289. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js +1 -0
  290. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.d.ts +1 -2
  291. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js +14 -39
  292. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js +1 -0
  293. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.js +2 -1
  294. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js +6 -0
  295. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js +2 -91
  296. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js +1 -0
  297. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js +1 -0
  298. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js +1 -0
  299. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js +3 -113
  300. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js +1 -0
  301. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js +1 -0
  302. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js +1 -0
  303. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js +1 -0
  304. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js +1 -0
  305. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js +1 -0
  306. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-private-class-members.js +1 -0
  307. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js +1 -0
  308. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js +1 -0
  309. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js +1 -0
  310. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-default-assignment.js +15 -11
  311. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js +1 -0
  312. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js +1 -0
  313. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js +1 -0
  314. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js +1 -0
  315. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js +1 -0
  316. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js +1 -0
  317. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js +1 -0
  318. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js +1 -0
  319. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js +1 -0
  320. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js +1 -0
  321. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js +1 -0
  322. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.d.ts +2 -2
  323. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js +1 -0
  324. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js +1 -0
  325. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js +1 -0
  326. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js +1 -0
  327. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js +2 -1
  328. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js +1 -0
  329. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js +1 -0
  330. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js +1 -0
  331. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js +1 -0
  332. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +1 -0
  333. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js +1 -0
  334. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js +1 -0
  335. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js +1 -0
  336. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js +1 -0
  337. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js +1 -0
  338. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js +1 -0
  339. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js +1 -0
  340. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js +1 -0
  341. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js +1 -0
  342. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js +1 -0
  343. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js +1 -0
  344. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js +1 -0
  345. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js +1 -0
  346. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js +1 -0
  347. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js +1 -0
  348. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js +13 -1
  349. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js +1 -0
  350. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js +1 -0
  351. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-void-return.d.ts +3 -2
  352. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-void-return.js +97 -5
  353. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js +1 -0
  354. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js +1 -0
  355. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js +1 -0
  356. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js +1 -0
  357. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.d.ts +1 -1
  358. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js +73 -32
  359. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js +1 -0
  360. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/FunctionSignature.d.ts +15 -0
  361. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/FunctionSignature.js +123 -0
  362. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js +1 -0
  363. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js +1 -0
  364. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/baseTypeUtils.d.ts +2 -0
  365. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/baseTypeUtils.js +17 -0
  366. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/class-scope-analyzer/classScopeAnalyzer.js +1 -0
  367. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/class-scope-analyzer/extractComputedName.js +1 -0
  368. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/class-scope-analyzer/types.js +1 -0
  369. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js +1 -0
  370. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js +1 -0
  371. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js +1 -0
  372. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js +1 -0
  373. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getBaseTypesOfClassMember.js +1 -0
  374. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getConstraintInfo.js +1 -0
  375. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js +1 -0
  376. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js +1 -0
  377. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js +1 -0
  378. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js +1 -0
  379. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js +1 -0
  380. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js +1 -0
  381. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js +1 -0
  382. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js +1 -0
  383. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js +1 -0
  384. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js +1 -0
  385. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js +1 -0
  386. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getValueOfLiteralType.js +1 -0
  387. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js +1 -0
  388. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js +1 -0
  389. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/hasOverloadSignatures.js +1 -0
  390. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.d.ts +3 -1
  391. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js +4 -1
  392. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js +1 -0
  393. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js +1 -0
  394. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isConditionalTest.js +1 -0
  395. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isHigherPrecedenceThanAwait.js +1 -0
  396. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js +1 -0
  397. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js +1 -0
  398. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isPromiseAggregatorMethod.js +1 -0
  399. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfArrowFunctionBody.d.ts +2 -0
  400. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfArrowFunctionBody.js +26 -0
  401. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js +1 -0
  402. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js +1 -0
  403. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js +1 -0
  404. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js +1 -0
  405. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js +1 -0
  406. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js +1 -0
  407. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js +1 -0
  408. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/promiseUtils.js +1 -0
  409. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js +1 -0
  410. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypePredicate.js +1 -0
  411. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js +1 -0
  412. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js +1 -0
  413. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/skipChainExpression.js +1 -0
  414. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/truthinessUtils.js +1 -0
  415. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js +1 -0
  416. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/walkStatements.js +1 -0
  417. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/README.md +52 -0
  418. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/index.js +785 -129
  419. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/legacy.js +660 -98
  420. package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/package.json +10 -4
  421. package/node_modules/@typescript-eslint/eslint-plugin/package.json +13 -12
  422. package/node_modules/@typescript-eslint/parser/dist/index.js +1 -0
  423. package/node_modules/@typescript-eslint/parser/dist/parser.js +1 -0
  424. package/node_modules/@typescript-eslint/parser/package.json +8 -7
  425. package/node_modules/@typescript-eslint/project-service/dist/createProjectService.js +1 -0
  426. package/node_modules/@typescript-eslint/project-service/dist/getParsedConfigFileFromTSServer.js +1 -0
  427. package/node_modules/@typescript-eslint/project-service/dist/index.js +1 -0
  428. package/node_modules/@typescript-eslint/project-service/package.json +6 -5
  429. package/node_modules/@typescript-eslint/scope-manager/dist/ID.js +1 -0
  430. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +1 -0
  431. package/node_modules/@typescript-eslint/scope-manager/dist/analyze.js +1 -0
  432. package/node_modules/@typescript-eslint/scope-manager/dist/assert.js +1 -0
  433. package/node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.js +1 -0
  434. package/node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.js +1 -0
  435. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.js +1 -0
  436. package/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.js +1 -0
  437. package/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js +1 -0
  438. package/node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.js +1 -0
  439. package/node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.js +1 -0
  440. package/node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.js +1 -0
  441. package/node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.js +1 -0
  442. package/node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.js +1 -0
  443. package/node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.js +1 -0
  444. package/node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.js +1 -0
  445. package/node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.js +1 -0
  446. package/node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.js +1 -0
  447. package/node_modules/@typescript-eslint/scope-manager/dist/definition/index.js +1 -0
  448. package/node_modules/@typescript-eslint/scope-manager/dist/index.js +1 -0
  449. package/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js +1 -0
  450. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.js +1 -0
  451. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.legacy.js +1 -0
  452. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.asynciterable.js +1 -0
  453. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +1 -0
  454. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +1 -0
  455. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js +1 -0
  456. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js +1 -0
  457. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js +1 -0
  458. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js +1 -0
  459. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.js +1 -0
  460. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js +1 -0
  461. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js +1 -0
  462. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js +1 -0
  463. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js +1 -0
  464. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js +1 -0
  465. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js +1 -0
  466. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.full.js +1 -0
  467. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.intl.js +1 -0
  468. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.js +1 -0
  469. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.arraybuffer.js +1 -0
  470. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.date.js +1 -0
  471. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.full.js +1 -0
  472. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js +1 -0
  473. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.js +1 -0
  474. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js +1 -0
  475. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js +1 -0
  476. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js +1 -0
  477. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js +1 -0
  478. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js +1 -0
  479. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js +1 -0
  480. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.full.js +1 -0
  481. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js +1 -0
  482. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.js +1 -0
  483. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js +1 -0
  484. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js +1 -0
  485. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js +1 -0
  486. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.full.js +1 -0
  487. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js +1 -0
  488. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js +1 -0
  489. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js +1 -0
  490. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js +1 -0
  491. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js +1 -0
  492. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js +1 -0
  493. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.date.js +1 -0
  494. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.full.js +1 -0
  495. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js +1 -0
  496. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js +1 -0
  497. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.number.js +1 -0
  498. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js +1 -0
  499. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js +1 -0
  500. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js +1 -0
  501. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js +1 -0
  502. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js +1 -0
  503. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.intl.js +1 -0
  504. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js +1 -0
  505. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js +1 -0
  506. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js +1 -0
  507. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js +1 -0
  508. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.array.js +1 -0
  509. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.error.js +1 -0
  510. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.full.js +1 -0
  511. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.intl.js +1 -0
  512. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.js +1 -0
  513. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.object.js +1 -0
  514. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.regexp.js +1 -0
  515. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.string.js +1 -0
  516. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.array.js +1 -0
  517. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.collection.js +1 -0
  518. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.full.js +1 -0
  519. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.intl.js +1 -0
  520. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.js +1 -0
  521. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.arraybuffer.js +1 -0
  522. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.collection.js +1 -0
  523. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.full.js +1 -0
  524. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.js +1 -0
  525. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.object.js +1 -0
  526. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.promise.js +1 -0
  527. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.regexp.js +1 -0
  528. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.sharedmemory.js +1 -0
  529. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.string.js +1 -0
  530. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.collection.js +1 -0
  531. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.float16.js +1 -0
  532. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.full.js +1 -0
  533. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.intl.js +1 -0
  534. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.iterator.js +1 -0
  535. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.js +1 -0
  536. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.promise.js +1 -0
  537. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2025.regexp.js +1 -0
  538. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js +1 -0
  539. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es6.js +1 -0
  540. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es7.js +1 -0
  541. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js +1 -0
  542. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js +1 -0
  543. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js +1 -0
  544. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.collection.js +1 -0
  545. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.date.js +1 -0
  546. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.decorators.js +1 -0
  547. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.disposable.js +1 -0
  548. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.error.js +1 -0
  549. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.float16.js +1 -0
  550. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.full.js +1 -0
  551. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js +1 -0
  552. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.iterator.js +1 -0
  553. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js +1 -0
  554. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.object.js +1 -0
  555. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js +1 -0
  556. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.regexp.js +1 -0
  557. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.sharedmemory.js +1 -0
  558. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js +1 -0
  559. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js +1 -0
  560. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.temporal.js +1 -0
  561. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.typedarrays.js +1 -0
  562. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js +1 -0
  563. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +1 -0
  564. package/node_modules/@typescript-eslint/scope-manager/dist/lib/lib.js +1 -0
  565. package/node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js +1 -0
  566. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.asynciterable.js +1 -0
  567. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.importscripts.js +1 -0
  568. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js +1 -0
  569. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +1 -0
  570. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +1 -0
  571. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js +1 -0
  572. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js +1 -0
  573. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +1 -0
  574. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +1 -0
  575. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +1 -0
  576. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js +1 -0
  577. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js +1 -0
  578. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js +1 -0
  579. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/index.js +1 -0
  580. package/node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.js +1 -0
  581. package/node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.js +1 -0
  582. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.js +1 -0
  583. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.js +1 -0
  584. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.js +1 -0
  585. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.js +1 -0
  586. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.js +1 -0
  587. package/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.js +1 -0
  588. package/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js +1 -0
  589. package/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.js +1 -0
  590. package/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js +1 -0
  591. package/node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.js +1 -0
  592. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.js +1 -0
  593. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.js +1 -0
  594. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js +1 -0
  595. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.js +1 -0
  596. package/node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.js +1 -0
  597. package/node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.js +1 -0
  598. package/node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.js +1 -0
  599. package/node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.js +1 -0
  600. package/node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.js +1 -0
  601. package/node_modules/@typescript-eslint/scope-manager/dist/scope/index.js +1 -0
  602. package/node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.js +1 -0
  603. package/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js +1 -0
  604. package/node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.js +1 -0
  605. package/node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.js +1 -0
  606. package/node_modules/@typescript-eslint/scope-manager/dist/variable/index.js +1 -0
  607. package/node_modules/@typescript-eslint/scope-manager/package.json +8 -7
  608. package/node_modules/@typescript-eslint/tsconfig-utils/dist/compilerOptions.js +1 -0
  609. package/node_modules/@typescript-eslint/tsconfig-utils/dist/getParsedConfigFile.js +1 -0
  610. package/node_modules/@typescript-eslint/tsconfig-utils/dist/index.js +1 -0
  611. package/node_modules/@typescript-eslint/tsconfig-utils/package.json +3 -2
  612. package/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts +19 -19
  613. package/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js +1 -0
  614. package/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js +1 -0
  615. package/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js +1 -0
  616. package/node_modules/@typescript-eslint/type-utils/dist/discriminateAnyType.js +1 -0
  617. package/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js +1 -0
  618. package/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js +1 -0
  619. package/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js +1 -0
  620. package/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js +1 -0
  621. package/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js +1 -0
  622. package/node_modules/@typescript-eslint/type-utils/dist/index.js +1 -0
  623. package/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js +1 -0
  624. package/node_modules/@typescript-eslint/type-utils/dist/isTypeBrandedLiteralLike.js +1 -0
  625. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts +19 -19
  626. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js +1 -0
  627. package/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js +1 -0
  628. package/node_modules/@typescript-eslint/type-utils/dist/predicates.js +1 -0
  629. package/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js +1 -0
  630. package/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js +1 -0
  631. package/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js +1 -0
  632. package/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js +1 -0
  633. package/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js +1 -0
  634. package/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js +1 -0
  635. package/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js +1 -0
  636. package/node_modules/@typescript-eslint/type-utils/package.json +9 -8
  637. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +9 -0
  638. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +1 -0
  639. package/node_modules/@typescript-eslint/types/dist/index.js +1 -0
  640. package/node_modules/@typescript-eslint/types/dist/lib.js +1 -0
  641. package/node_modules/@typescript-eslint/types/dist/parser-options.js +1 -0
  642. package/node_modules/@typescript-eslint/types/dist/ts-estree.js +1 -0
  643. package/node_modules/@typescript-eslint/types/package.json +3 -5
  644. package/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js +1 -0
  645. package/node_modules/@typescript-eslint/typescript-estree/dist/check-modifiers.js +1 -0
  646. package/node_modules/@typescript-eslint/typescript-estree/dist/check-syntax-errors.js +15 -0
  647. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js +1 -0
  648. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js +1 -0
  649. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +25 -1
  650. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js +1 -0
  651. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js +1 -0
  652. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +1 -0
  653. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgramError.js +1 -0
  654. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js +1 -0
  655. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js +1 -0
  656. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js +1 -0
  657. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js +1 -0
  658. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +1 -0
  659. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js +1 -0
  660. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js +1 -0
  661. package/node_modules/@typescript-eslint/typescript-estree/dist/createParserServices.js +1 -0
  662. package/node_modules/@typescript-eslint/typescript-estree/dist/getImportClausePhaseModifier.js +1 -0
  663. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js +1 -0
  664. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +1 -0
  665. package/node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js +1 -0
  666. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js +1 -0
  667. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js +1 -0
  668. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/candidateTSConfigRootDirs.js +1 -0
  669. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +1 -0
  670. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +1 -0
  671. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.js +1 -0
  672. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js +1 -0
  673. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js +1 -0
  674. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -0
  675. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.js +1 -0
  676. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js +1 -0
  677. package/node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js +1 -0
  678. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js +1 -0
  679. package/node_modules/@typescript-eslint/typescript-estree/dist/source-files.js +1 -0
  680. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js +1 -0
  681. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js +1 -0
  682. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js +1 -0
  683. package/node_modules/@typescript-eslint/typescript-estree/dist/use-at-your-own-risk.js +1 -0
  684. package/node_modules/@typescript-eslint/typescript-estree/dist/useProgramFromProjectService.js +1 -0
  685. package/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts +1 -1
  686. package/node_modules/@typescript-eslint/typescript-estree/dist/version-check.js +1 -0
  687. package/node_modules/@typescript-eslint/typescript-estree/dist/version.js +1 -0
  688. package/node_modules/@typescript-eslint/typescript-estree/dist/withoutProjectParserOptions.js +1 -0
  689. package/node_modules/@typescript-eslint/typescript-estree/package.json +8 -7
  690. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js +1 -0
  691. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js +1 -0
  692. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js +1 -0
  693. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js +1 -0
  694. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts +20 -20
  695. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js +1 -0
  696. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js +1 -0
  697. package/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js +1 -0
  698. package/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js +1 -0
  699. package/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js +1 -0
  700. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts +1 -1
  701. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js +1 -0
  702. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js +1 -0
  703. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js +1 -0
  704. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js +1 -0
  705. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js +1 -0
  706. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js +1 -0
  707. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js +1 -0
  708. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts +1 -1
  709. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js +1 -0
  710. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js +1 -0
  711. package/node_modules/@typescript-eslint/utils/dist/index.js +1 -0
  712. package/node_modules/@typescript-eslint/utils/dist/json-schema.js +1 -0
  713. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js +1 -0
  714. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js +1 -0
  715. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js +1 -0
  716. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js +1 -0
  717. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js +1 -0
  718. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js +1 -0
  719. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js +1 -0
  720. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts +17 -0
  721. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js +1 -0
  722. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js +1 -0
  723. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js +1 -0
  724. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js +1 -0
  725. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js +1 -0
  726. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js +1 -0
  727. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js +1 -0
  728. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js +1 -0
  729. package/node_modules/@typescript-eslint/utils/dist/ts-estree.js +1 -0
  730. package/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js +1 -0
  731. package/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js +1 -0
  732. package/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js +1 -0
  733. package/node_modules/@typescript-eslint/utils/package.json +6 -5
  734. package/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js +1 -0
  735. package/node_modules/@typescript-eslint/visitor-keys/dist/index.js +1 -0
  736. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +1 -0
  737. package/node_modules/@typescript-eslint/visitor-keys/package.json +5 -4
  738. package/node_modules/astro-eslint-parser/lib/index.mjs +13 -37
  739. package/node_modules/astro-eslint-parser/package.json +7 -7
  740. package/node_modules/eslint/README.md +1 -6
  741. package/node_modules/eslint/lib/config/config-loader.js +2 -2
  742. package/node_modules/eslint/lib/config/config.js +2 -2
  743. package/node_modules/eslint/lib/eslint/eslint.js +1 -1
  744. package/node_modules/eslint/lib/languages/js/index.js +1 -1
  745. package/node_modules/eslint/lib/options.js +2 -2
  746. package/node_modules/eslint/lib/rules/accessor-pairs.js +1 -51
  747. package/node_modules/eslint/lib/rules/getter-return.js +4 -45
  748. package/node_modules/eslint/lib/rules/id-denylist.js +4 -0
  749. package/node_modules/eslint/lib/rules/id-match.js +2 -1
  750. package/node_modules/eslint/lib/rules/no-duplicate-imports.js +3 -3
  751. package/node_modules/eslint/lib/rules/no-loss-of-precision.js +7 -2
  752. package/node_modules/eslint/lib/rules/no-setter-return.js +1 -89
  753. package/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +21 -5
  754. package/node_modules/eslint/lib/rules/no-unused-labels.js +19 -0
  755. package/node_modules/eslint/lib/rules/no-unused-vars.js +115 -8
  756. package/node_modules/eslint/lib/rules/no-useless-escape.js +2 -2
  757. package/node_modules/eslint/lib/rules/no-var.js +87 -1
  758. package/node_modules/eslint/lib/rules/prefer-template.js +7 -1
  759. package/node_modules/eslint/lib/rules/utils/ast-utils.js +86 -0
  760. package/node_modules/eslint/lib/types/index.d.ts +1 -1
  761. package/node_modules/eslint/lib/types/rules.d.ts +10 -1
  762. package/node_modules/eslint/messages/config-file-missing.js +2 -2
  763. package/node_modules/eslint/package.json +9 -3
  764. package/node_modules/eslint-plugin-astro/README.md +22 -1
  765. package/node_modules/eslint-plugin-astro/lib/index.mjs +24 -19
  766. package/node_modules/eslint-plugin-astro/package.json +8 -4
  767. package/node_modules/eslint-plugin-yml/lib/index.mjs +220 -78
  768. package/node_modules/eslint-plugin-yml/package.json +5 -4
  769. package/node_modules/globals/globals.json +75 -0
  770. package/node_modules/globals/index.d.ts +77 -0
  771. package/node_modules/globals/package.json +2 -2
  772. package/node_modules/nanoid/README.md +3 -0
  773. package/node_modules/nanoid/async/index.browser.cjs +1 -0
  774. package/node_modules/nanoid/async/index.browser.js +1 -0
  775. package/node_modules/nanoid/async/index.cjs +4 -1
  776. package/node_modules/nanoid/async/index.js +4 -1
  777. package/node_modules/nanoid/async/index.native.js +4 -1
  778. package/node_modules/nanoid/index.browser.cjs +1 -0
  779. package/node_modules/nanoid/index.browser.js +1 -0
  780. package/node_modules/nanoid/index.cjs +1 -0
  781. package/node_modules/nanoid/index.js +1 -0
  782. package/node_modules/nanoid/package.json +1 -1
  783. package/node_modules/picomatch/lib/parse.js +10 -1
  784. package/node_modules/picomatch/lib/scan.js +30 -18
  785. package/node_modules/picomatch/package.json +1 -1
  786. package/node_modules/postcss/README.md +4 -1
  787. package/node_modules/postcss/lib/list.js +1 -1
  788. package/node_modules/postcss/lib/previous-map.js +14 -2
  789. package/node_modules/postcss/lib/processor.js +1 -1
  790. package/node_modules/postcss/package.json +2 -2
  791. package/node_modules/postcss-selector-parser/CHANGELOG.md +74 -65
  792. package/node_modules/postcss-selector-parser/dist/parser.js +25 -3
  793. package/node_modules/postcss-selector-parser/package.json +6 -3
  794. package/node_modules/typescript-eslint/dist/compatibility-types.js +1 -0
  795. package/node_modules/typescript-eslint/dist/config-helper.js +1 -0
  796. package/node_modules/typescript-eslint/dist/getTSConfigRootDirFromStack.js +1 -0
  797. package/node_modules/typescript-eslint/dist/globs.d.ts +123 -0
  798. package/node_modules/typescript-eslint/dist/globs.js +135 -0
  799. package/node_modules/typescript-eslint/dist/index.d.ts +12 -0
  800. package/node_modules/typescript-eslint/dist/index.js +8 -1
  801. package/node_modules/typescript-eslint/package.json +8 -6
  802. package/node_modules/vscode-languageserver-textdocument/eslint.config.js +13 -0
  803. package/node_modules/vscode-languageserver-textdocument/lib/esm/main.d.ts +20 -0
  804. package/node_modules/vscode-languageserver-textdocument/lib/esm/main.js +26 -0
  805. package/node_modules/vscode-languageserver-textdocument/lib/umd/main.d.ts +20 -0
  806. package/node_modules/vscode-languageserver-textdocument/lib/umd/main.js +26 -0
  807. package/node_modules/vscode-languageserver-textdocument/package.json +2 -2
  808. package/node_modules/vscode-uri/lib/esm/index.mjs +1 -1
  809. package/node_modules/vscode-uri/lib/esm/index.mjs.map +1 -1
  810. package/node_modules/vscode-uri/lib/umd/index.d.ts +5 -0
  811. package/node_modules/vscode-uri/lib/umd/index.js +1 -1
  812. package/node_modules/vscode-uri/lib/umd/index.js.map +1 -1
  813. package/node_modules/vscode-uri/package.json +5 -1
  814. package/package.json +12 -12
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@html-eslint/core",
3
- "version": "0.64.0",
3
+ "version": "0.65.0",
4
4
  "description": "Core HTML validation logic for html-eslint",
5
5
  "author": {
6
6
  "name": "yeonjuan",
@@ -49,7 +49,7 @@
49
49
  "lint"
50
50
  ],
51
51
  "dependencies": {
52
- "@html-eslint/types": "^0.64.0",
52
+ "@html-eslint/types": "^0.65.0",
53
53
  "html-standard": "^0.0.13"
54
54
  },
55
55
  "devDependencies": {
@@ -58,5 +58,5 @@
58
58
  "engines": {
59
59
  "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
60
60
  },
61
- "gitHead": "d0babaf320a0d5c3b72f6d8c7bf49b2841a0b84f"
61
+ "gitHead": "9557d60cbcb4fcfb1c21e11bbe802af3e83cc1ff"
62
62
  }
@@ -11,10 +11,16 @@
11
11
  * } from "../types"
12
12
  */
13
13
 
14
+ const { NODE_TYPES } = require("@html-eslint/parser");
14
15
  const { RULE_CATEGORY } = require("../constants");
15
16
  const { createVisitors } = require("./utils/visitors");
16
17
  const { getRuleUrl } = require("./utils/rule");
17
- const { hasTemplate } = require("./utils/node");
18
+ const {
19
+ getBranchSegments,
20
+ getControlTokenRanges,
21
+ isControlToken,
22
+ areInMutuallyExclusiveBranches,
23
+ } = require("./utils/branch-segments");
18
24
 
19
25
  const MESSAGE_IDS = {
20
26
  DUPLICATE_ATTRS: "duplicateAttrs",
@@ -45,45 +51,163 @@ module.exports = {
45
51
  },
46
52
 
47
53
  create(context) {
54
+ const branchSegments = getBranchSegments(context);
55
+ const controlTokenRanges = getControlTokenRanges(context);
56
+
48
57
  /**
49
58
  * @param {Attribute} node
59
+ * @param {string} attrName
50
60
  * @returns {SuggestionReportDescriptor[]}
51
61
  */
52
- function getSuggestions(node) {
62
+ function getSuggestions(node, attrName) {
53
63
  return [
54
64
  {
55
65
  messageId: MESSAGE_IDS.REMOVE_ATTR,
56
66
  fix: (fixer) => fixer.removeRange(node.range),
57
67
  data: {
58
- attrName: node.key.value,
68
+ attrName,
59
69
  },
60
70
  },
61
71
  ];
62
72
  }
63
73
 
74
+ /**
75
+ * Determine the attribute's effective (template-stripped) name and a source
76
+ * position safe to use for branch-exclusivity comparison.
77
+ *
78
+ * When a template engine is configured, a template token with no separating
79
+ * whitespace gets glued onto the following node's text by es-html-parser —
80
+ * e.g. `{%if x%}data-id="1"` produces a key whose raw `.value` is `"{%if
81
+ * x%}data-id"`, not `"data-id"`. Using that raw value would mean the same
82
+ * logical attribute name never compares equal across branches, and using
83
+ * the whole Attribute node's `.range` for position would place it _before_
84
+ * the branch segment starts (since the glued token's start becomes the
85
+ * node's start). Both would defeat branch exclusivity detection entirely,
86
+ * independent of whether the source happens to have a space after the token
87
+ * — but real template engines (Twig included) do not require one.
88
+ *
89
+ * `attr.key.parts` splits the key into `Part` entries (real text) and
90
+ * `Template` entries (embedded template tokens). We reconstruct the real
91
+ * name from the `Part` entries and use the first `Part` entry's position
92
+ * for comparisons — a position that always falls inside the branch content,
93
+ * regardless of spacing.
94
+ *
95
+ * This is only safe when every `Template` entry glued into the key is a
96
+ * recognized branch-control token (`{% if %}`, `{% else %}`, `{% endif %}`,
97
+ * etc.) — a structural marker whose presence doesn't change the attribute
98
+ * name itself. If a `Template` entry is a plain value-interpolation token
99
+ * instead (e.g. `data-{{name}}`), the attribute name is genuinely dynamic
100
+ * and can't be safely compared at all, so the whole attribute is skipped,
101
+ * matching the rule's original conservative behavior for such cases.
102
+ *
103
+ * @param {Attribute} attr
104
+ * @returns {{ key: string; displayName: string; pos: number } | null}
105
+ */
106
+ function getComparable(attr) {
107
+ const parts = attr.key.parts || [];
108
+
109
+ if (parts.length === 0) {
110
+ // No template involvement in the key at all — the common case.
111
+ return {
112
+ key: attr.key.value.toLowerCase(),
113
+ displayName: attr.key.value,
114
+ pos: attr.range[0],
115
+ };
116
+ }
117
+
118
+ const partEntries = parts.filter((p) => p.type === NODE_TYPES.Part);
119
+ const templateEntries = parts.filter((p) => p.type !== NODE_TYPES.Part);
120
+
121
+ const allGluedTokensAreControlTokens = templateEntries.every((t) =>
122
+ isControlToken(t.range, controlTokenRanges)
123
+ );
124
+ if (!allGluedTokensAreControlTokens) {
125
+ // At least one embedded template token is a genuine value
126
+ // interpolation (e.g. `data-{{name}}`) rather than a structural
127
+ // if/else/endif marker — the name is dynamic and can't be compared.
128
+ return null;
129
+ }
130
+
131
+ if (partEntries.length === 0) {
132
+ // The "attribute" is entirely template syntax with no real name at
133
+ // all (e.g. es-html-parser exposing a bare `{% endif %}` as its own
134
+ // pseudo-attribute). Not a genuine attribute — nothing to compare.
135
+ return null;
136
+ }
137
+
138
+ const displayName = partEntries.map((p) => p.value).join("");
139
+ return {
140
+ key: displayName.toLowerCase(),
141
+ displayName,
142
+ pos: partEntries[0].range[0],
143
+ };
144
+ }
145
+
64
146
  /** @param {Tag | StyleTag | ScriptTag} node */
65
147
  function check(node) {
66
- if (Array.isArray(node.attributes)) {
67
- const attrsSet = new Set();
68
- node.attributes.forEach((attr) => {
69
- if (hasTemplate(attr.key)) {
70
- return;
71
- }
72
- if (attrsSet.has(attr.key.value.toLowerCase())) {
148
+ if (!Array.isArray(node.attributes)) return;
149
+
150
+ // Maps a normalized attribute name to the list of { attr, pos } entries
151
+ // for that name that have NOT yet been reported as duplicates.
152
+ //
153
+ // Invariant: every pair of entries in any list is mutually exclusive
154
+ // (they live in different branches of the same template if-block).
155
+ //
156
+ // When a new occurrence arrives we check it against the whole stored
157
+ // list. If it is exclusive with ALL of them, the invariant still holds
158
+ // and we add it without reporting. If it is NOT exclusive with at least
159
+ // one of them, it is a genuine runtime duplicate and we report it.
160
+ //
161
+ // This list-based approach correctly handles edge cases such as:
162
+ //
163
+ // <span {% if c1 %} class="a"{% else %} class="b"{% endif %}
164
+ // {% if c1 %} class="c"{% endif %}>
165
+ //
166
+ // where class[a] and class[c] (both in the same branch) are real
167
+ // duplicates even though class[a]/class[b] and class[b]/class[c] are
168
+ // individually exclusive.
169
+ /** @type {Map<string, { attr: Attribute; pos: number }[]>} */
170
+ const attrsMap = new Map();
171
+
172
+ node.attributes.forEach((attr) => {
173
+ const comparable = getComparable(attr);
174
+ if (!comparable) return;
175
+ const { key, displayName, pos } = comparable;
176
+
177
+ if (attrsMap.has(key)) {
178
+ const prevList = /** @type {{ attr: Attribute; pos: number }[]} */ (
179
+ attrsMap.get(key)
180
+ );
181
+
182
+ // Build the candidate full list and test pairwise exclusivity,
183
+ // comparing positions rather than whole attribute ranges (see
184
+ // getComparable for why).
185
+ const candidate = [...prevList, { attr, pos }];
186
+ const nodesForCheck = candidate.map((c) => ({
187
+ range: /** @type {[number, number]} */ ([c.pos, c.pos]),
188
+ }));
189
+ if (areInMutuallyExclusiveBranches(nodesForCheck, branchSegments)) {
190
+ // All pairs (including the new attr) are branch-exclusive: no
191
+ // report, and add attr to the list to track further occurrences.
192
+ prevList.push({ attr, pos });
193
+ } else {
73
194
  context.report({
74
195
  node: attr,
75
196
  data: {
76
- attrName: attr.key.value,
197
+ attrName: displayName,
77
198
  },
78
199
  messageId: MESSAGE_IDS.DUPLICATE_ATTRS,
79
- suggest: getSuggestions(attr),
200
+ suggest: getSuggestions(attr, displayName),
80
201
  });
81
- } else {
82
- attrsSet.add(attr.key.value.toLowerCase());
202
+ // Do NOT add to prevList: a confirmed duplicate should not
203
+ // suppress future occurrences via the invariant.
83
204
  }
84
- });
85
- }
205
+ } else {
206
+ attrsMap.set(key, [{ attr, pos }]);
207
+ }
208
+ });
86
209
  }
210
+
87
211
  return createVisitors(context, {
88
212
  Tag: check,
89
213
  StyleTag: check,
@@ -15,6 +15,10 @@ const {
15
15
  } = require("./utils/settings");
16
16
  const { getSourceCode } = require("./utils/source-code");
17
17
  const { getRuleUrl } = require("./utils/rule");
18
+ const {
19
+ getBranchSegments,
20
+ areInMutuallyExclusiveBranches,
21
+ } = require("./utils/branch-segments");
18
22
 
19
23
  const MESSAGE_IDS = {
20
24
  DUPLICATE_ID: "duplicateId",
@@ -40,7 +44,13 @@ module.exports = {
40
44
  },
41
45
 
42
46
  create(context) {
47
+ // Read branch segments once per file. For non-HTML files (JS tagged
48
+ // template literal paths) this will be [] and the check degrades
49
+ // gracefully to the original behavior.
50
+ const branchSegments = getBranchSegments(context);
51
+
43
52
  const htmlIdAttrsMap = new Map();
53
+
44
54
  /** @param {Map<string, AttributeValue[]>} map */
45
55
  function createTagVisitor(map) {
46
56
  /** @param {Tag} node */
@@ -61,10 +71,19 @@ module.exports = {
61
71
  };
62
72
  }
63
73
 
64
- /** @param {Map<string, AttributeValue[]>} map */
65
- function report(map) {
74
+ /**
75
+ * @param {Map<string, AttributeValue[]>} map
76
+ * @param {typeof branchSegments} segments
77
+ */
78
+ function report(map, segments) {
66
79
  map.forEach((attrs) => {
67
80
  if (Array.isArray(attrs) && attrs.length > 1) {
81
+ // If every occurrence lives in a different branch of the same
82
+ // template if-block they are mutually exclusive at runtime — the
83
+ // same id can never appear twice in the rendered output.
84
+ if (areInMutuallyExclusiveBranches(attrs, segments)) {
85
+ return;
86
+ }
68
87
  attrs.forEach((attr) => {
69
88
  context.report({
70
89
  node: attr,
@@ -79,7 +98,7 @@ module.exports = {
79
98
  return {
80
99
  Tag: createTagVisitor(htmlIdAttrsMap),
81
100
  "Document:exit"() {
82
- report(htmlIdAttrsMap);
101
+ report(htmlIdAttrsMap, branchSegments);
83
102
  },
84
103
  TaggedTemplateExpression(node) {
85
104
  const idAttrsMap = new Map();
@@ -88,7 +107,7 @@ module.exports = {
88
107
  Tag: createTagVisitor(idAttrsMap),
89
108
  });
90
109
  }
91
- report(idAttrsMap);
110
+ report(idAttrsMap, branchSegments);
92
111
  },
93
112
  TemplateLiteral(node) {
94
113
  const idAttrsMap = new Map();
@@ -97,7 +116,7 @@ module.exports = {
97
116
  Tag: createTagVisitor(idAttrsMap),
98
117
  });
99
118
  }
100
- report(idAttrsMap);
119
+ report(idAttrsMap, branchSegments);
101
120
  },
102
121
  };
103
122
  },
@@ -12,6 +12,10 @@ const {
12
12
  } = require("./utils/settings");
13
13
  const { getSourceCode } = require("./utils/source-code");
14
14
  const { getRuleUrl } = require("./utils/rule");
15
+ const {
16
+ getBranchSegments,
17
+ areInMutuallyExclusiveBranches,
18
+ } = require("./utils/branch-segments");
15
19
 
16
20
  const MESSAGE_IDS = {
17
21
  DUPLICATE_TAG: "duplicateTag",
@@ -72,6 +76,8 @@ module.exports = {
72
76
  },
73
77
 
74
78
  create(context) {
79
+ const branchSegments = getBranchSegments(context);
80
+
75
81
  const htmlTagsMap = new Map();
76
82
  let headCount = 0;
77
83
 
@@ -124,10 +130,16 @@ module.exports = {
124
130
  };
125
131
  }
126
132
 
127
- /** @param {Map<string, Tag[]>} map */
128
- function report(map) {
133
+ /**
134
+ * @param {Map<string, Tag[]>} map
135
+ * @param {typeof branchSegments} segments
136
+ */
137
+ function report(map, segments) {
129
138
  map.forEach((tags, tagKey) => {
130
139
  if (Array.isArray(tags) && tags.length > 1) {
140
+ if (areInMutuallyExclusiveBranches(tags, segments)) {
141
+ return;
142
+ }
131
143
  tags.slice(1).forEach((tag) => {
132
144
  context.report({
133
145
  node: tag,
@@ -146,7 +158,7 @@ module.exports = {
146
158
  "Tag:exit": htmlVisitor["Tag:exit"],
147
159
 
148
160
  "Document:exit"() {
149
- report(htmlTagsMap);
161
+ report(htmlTagsMap, branchSegments);
150
162
  },
151
163
 
152
164
  TaggedTemplateExpression(node) {
@@ -156,7 +168,7 @@ module.exports = {
156
168
  if (shouldCheckTaggedTemplateExpression(node, context)) {
157
169
  const visitor = createTagVisitor(tagsMap, headCountRef);
158
170
  parseTemplateLiteral(node.quasi, getSourceCode(context), visitor);
159
- report(tagsMap);
171
+ report(tagsMap, branchSegments);
160
172
  }
161
173
  },
162
174
 
@@ -167,7 +179,7 @@ module.exports = {
167
179
  if (shouldCheckTemplateLiteral(node, context)) {
168
180
  const visitor = createTagVisitor(tagsMap, headCountRef);
169
181
  parseTemplateLiteral(node, getSourceCode(context), visitor);
170
- report(tagsMap);
182
+ report(tagsMap, branchSegments);
171
183
  }
172
184
  },
173
185
  };
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Rule-side helpers for branch-based duplicate suppression.
3
+ *
4
+ * The parser attaches a `branchSegments` array to the root Program node during
5
+ * its branch-annotation pass (see packages/parser/lib/branch-annotation.js and
6
+ * packages/parser/lib/parser.js).
7
+ *
8
+ * Each segment is: { groupId: number; branchIndex: number; start: number; end:
9
+ * number }
10
+ *
11
+ * All segments that share the same `groupId` belong to one {% if %} block.
12
+ * `branchIndex` is 0 for the if-body, 1 for the first elseif/else, etc. `start`
13
+ * / `end` are character offsets into the original source (same coordinate space
14
+ * as AST node `range` values).
15
+ *
16
+ * A set of nodes is "mutually exclusive" when, for every pair (A, B), there
17
+ * exists at least one if-block group where both A and B fall inside it but in
18
+ * _different_ branches. When every pair is exclusive the nodes can never all be
19
+ * present in the rendered output simultaneously, so "duplicate" rules should
20
+ * suppress their report.
21
+ */
22
+
23
+ /** @import {Context} from "../../types" */
24
+
25
+ const { getSourceCode } = require("./source-code");
26
+
27
+ /**
28
+ * Retrieve the pre-computed branch segments from the AST root. Returns an empty
29
+ * array for non-HTML files or files parsed without a template engine syntax
30
+ * configuration.
31
+ *
32
+ * `branchSegments` is attached dynamically to the Program node by
33
+ * packages/parser/lib/parser.js and is not part of the standard typed Program
34
+ * definition, so ast is cast to `any` to access it.
35
+ *
36
+ * @param {Context<any[]>} context
37
+ * @returns {{
38
+ * groupId: number;
39
+ * branchIndex: number;
40
+ * start: number;
41
+ * end: number;
42
+ * }[]}
43
+ */
44
+ function getBranchSegments(context) {
45
+ const { ast } = /** @type {{ ast: any }} */ (getSourceCode(context));
46
+ return (ast && ast.branchSegments) || [];
47
+ }
48
+
49
+ /**
50
+ * Retrieve the pre-computed branch-control token ranges from the AST root. Each
51
+ * range is the [start, end] span of a template token that was classified as a
52
+ * branch-control token (an `{% if %}`, `{% else %}`, `{% endif %}`, or similar
53
+ * structural marker) as opposed to a plain value-interpolation token (e.g. `{{
54
+ * name }}`).
55
+ *
56
+ * Rules use this to safely strip a branch-control token that ends up glued onto
57
+ * the text of a following node (e.g. an attribute key) with no separating
58
+ * whitespace, while continuing to treat a glued _interpolation_ token
59
+ * conservatively (the name is genuinely dynamic and can't be compared).
60
+ *
61
+ * @param {Context<any[]>} context
62
+ * @returns {[number, number][]}
63
+ */
64
+ function getControlTokenRanges(context) {
65
+ const { ast } = /** @type {{ ast: any }} */ (getSourceCode(context));
66
+ return (ast && ast.branchControlRanges) || [];
67
+ }
68
+
69
+ /**
70
+ * @param {[number, number]} range
71
+ * @param {[number, number][]} controlTokenRanges
72
+ * @returns {boolean}
73
+ */
74
+ function isControlToken(range, controlTokenRanges) {
75
+ return controlTokenRanges.some(
76
+ ([start, end]) => start === range[0] && end === range[1]
77
+ );
78
+ }
79
+
80
+ /**
81
+ * Return true when every pair of nodes in `nodes` is located in different
82
+ * branches of the same template if-block, meaning they can never all be present
83
+ * in the rendered output at the same time.
84
+ *
85
+ * Each element of `nodes` must have a `.range` property ([start, end]).
86
+ *
87
+ * @param {{ range: [number, number] }[]} nodes
88
+ * @param {{
89
+ * groupId: number;
90
+ * branchIndex: number;
91
+ * start: number;
92
+ * end: number;
93
+ * }[]} branchSegments
94
+ * @returns {boolean}
95
+ */
96
+ function areInMutuallyExclusiveBranches(nodes, branchSegments) {
97
+ if (nodes.length <= 1) return false;
98
+ if (!branchSegments || branchSegments.length === 0) return false;
99
+
100
+ // Group segments by their if-block groupId so we can query one block at a time.
101
+ /** @type {Map<number, typeof branchSegments>} */
102
+ const groups = new Map();
103
+ for (const seg of branchSegments) {
104
+ let list = groups.get(seg.groupId);
105
+ if (!list) {
106
+ list = [];
107
+ groups.set(seg.groupId, list);
108
+ }
109
+ list.push(seg);
110
+ }
111
+
112
+ // For every pair (i, j), verify that at least one if-block group places
113
+ // the two nodes in different branches. If any pair has no such group, the
114
+ // nodes are NOT all mutually exclusive and we must not suppress the report.
115
+ for (let i = 0; i < nodes.length; i++) {
116
+ for (let j = i + 1; j < nodes.length; j++) {
117
+ const posA = nodes[i].range[0];
118
+ const posB = nodes[j].range[0];
119
+ let foundExclusiveGroup = false;
120
+
121
+ for (const segments of groups.values()) {
122
+ let branchA = -1;
123
+ let branchB = -1;
124
+ for (const seg of segments) {
125
+ if (posA >= seg.start && posA < seg.end) branchA = seg.branchIndex;
126
+ if (posB >= seg.start && posB < seg.end) branchB = seg.branchIndex;
127
+ }
128
+ // Both nodes must be *inside* this group's branches, but in different ones.
129
+ if (branchA !== -1 && branchB !== -1 && branchA !== branchB) {
130
+ foundExclusiveGroup = true;
131
+ break;
132
+ }
133
+ }
134
+
135
+ if (!foundExclusiveGroup) return false;
136
+ }
137
+ }
138
+
139
+ return true;
140
+ }
141
+
142
+ module.exports = {
143
+ getBranchSegments,
144
+ getControlTokenRanges,
145
+ isControlToken,
146
+ areInMutuallyExclusiveBranches,
147
+ };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@html-eslint/eslint-plugin",
3
- "version": "0.64.0",
3
+ "version": "0.65.0",
4
4
  "type": "commonjs",
5
5
  "description": "ESLint plugin for HTML",
6
6
  "author": {
@@ -43,11 +43,11 @@
43
43
  ],
44
44
  "dependencies": {
45
45
  "@eslint/plugin-kit": "^0.4.1",
46
- "@html-eslint/core": "^0.64.0",
47
- "@html-eslint/parser": "^0.64.0",
48
- "@html-eslint/template-parser": "^0.64.0",
49
- "@html-eslint/template-syntax-parser": "^0.64.0",
50
- "@html-eslint/types": "^0.64.0",
46
+ "@html-eslint/core": "^0.65.0",
47
+ "@html-eslint/parser": "^0.65.0",
48
+ "@html-eslint/template-parser": "^0.65.0",
49
+ "@html-eslint/template-syntax-parser": "^0.65.0",
50
+ "@html-eslint/types": "^0.65.0",
51
51
  "@rviscomi/capo.js": "^2.1.0",
52
52
  "html-standard": "^0.0.13"
53
53
  },
@@ -64,5 +64,5 @@
64
64
  "engines": {
65
65
  "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
66
66
  },
67
- "gitHead": "d0babaf320a0d5c3b72f6d8c7bf49b2841a0b84f"
67
+ "gitHead": "9557d60cbcb4fcfb1c21e11bbe802af3e83cc1ff"
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"no-duplicate-attrs.d.ts","sourceRoot":"","sources":["../../lib/rules/no-duplicate-attrs.js"],"names":[],"mappings":"wBAuBW,WAAW,EAAE,CAAC;;gCAbf,UAAU"}
1
+ {"version":3,"file":"no-duplicate-attrs.d.ts","sourceRoot":"","sources":["../../lib/rules/no-duplicate-attrs.js"],"names":[],"mappings":"wBA6BW,WAAW,EAAE,CAAC;;gCAnBf,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-duplicate-id.d.ts","sourceRoot":"","sources":["../../lib/rules/no-duplicate-id.js"],"names":[],"mappings":"wBAsBW,WAAW,EAAE,CAAC;;gCAjBI,UAAU"}
1
+ {"version":3,"file":"no-duplicate-id.d.ts","sourceRoot":"","sources":["../../lib/rules/no-duplicate-id.js"],"names":[],"mappings":"wBA0BW,WAAW,EAAE,CAAC;;gCArBI,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-duplicate-in-head.d.ts","sourceRoot":"","sources":["../../lib/rules/no-duplicate-in-head.js"],"names":[],"mappings":"wBAwDW,WAAW,EAAE,CAAC;;gCAtDI,UAAU"}
1
+ {"version":3,"file":"no-duplicate-in-head.d.ts","sourceRoot":"","sources":["../../lib/rules/no-duplicate-in-head.js"],"names":[],"mappings":"wBA4DW,WAAW,EAAE,CAAC;;gCA1DI,UAAU"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Retrieve the pre-computed branch segments from the AST root. Returns an empty
3
+ * array for non-HTML files or files parsed without a template engine syntax
4
+ * configuration.
5
+ *
6
+ * `branchSegments` is attached dynamically to the Program node by
7
+ * packages/parser/lib/parser.js and is not part of the standard typed Program
8
+ * definition, so ast is cast to `any` to access it.
9
+ *
10
+ * @param {Context<any[]>} context
11
+ * @returns {{
12
+ * groupId: number;
13
+ * branchIndex: number;
14
+ * start: number;
15
+ * end: number;
16
+ * }[]}
17
+ */
18
+ export function getBranchSegments(context: Context<any[]>): {
19
+ groupId: number;
20
+ branchIndex: number;
21
+ start: number;
22
+ end: number;
23
+ }[];
24
+ /**
25
+ * Retrieve the pre-computed branch-control token ranges from the AST root. Each
26
+ * range is the [start, end] span of a template token that was classified as a
27
+ * branch-control token (an `{% if %}`, `{% else %}`, `{% endif %}`, or similar
28
+ * structural marker) as opposed to a plain value-interpolation token (e.g. `{{
29
+ * name }}`).
30
+ *
31
+ * Rules use this to safely strip a branch-control token that ends up glued onto
32
+ * the text of a following node (e.g. an attribute key) with no separating
33
+ * whitespace, while continuing to treat a glued _interpolation_ token
34
+ * conservatively (the name is genuinely dynamic and can't be compared).
35
+ *
36
+ * @param {Context<any[]>} context
37
+ * @returns {[number, number][]}
38
+ */
39
+ export function getControlTokenRanges(context: Context<any[]>): [number, number][];
40
+ /**
41
+ * @param {[number, number]} range
42
+ * @param {[number, number][]} controlTokenRanges
43
+ * @returns {boolean}
44
+ */
45
+ export function isControlToken(range: [number, number], controlTokenRanges: [number, number][]): boolean;
46
+ /**
47
+ * Return true when every pair of nodes in `nodes` is located in different
48
+ * branches of the same template if-block, meaning they can never all be present
49
+ * in the rendered output at the same time.
50
+ *
51
+ * Each element of `nodes` must have a `.range` property ([start, end]).
52
+ *
53
+ * @param {{ range: [number, number] }[]} nodes
54
+ * @param {{
55
+ * groupId: number;
56
+ * branchIndex: number;
57
+ * start: number;
58
+ * end: number;
59
+ * }[]} branchSegments
60
+ * @returns {boolean}
61
+ */
62
+ export function areInMutuallyExclusiveBranches(nodes: {
63
+ range: [number, number];
64
+ }[], branchSegments: {
65
+ groupId: number;
66
+ branchIndex: number;
67
+ start: number;
68
+ end: number;
69
+ }[]): boolean;
70
+ import type { Context } from "../../types";
71
+ //# sourceMappingURL=branch-segments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-segments.d.ts","sourceRoot":"","sources":["../../../lib/rules/utils/branch-segments.js"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;;;;GAgBG;AACH,2CARW,QAAQ,GAAG,EAAE,CAAC,GACZ;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,EAAE,CAKL;AAED;;;;;;;;;;;;;;GAcG;AACH,+CAHW,QAAQ,GAAG,EAAE,CAAC,GACZ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAK9B;AAED;;;;GAIG;AACH,sCAJW,CAAC,MAAM,EAAE,MAAM,CAAC,sBAChB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAChB,OAAO,CAMnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,sDATW;IAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAAE,kBAC7B;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,EAAE,GACO,OAAO,CA8CnB;6BArH0B,aAAa"}