@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,3 +1,3 @@
1
- (()=>{let e={META:10,TITLE:9,PRECONNECT:8,ASYNC_SCRIPT:7,IMPORT_STYLES:6,SYNC_SCRIPT:5,SYNC_STYLES:4,PRELOAD:3,DEFER_SCRIPT:2,PREFETCH_PRERENDER:1,OTHER:0},t=["accept-ch","content-security-policy","content-type","default-style","delegate-ch","origin-trial","x-dns-prefetch-control"],i={META:function(e,i){let n=i.getTagName(e);if("base"===n)return!0;if("meta"!==n)return!1;if(i.hasAttribute(e,"charset"))return!0;let r=i.getAttribute(e,"name");if(r&&"viewport"===r.toLowerCase())return!0;let a=i.getAttribute(e,"http-equiv");if(a){let e=a.toLowerCase();return t.includes(e)}return!1},TITLE:function(e,t){return"title"===t.getTagName(e)},PRECONNECT:function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");return i?.toLowerCase()==="preconnect"},ASYNC_SCRIPT:function(e,t){return"script"===t.getTagName(e)&&t.hasAttribute(e,"src")&&t.hasAttribute(e,"async")},IMPORT_STYLES:function(e,t){if("style"===t.getTagName(e)){let i=t.getAttribute(e,"media");return(!i||"print"!==i.toLowerCase().trim())&&/@import/.test(t.getTextContent(e))}return!1},SYNC_SCRIPT:function(e,t){if("script"!==t.getTagName(e)||t.hasAttribute(e,"src")&&t.hasAttribute(e,"defer"))return!1;if(t.hasAttribute(e,"src")){let i=t.getAttribute(e,"type");if(i&&"module"===i.toLowerCase())return!1}if(t.hasAttribute(e,"src")&&t.hasAttribute(e,"async"))return!1;let i=t.getAttribute(e,"type");return!(i&&i.toLowerCase().includes("json"))},SYNC_STYLES:function(e,t){let i=t.getTagName(e);if("style"===i){let i=t.getAttribute(e,"media");return!i||"print"!==i.toLowerCase().trim()}if("link"===i){let i=t.getAttribute(e,"rel");if(i?.toLowerCase()==="stylesheet"){let i=t.getAttribute(e,"media");return!i||"print"!==i.toLowerCase().trim()}}return!1},PRELOAD:function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");if(!i)return!1;let n=i.toLowerCase();return"preload"===n||"modulepreload"===n},DEFER_SCRIPT:function(e,t){if("script"!==t.getTagName(e)||!t.hasAttribute(e,"src"))return!1;if(t.hasAttribute(e,"defer"))return!0;let i=t.getAttribute(e,"type");return!!i&&"module"===i.toLowerCase()&&!t.hasAttribute(e,"async")},PREFETCH_PRERENDER:function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");if(!i)return!1;let n=i.toLowerCase();return"prefetch"===n||"dns-prefetch"===n||"prerender"===n}},n=new Set(["base","link","meta","noscript","script","style","template","title"]);function r(e,t){let i=t.getTagName(e);return!i||""===i||n.has(i.toLowerCase())}function a(e,t,i,n){for(let r of n.getChildren(e)){if(r===i)continue;let e=n.getTagName(r);if("link"===e){let e=n.getAttribute(r,"rel");if(e&&/\b(preload|modulepreload)\b/i.test(e))continue;if(n.getAttribute(r,"href")===t)return r}if("script"===e&&n.getAttribute(r,"src")===t)return r}return null}class s{isElement(e){throw Error("isElement() not implemented")}getTagName(e){throw Error("getTagName() not implemented")}getAttribute(e,t){throw Error("getAttribute() not implemented")}hasAttribute(e,t){throw Error("hasAttribute() not implemented")}getAttributeNames(e){throw Error("getAttributeNames() not implemented")}getTextContent(e){throw Error("getTextContent() not implemented")}getChildren(e){throw Error("getChildren() not implemented")}getParent(e){throw Error("getParent() not implemented")}getSiblings(e){throw Error("getSiblings() not implemented")}getLocation(e){return null}stringify(e){throw Error("stringify() not implemented")}}class o extends s{isElement(e){return!!e&&1===e.nodeType}getTagName(e){if(!e||!e.tagName)return"";let t=e.tagName.toLowerCase();return"static-head"===t?"head":t}getAttribute(e,t){return e&&"function"==typeof e.getAttribute?e.getAttribute(t):null}hasAttribute(e,t){return!!e&&"function"==typeof e.hasAttribute&&e.hasAttribute(t)}getAttributeNames(e){return e&&"function"==typeof e.getAttributeNames?e.getAttributeNames():[]}getTextContent(e){return e&&e.textContent||""}getChildren(e){if(!e)return[];if("noscript"===this.getTagName(e)){let t=e.innerHTML||"";if(t.trim()){let i=e.ownerDocument||("u">typeof document?document:null);if(i){let e=i.createElement("div");return e.innerHTML=t,Array.from(e.children)}}}return e.children?Array.from(e.children):[]}getParent(e){return e&&e.parentElement||null}getSiblings(e){if(!e)return[];let t=e.parentElement;return t?Array.from(t.children).filter(t=>t!==e):[]}getLocation(e){return null}stringify(e){if(!e||!e.nodeName)return"[invalid node]";let t=this.getTagName(e),i=this.getAttributeNames(e);if(0===i.length)return`<${t}>`;let n=i.map(t=>{let i=this.getAttribute(e,t),n=i?i.replace(/"/g,"&quot;"):"";return`${t}="${n}"`}).join(" ");return`<${t} ${n}>`}}function l(e){return[`oklch(5% .1 ${e})`,`oklch(13% .2 ${e})`,`oklch(25% .2 ${e})`,`oklch(35% .25 ${e})`,`oklch(50% .27 ${e})`,`oklch(67% .31 ${e})`,`oklch(72% .25 ${e})`,`oklch(80% .2 ${e})`,`oklch(90% .1 ${e})`,`oklch(99% .05 ${e})`,"#ccc"]}let u=["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2","#cccccc"],c={DEFAULT:u,PINK:l(320),BLUE:l(200)};class d{constructor(e,t,i="u">typeof window?window.console:console){this.document=e,this.options=t,this.console=i,this.isStaticHead=!1,this.head=null}static formatStaticHeadHTML(e){return/<head[\s>]/i.test(e)?e.replace(/(\<\/?)(head)/gi,"$1static-head"):`<static-head>${e}</static-head>`}initFromStaticHead(e){this.head=e,this.isStaticHead=!0}initFromHTML(e){let t=d.formatStaticHeadHTML(e.trim()),i=new(this.document?.defaultView?.DOMParser||DOMParser)().parseFromString(t,"text/html");this.initFromStaticHead(i.querySelector("static-head")||i.head)}async init(){if(!this.head){if(this.options.prefersDynamicAssessment()){this.head=this.document?.querySelector("head")||null;return}try{let e=await this.getStaticHTML();e=d.formatStaticHeadHTML(e);let t=new(this.document?.defaultView?.DOMParser||DOMParser)().parseFromString(e,"text/html").querySelector("static-head");t?this.initFromStaticHead(t):this.head=this.document?.head||null}catch(e){this.console.error(`${this.options.loggingPrefix}An exception occurred while getting the static <head>:`,e),this.head=this.document?.head||null}this.isStaticHead||this.console.warn(`${this.options.loggingPrefix}Unable to parse the static (server-rendered) <head>. Falling back to document.head`,this.head)}}async getStaticHTML(){let e=this.document?.location.href||"",t=await fetch(e);return await t.text()}getHead(){return this.head}stringifyElement(e){return e.getAttributeNames().reduce((t,i)=>t+=`[${CSS.escape(i)}=${JSON.stringify(e.getAttribute(i))}]`,e.nodeName)}getLoggableElement(e){if(!this.isStaticHead)return e;let t=this.document?.head||this.head;if(!t)return e;let i=this.stringifyElement(e),n=Array.from(t.querySelectorAll(i));if(0==n.length)return e;if(1==n.length)return n[0];let r=n.find(t=>{if(t.childNodes.length!==e.childNodes.length)return!1;for(let i=0;i<t.childNodes.length;i++)if(!t.childNodes[i].isEqualNode(e.childNodes[i]))return!1;return!0});return r||e}createElementFromSelector(e){let t=e.match(/^[A-Za-z]+/),i=t?t[0]:null;if(!i)return;let n=document.createElement(i);return(e.match(/\[([A-Za-z-]+)="([^"]+)"\]/g)||[]).forEach(e=>{let t=(e=e.slice(1,-1)).indexOf("="),i=e.slice(0,t),r=e.slice(t+1).slice(1,-1);n.setAttribute(i,r)}),n}logAnalysis(e){let t=this.getHead(),i=e.weights.map(t=>{let i=e.customValidations.find(e=>e.element===t.element),n=e.validationWarnings.find(e=>e.element===t.element||e.elements&&e.elements.includes(t.element));return{element:t.element,weight:t.weight,isValid:!i&&!n,customValidations:i||{}}});this.logValidationWarnings(e.validationWarnings),e.customValidations.forEach(e=>{e.warnings.length>0&&this.console.warn(`${this.options.loggingPrefix}${e.warnings[0]}`,e.element,e.payload||"")}),this.visualizeHead("Actual",t,i);let n=[...i].sort((e,t)=>t.weight-e.weight),r=t.cloneNode(!1);return n.forEach(({element:e})=>{e&&r.appendChild(e.cloneNode(!0))}),this.visualizeHead("Sorted",r,n),i}logElementFromSelector({weight:e,selector:t,html:i,isValid:n,customValidations:r={}}){let a=+e,s=this.getElementVisualization(a,n),o=this.createElementFromSelector(t),l=new(this.document?.defaultView?.DOMParser||DOMParser)().parseFromString(i||"","text/html");[...l.head.childNodes,...l.body.childNodes].forEach(e=>o.appendChild(e.cloneNode(!0))),o=this.getLoggableElement(o),this.logElement({viz:s,weight:a,element:o,isValid:n,customValidations:r})}logElement({viz:e,weight:t,element:i,isValid:n,customValidations:r={},omitPrefix:a=!1}){a||(e.visual=`${this.options.loggingPrefix}${e.visual}`);let s="log",o=[e.visual,e.style,t+1,i];if(!this.options.isValidationEnabled())return void this.console[s](...o);let{payload:l,warnings:u}=r;l&&Object.keys(l).length>0&&("string"==typeof l.expiry&&(l.expiry=new Date(l.expiry)),o.push(l)),u?.length?(s="warn",o.push("\n"+u.map(e=>` \u{274C} ${e}`).join("\n"))):!n&&(this.options.prefersDynamicAssessment()||this.isStaticHead)&&(s="warn",o.push(`
2
- \u{274C} invalid element (${i.tagName})`)),this.console[s](...o)}logValidationWarnings(e){this.options.isValidationEnabled()&&e.forEach(({warning:e,elements:t=[],element:i})=>{t=t.map(this.getLoggableElement.bind(this)),this.console.warn(`${this.options.loggingPrefix}${e}`,...t,i||"")})}getColor(e){return this.options.palette[10-e]}getHeadVisualization(e){let t="",i=[];return e.forEach(({weight:e,isValid:n})=>{t+="%c ";let r=this.getColor(e),a="padding: 5px; margin: 4px -1px 0; display: inline-block; ";if(n)a+=`background-color: ${r};`;else{let e;a+=`background-image: ${r==(e="#cccccc")&&(e="red"),`repeating-linear-gradient(45deg, ${r}, ${r} 3px, ${e} 3px, ${e} 6px)`}`}i.push(a)}),{visual:t,styles:i}}getElementVisualization(e,t=!0){let i=`%c${Array(e+1).fill("โ–ˆ").join("")}`,n=this.getColor(e);return{visual:i,style:`color: ${n}`}}visualizeHead(e,t,i){let n=this.getHeadVisualization(i);this.console.groupCollapsed(`${this.options.loggingPrefix}${e} %chead%c order
3
- ${n.visual}`,"font-family: monospace","font-family: inherit",...n.styles),i.forEach(({weight:e,element:t,isValid:i,customValidations:n})=>{let r=this.getElementVisualization(e,i);this.logElement({viz:r,weight:e,element:t,isValid:i,customValidations:n,omitPrefix:!0})}),this.console.log(`${e} %chead%c element`,"font-family: monospace","font-family: inherit",t),this.console.groupEnd()}}class h{constructor({preferredAssessmentMode:e=h.AssessmentMode.STATIC,validation:t=!0,palette:i=u,loggingPrefix:n="Capo: "}={}){this.preferredAssessmentMode=h.AssessmentMode.STATIC,this.validation=!0,this.palette=u,this.loggingPrefix="Capo: ",this.setPreferredAssessmentMode(e),this.setValidation(t),this.setPalette(i),this.setLoggingPrefix(n)}static get AssessmentMode(){return{STATIC:"static",DYNAMIC:"dynamic"}}static get Palettes(){return c}prefersStaticAssessment(){return this.preferredAssessmentMode===h.AssessmentMode.STATIC}prefersDynamicAssessment(){return this.preferredAssessmentMode===h.AssessmentMode.DYNAMIC}isValidationEnabled(){return this.validation}setPreferredAssessmentMode(e){if(!this.isValidAssessmentMode(e))throw Error(`Invalid option: preferred assessment mode, expected AssessmentMode.STATIC or AssessmentMode.DYNAMIC, got "${e}".`);this.preferredAssessmentMode=e}setPreferredAssessmentModeToStatic(e){let t=h.AssessmentMode.STATIC;e||(t=h.AssessmentMode.DYNAMIC),this.setPreferredAssessmentMode(t)}setValidation(e){if(!this.isValidValidation(e))throw Error(`Invalid option: validation, expected boolean, got "${e}".`);this.validation=e}setPalette(e){if(!this.isValidPalette(e))throw Error(`Invalid option: palette, expected [${Object.keys(c).join("|")}] or an array of colors, got "${e}".`);if("string"==typeof e){this.palette=c[e];return}this.palette=e}setLoggingPrefix(e){if(!this.isValidLoggingPrefix(e))throw Error(`Invalid option: logging prefix, expected string, got "${e}".`);this.loggingPrefix=e}isValidAssessmentMode(e){return Object.values(h.AssessmentMode).includes(e)}isValidValidation(e){return"boolean"==typeof e}isValidPalette(e){return"string"==typeof e?Object.keys(c).includes(e):!!Array.isArray(e)&&11===e.length&&e.every(e=>"string"==typeof e)}isValidLoggingPrefix(e){return"string"==typeof e}isPreferredPalette(e){return JSON.stringify(this.palette)==JSON.stringify(e)}valueOf(){return{preferredAssessmentMode:this.preferredAssessmentMode,validation:this.validation,palette:this.palette,loggingPrefix:this.loggingPrefix}}}async function g(t){await t.init();let n=function(t,n,s={}){let o,l,u,c,d,h,g,{includeValidation:m=!0,includeCustomValidations:p=!0}=s;return{weights:n.getChildren(t).filter(e=>{let t=n.getTagName(e);return t&&""!==t}).map(t=>({element:t,weight:function(t,n){for(let[r,a]of Object.entries(i))if(a(t,n))return e[r];return e.OTHER}(t,n)})),validationWarnings:m?(o=[],1!=(c=(u=(l=n.getChildren(t)).filter(e=>"title"===n.getTagName(e))).length)&&o.push({ruleId:0===c?"require-title":"no-duplicate-title",warning:`Expected exactly 1 <title> element, found ${c}`,elements:u}),1!=(d=l.filter(e=>{if("meta"!==n.getTagName(e))return!1;let t=n.getAttribute(e,"name");return t&&"viewport"===t.toLowerCase()})).length&&o.push({ruleId:0===d.length?"require-meta-viewport":"valid-meta-viewport",warning:`Expected exactly 1 <meta name=viewport> element, found ${d.length}`,elements:d}),(g=(h=l.filter(e=>"base"===n.getTagName(e))).length)>1&&o.push({ruleId:"no-duplicate-base",warning:`Expected at most 1 <base> element, found ${g}`,elements:h}),l.forEach(e=>{r(e,n)?n.getChildren(e).forEach(t=>{r(t,n)||o.push({ruleId:"no-invalid-head-elements",warning:`${n.getTagName(t).toUpperCase()} elements are not allowed in the <head>`,element:e})}):o.push({ruleId:"no-invalid-head-elements",warning:`${n.getTagName(e)} elements are not allowed in the <head>`,element:e})}),o):[],customValidations:p?function(e,t){let i=[];for(let n of t.getChildren(e)){let r=function(e,t,i=null){var n,r;let s=[];if(function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="origin-trial"}(e,t)&&s.push(function(e,t){var i,n;let r={ruleId:"no-invalid-origin-trial",payload:null,warnings:[]},a=t.getAttribute(e,"content");try{r.payload=function(e){if(!e)throw Error("Missing token");let t=new Uint8Array([...atob(e)].map(e=>e.charCodeAt(0))),i=new DataView(t.buffer).getUint32(65,!1),n=JSON.parse(new TextDecoder().decode(t.slice(69,69+i)));return n.expiry=new Date(1e3*n.expiry),n}(a)}catch{return r.warnings?.push("Invalid origin trial token: invalid token"),r}if(r.payload.expiry<new Date&&r.warnings?.push("Invalid origin trial token: expired"),"u">typeof document&&document.location&&document.location.href&&(i=r.payload.origin,n=document.location.href,new URL(i).origin!==new URL(n).origin)){let e=function(e,t){let i=new URL(e);return new URL(t).host.endsWith(`.${i.host}`)}(r.payload.origin,document.location.href);e&&!r.payload.isSubdomain?r.warnings?.push("Invalid origin trial token: invalid subdomain"):e||r.payload.isThirdParty||r.warnings?.push("Invalid origin trial token: invalid third-party origin")}return r}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"http-equiv");if(!i)return!1;let n=i.toLowerCase();return"content-security-policy"===n||"content-security-policy-report-only"===n}(e,t)&&s.push(function(e,t){let i=[],n=null,r=t.getAttribute(e,"http-equiv"),a=r?.toLowerCase();if("content-security-policy-report-only"===a)return i.push("CSP Report-Only is forbidden in meta tags"),{ruleId:"no-meta-csp",warnings:i,payload:n};"content-security-policy"===a&&i.push("meta CSP discouraged. See https://crbug.com/1458493.");let s=t.getAttribute(e,"content");if(!s)return i.push("Invalid CSP. The content attribute must be set."),{warnings:i,payload:n};let o=Object.fromEntries(s.split(/\s*;\s*/).map(e=>{let[t,...i]=e.split(" ");return[t,i.join(" ")]}));return(n=n??{}).directives=o,"report-uri"in o&&i.push("The report-uri directive is not supported. Use the Content-Security-Policy-Report-Only HTTP header instead."),"frame-ancestors"in o&&i.push("The frame-ancestors directive is not supported. Use the Content-Security-Policy HTTP header instead."),"sandbox"in o&&i.push("The sandbox directive is not supported. Use the Content-Security-Policy HTTP header instead."),{ruleId:"no-meta-csp",warnings:i,payload:n}}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="default-style"}(e,t)&&s.push(function(e,t){let i=[],n=null,r=t.getAttribute(e,"content");if(e.parentElement&&e.parentElement.querySelector){let t=e.parentElement.querySelector(`link[rel~="alternate" i][rel~="stylesheet" i][title="${r}"]`);r?t||(n={alternateStylesheets:Array.from(e.parentElement.querySelectorAll('link[rel~="alternate" i][rel~="stylesheet" i]'))},i.push(`This has no effect. No alternate stylesheet found having title="${r}".`)):i.push("This has no effect. The content attribute must be set to a valid stylesheet title.")}else r||i.push("This has no effect. The content attribute must be set to a valid stylesheet title.");return i.push("Even when used correctly, the default-style method of setting a preferred stylesheet results in a flash of unstyled content. Use modern CSS features like @media rules instead."),{ruleId:"no-default-style",warnings:i,payload:n}}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"name");return i?.toLowerCase()==="viewport"}(e,t)&&s.push(function(e,t){let i=[],n=null;if(t.getSiblings(e).some(e=>{if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"name");return i?.toLowerCase()==="viewport"})){let r=t.getParent(e);if(r){let a=t.getChildren(r).filter(e=>{if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"name");return i?.toLowerCase()==="viewport"}).find(t=>t!==e);if(a)return n={firstMetaViewport:a},i.push("Another meta viewport element has already been declared. Having multiple viewport settings can lead to unexpected behavior."),{warnings:i,payload:n}}}let r=t.getAttribute(e,"content")?.toLowerCase();if(!r)return i.push("Invalid viewport. The content attribute must be set."),{warnings:i,payload:n};let a=Object.fromEntries(r.split(",").map(e=>{let[t,i]=e.split("=");return[t?.trim(),i?.trim()]}));if("width"in a){let e=a.width;1>Number(e)||Number(e)>1e4?i.push(`Invalid width "${e}". Numeric values must be between 1 and 10000.`):"device-width"!=e&&i.push(`Invalid width "${e}".`)}if("height"in a){let e=a.height;1>Number(e)||Number(e)>1e4?i.push(`Invalid height "${e}". Numeric values must be between 1 and 10000.`):"device-height"!=e&&i.push(`Invalid height "${e}".`)}if("initial-scale"in a){let e=Number(a["initial-scale"]);isNaN(e)&&i.push(`Invalid initial zoom level "${a["initial-scale"]}". Values must be numeric.`),(e<.1||e>10)&&i.push(`Invalid initial zoom level "${e}". Values must be between 0.1 and 10.`)}if("minimum-scale"in a){let e=Number(a["minimum-scale"]);isNaN(e)&&i.push(`Invalid minimum zoom level "${a["minimum-scale"]}". Values must be numeric.`),(e<.1||e>10)&&i.push(`Invalid minimum zoom level "${e}". Values must be between 0.1 and 10.`)}if("maximum-scale"in a){let e=Number(a["maximum-scale"]);isNaN(e)&&i.push(`Invalid maximum zoom level "${a["maximum-scale"]}". Values must be numeric.`),(e<.1||e>10)&&i.push(`Invalid maximum zoom level "${e}". Values must be between 0.1 and 10.`),e<2&&i.push(`Disabling zoom levels under 2x can cause accessibility issues. Found "maximum-scale=${a["maximum-scale"]}".`)}if("user-scalable"in a){let e=a["user-scalable"];("no"==e||"0"==e)&&i.push(`Disabling zooming can cause accessibility issues to users with visual impairments. Found "user-scalable=${e}".`),["0","1","yes","no"].includes(e)||i.push(`Unsupported value "${e}" found.`)}if("interactive-widget"in a){let e=a["interactive-widget"];["resizes-visual","resizes-content","overlays-content"].includes(e)||i.push(`Unsupported value "${e}" found.`)}if("viewport-fit"in a){let e=a["viewport-fit"],t=["auto","contain","cover"];t.includes(e)||i.push(`Unsupported value "${e}" found. Should be one of: ${t.join(", ")}.`)}"shrink-to-fit"in a&&i.push("The shrink-to-fit directive has been obsolete since iOS 9.2.\n See https://www.scottohara.me/blog/2018/12/11/shrink-to-fit.html");let s=new Set(["width","height","initial-scale","minimum-scale","maximum-scale","user-scalable","interactive-widget"]);return Object.keys(a).filter(e=>!s.has(e)&&"shrink-to-fit"!=e&&"viewport-fit"!=e).forEach(e=>{i.push(`Invalid viewport directive "${e}".`)}),{ruleId:"valid-meta-viewport",warnings:i,payload:n}}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;if(t.hasAttribute(e,"charset"))return!0;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="content-type"}(e,t)&&s.push(function(e,t){let i=[],n=null,r=t.hasAttribute(e,"charset"),a=t.getAttribute(e,"http-equiv"),s=a?.toLowerCase()==="content-type";if((r||s)&&t.getSiblings(e).some(e=>{if("meta"!==t.getTagName(e))return!1;if(t.hasAttribute(e,"charset"))return!0;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="content-type"})){let r=t.getParent(e);if(r){let a=t.getChildren(r).filter(e=>{if("meta"!==t.getTagName(e))return!1;if(t.hasAttribute(e,"charset"))return!0;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="content-type"}).find(t=>t!==e);a&&((n=n??{}).encodingDeclaration=a,i.push(`There can only be one meta-based character encoding declaration per document. Already found \`${t.stringify(a)}\`.`))}}if(e.ownerDocument?.documentElement?.outerHTML&&e.outerHTML){let t=e.ownerDocument.documentElement.outerHTML.indexOf(e.outerHTML)+e.outerHTML.length;t>1024&&((n=n??{}).characterPosition=t,i.push(`The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document. Found at byte ${t}.`))}let o=null;return o=r?t.getAttribute(e,"charset"):t.getAttribute(e,"content")?.match(/text\/html;\s*charset=(.*)/i)?.[1]?.trim(),o?.toLowerCase()!="utf-8"&&((n=n??{}).charset=o,i.push(`Documents are required to use UTF-8 encoding. Found "${o}".`)),i.length&&(i[i.length-1]+="\nLearn more: https://html.spec.whatwg.org/multipage/semantics.html#character-encoding-declaration"),{ruleId:"valid-charset",warnings:i,payload:n}}(e,t)),n=e,"meta"===(r=t).getTagName(n)&&r.hasAttribute(n,"http-equiv")&&s.push(function(e,t){let i=[],n=t.getAttribute(e,"http-equiv")?.toLowerCase()||"",r=t.getAttribute(e,"content")?.toLowerCase();switch(n){case"content-security-policy":case"content-security-policy-report-only":case"origin-trial":case"content-type":case"default-style":break;case"refresh":if(!r){i.push("This doesn't do anything. The content attribute must be set. However, using refresh is discouraged.");break}r.includes("url=")?i.push("Meta auto-redirects are discouraged. Use HTTP 3XX responses instead."):i.push("Meta auto-refreshes are discouraged unless users have the ability to disable it.");break;case"x-dns-prefetch-control":"on"==r?i.push(`DNS prefetching is enabled by default. Setting it to "${r}" has no effect.`):"off"!=r?i.push(`This is a non-standard way of disabling DNS prefetching, which is a performance optimization. Found content="${r}". Use content="off" if you have a legitimate security concern, otherwise remove it.`):i.push("This is non-standard, however most browsers support disabling speculative DNS prefetching. It should still be noted that DNS prefetching is a generally accepted performance optimization and you should only disable it if you have specific security concerns.");break;case"cache-control":case"etag":case"pragma":case"expires":case"last-modified":i.push("This doesn't do anything. Use HTTP headers for any cache directives.");break;case"x-frame-options":i.push("This doesn't do anything. Use the CSP HTTP header with the frame-ancestors directive instead.");break;case"x-ua-compatible":case"content-style-type":case"content-script-type":case"imagetoolbar":case"cleartype":case"page-enter":case"page-exit":case"site-enter":case"site-exit":case"msthemecompatible":case"window-target":i.push("This doesn't do anything. It was an Internet Explorer feature and is now deprecated.");break;case"content-language":case"language":i.push("This is non-conforming. Use the html[lang] attribute instead.");break;case"set-cookie":i.push("This is non-conforming. Use the Set-Cookie HTTP header instead.");break;case"application-name":case"author":case"description":case"generator":case"keywords":case"referrer":case"theme-color":case"color-scheme":case"viewport":case"creator":case"googlebot":case"publisher":case"robots":i.push(`This doesn't do anything. Did you mean \`meta[name=${n}]\`?`);break;case"encoding":i.push("This doesn't do anything. Did you mean `meta[charset]`?");break;case"title":i.push("This doesn't do anything. Did you mean to use the `title` tag instead?");break;case"accept-ch":case"delegate-ch":i.push("This is non-standard and may not work across browsers. Use HTTP headers instead.");break;default:i.push("This is non-standard and may not work across browsers. http-equiv is not an alternative to HTTP headers.")}return{ruleId:"no-invalid-http-equiv",warnings:i}}(e,t)),function(e,t,i=null){if("link"!==t.getTagName(e))return!1;let n=t.getAttribute(e,"rel"),r=n?.toLowerCase();if("preload"!==r&&"modulepreload"!==r)return!1;let s=t.getAttribute(e,"href");if(!s)return!1;let o=i||t.getParent(e);return!!o&&null!=a(o,s,e,t)}(e,t,i)&&s.push(function(e,t,i=null){let n=t.getAttribute(e,"href");if(!n)return{ruleId:"no-unnecessary-preload",warnings:[]};let r=i||t.getParent(e);if(!r)return{ruleId:"no-unnecessary-preload",warnings:[]};let s=a(r,n,e,t);return s?{ruleId:"no-unnecessary-preload",warnings:[`This preload has little to no effect. ${n} is already discoverable by another ${t.getTagName(s)} element.`]}:{ruleId:"no-unnecessary-preload",warnings:[]}}(e,t,i)),function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");if(i?.toLowerCase()!=="preload")return!1;let n=t.getAttribute(e,"as");return n?.toLowerCase()==="font"&&!t.hasAttribute(e,"crossorigin")}(e,t)&&s.push({ruleId:"valid-font-preload",warnings:["Font preloads must have the crossorigin attribute set, even for same-origin fonts."],payload:null}),0===s.length)return{};if(1===s.length)return s[0];let o={warnings:[],payload:{},ruleId:s[0].ruleId};return s.forEach(e=>{e.warnings&&o.warnings?.push(...e.warnings),e.payload&&Object.assign(o.payload,e.payload)}),o}(n,t,e);r&&r.warnings&&r.warnings.length>0&&i.push({ruleId:r.ruleId,element:n,warnings:r.warnings,payload:r.payload})}return i}(t,n):[],headElement:t}}(t.getHead(),new o);return{actual:t.logAnalysis(n).map(({element:e,weight:i,isValid:n,customValidations:r})=>({weight:i,color:t.getColor(i),selector:t.stringifyElement(e),html:e.innerHTML,isValid:!!n,customValidations:function e(t,i){if(null==t)return t;if("object"==typeof t&&(t.nodeType||"u">typeof Element&&t instanceof Element))return i?i.stringifyElement(t):t.outerHTML||t.tagName||String(t);if(t instanceof Date)return t.toString();if(Array.isArray(t))return t.map(t=>e(t,i));if("object"==typeof t){let n={};for(let[r,a]of Object.entries(t))"element"===r&&a&&"object"==typeof a&&(a.nodeType||"u">typeof Element&&a instanceof Element)||(n[r]=e(a,i));return n}return t}(r,t)}))}}async function m(){let{options:e}=await chrome.storage.sync.get("options");return new h(e)}!async function(){let e=new d(document,await m()),{click:t}=await chrome.storage.local.get("click");if(t)e.logElementFromSelector(JSON.parse(t)),await chrome.storage.local.remove("click");else{let t=await g(e);await chrome.storage.local.set({data:t})}}()})();
1
+ (()=>{let e={META:10,TITLE:9,PRECONNECT:8,ASYNC_SCRIPT:7,IMPORT_STYLES:6,SYNC_SCRIPT:5,SYNC_STYLES:4,PRELOAD:3,DEFER_SCRIPT:2,PREFETCH_PRERENDER:1,OTHER:0},t=["accept-ch","content-security-policy","content-type","default-style","delegate-ch","origin-trial","x-dns-prefetch-control"],i={META:function(e,i){let n=i.getTagName(e);if("base"===n)return!0;if("meta"!==n)return!1;if(i.hasAttribute(e,"charset"))return!0;let r=i.getAttribute(e,"name");if(r&&"viewport"===r.toLowerCase())return!0;let a=i.getAttribute(e,"http-equiv");if(a){let e=a.toLowerCase();return t.includes(e)}return!1},TITLE:function(e,t){return"title"===t.getTagName(e)},PRECONNECT:function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");return i?.toLowerCase()==="preconnect"||function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel")?.toLowerCase();return("preload"===i||"modulepreload"===i)&&"high"===t.getAttribute(e,"fetchpriority")?.toLowerCase()}(e,t)},ASYNC_SCRIPT:function(e,t){return"script"===t.getTagName(e)&&t.hasAttribute(e,"src")&&t.hasAttribute(e,"async")},IMPORT_STYLES:function(e,t){if("style"===t.getTagName(e)){let i=t.getAttribute(e,"media");return(!i||"print"!==i.toLowerCase().trim())&&/@import/.test(t.getTextContent(e))}return!1},SYNC_SCRIPT:function(e,t){if("script"!==t.getTagName(e)||t.hasAttribute(e,"src")&&t.hasAttribute(e,"defer"))return!1;if(t.hasAttribute(e,"src")){let i=t.getAttribute(e,"type");if(i&&"module"===i.toLowerCase())return!1}if(t.hasAttribute(e,"src")&&t.hasAttribute(e,"async"))return!1;let i=t.getAttribute(e,"type");if(i){let e=i.toLowerCase().trim();if(e.includes("json")||"speculationrules"===e)return!1}return!0},SYNC_STYLES:function(e,t){let i=t.getTagName(e);if("style"===i){let i=t.getAttribute(e,"media");return!i||"print"!==i.toLowerCase().trim()}if("link"===i){let i=t.getAttribute(e,"rel");if(i?.toLowerCase()==="stylesheet"){let i=t.getAttribute(e,"media");return!i||"print"!==i.toLowerCase().trim()}}return!1},PRELOAD:function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");if(!i)return!1;let n=i.toLowerCase();return"preload"===n||"modulepreload"===n},DEFER_SCRIPT:function(e,t){if("script"!==t.getTagName(e)||!t.hasAttribute(e,"src"))return!1;if(t.hasAttribute(e,"defer"))return!0;let i=t.getAttribute(e,"type");return!!i&&"module"===i.toLowerCase()&&!t.hasAttribute(e,"async")},PREFETCH_PRERENDER:function(e,t){let i=t.getTagName(e);if("script"===i){let i=t.getAttribute(e,"type");return i?.toLowerCase().trim()==="speculationrules"}if("link"!==i)return!1;let n=t.getAttribute(e,"rel");if(!n)return!1;let r=n.toLowerCase();return"prefetch"===r||"dns-prefetch"===r||"prerender"===r}};function n(e,t,i,n){for(let r of n.getChildren(e)){if(r===i)continue;let e=n.getTagName(r);if("link"===e){let e=n.getAttribute(r,"rel");if(e&&/\b(preload|modulepreload)\b/i.test(e))continue;if(n.getAttribute(r,"href")===t)return r}if("script"===e&&n.getAttribute(r,"src")===t)return r}return null}let r=new Set(["base","link","meta","noscript","script","style","template","title"]);function a(e,t){let i=t.getTagName(e);return!i||""===i||r.has(i.toLowerCase())}class s{isElement(e){throw Error("isElement() not implemented")}getTagName(e){throw Error("getTagName() not implemented")}getAttribute(e,t){throw Error("getAttribute() not implemented")}hasAttribute(e,t){throw Error("hasAttribute() not implemented")}getAttributeNames(e){throw Error("getAttributeNames() not implemented")}getTextContent(e){throw Error("getTextContent() not implemented")}getChildren(e){throw Error("getChildren() not implemented")}getParent(e){throw Error("getParent() not implemented")}getSiblings(e){throw Error("getSiblings() not implemented")}getLocation(e){return null}getCharacterPosition(e){return null}stringify(e){throw Error("stringify() not implemented")}}class o extends s{isElement(e){return!!e&&1===e.nodeType}getTagName(e){if(!e||!e.tagName)return"";let t=e.tagName.toLowerCase();return"static-head"===t?"head":t}getAttribute(e,t){return e&&"function"==typeof e.getAttribute?e.getAttribute(t):null}hasAttribute(e,t){return!!e&&"function"==typeof e.hasAttribute&&e.hasAttribute(t)}getAttributeNames(e){return e&&"function"==typeof e.getAttributeNames?e.getAttributeNames():[]}getTextContent(e){return e&&e.textContent||""}getChildren(e){if(!e)return[];if("noscript"===this.getTagName(e)){let t=e.innerHTML||"";if(t.trim()){let i=e.ownerDocument||("u">typeof document?document:null);if(i){let e=i.createElement("div");return e.innerHTML=t,Array.from(e.children)}}}return e.children?Array.from(e.children):[]}getParent(e){return e&&e.parentElement||null}getSiblings(e){if(!e)return[];let t=e.parentElement;return t?Array.from(t.children).filter(t=>t!==e):[]}getLocation(e){return null}getCharacterPosition(e){if(!e||!e.ownerDocument||!e.ownerDocument.documentElement)return null;let t=e.ownerDocument.documentElement.outerHTML;return t&&e.outerHTML?t.indexOf(e.outerHTML)+e.outerHTML.length:null}stringify(e){if(!e||!e.nodeName)return"[invalid node]";let t=this.getTagName(e),i=this.getAttributeNames(e);if(0===i.length)return`<${t}>`;let n=i.map(t=>{let i=this.getAttribute(e,t),n=i?i.replace(/"/g,"&quot;"):"";return`${t}="${n}"`}).join(" ");return`<${t} ${n}>`}}function l(e){return[`oklch(5% .1 ${e})`,`oklch(13% .2 ${e})`,`oklch(25% .2 ${e})`,`oklch(35% .25 ${e})`,`oklch(50% .27 ${e})`,`oklch(67% .31 ${e})`,`oklch(72% .25 ${e})`,`oklch(80% .2 ${e})`,`oklch(90% .1 ${e})`,`oklch(99% .05 ${e})`,"#ccc"]}let u=["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2","#cccccc"],c={DEFAULT:u,PINK:l(320),BLUE:l(200)};class d{constructor(e,t,i="u">typeof window?window.console:console){this.document=e,this.options=t,this.console=i,this.isStaticHead=!1,this.head=null}static formatStaticHeadHTML(e){return/<head[\s>]/i.test(e)?e.replace(/(\<\/?)(head)/gi,"$1static-head"):`<static-head>${e}</static-head>`}initFromStaticHead(e){this.head=e,this.isStaticHead=!0}initFromHTML(e){let t=d.formatStaticHeadHTML(e.trim()),i=new(this.document?.defaultView?.DOMParser||DOMParser)().parseFromString(t,"text/html");this.initFromStaticHead(i.querySelector("static-head")||i.head)}async init(){if(!this.head){if(this.options.prefersDynamicAssessment()){this.head=this.document?.querySelector("head")||null;return}try{let e=await this.getStaticHTML();e=d.formatStaticHeadHTML(e);let t=new(this.document?.defaultView?.DOMParser||DOMParser)().parseFromString(e,"text/html").querySelector("static-head");t?this.initFromStaticHead(t):this.head=this.document?.head||null}catch(e){this.console.error(`${this.options.loggingPrefix}An exception occurred while getting the static <head>:`,e),this.head=this.document?.head||null}this.isStaticHead||this.console.warn(`${this.options.loggingPrefix}Unable to parse the static (server-rendered) <head>. Falling back to document.head`,this.head)}}async getStaticHTML(){let e=this.document?.location.href||"",t=await fetch(e);return await t.text()}getHead(){return this.head}stringifyElement(e){return e.getAttributeNames().reduce((t,i)=>t+=`[${CSS.escape(i)}=${JSON.stringify(e.getAttribute(i))}]`,e.nodeName)}getLoggableElement(e){if(!this.isStaticHead)return e;let t=this.document?.head||this.head;if(!t)return e;let i=this.stringifyElement(e),n=Array.from(t.querySelectorAll(i));if(0===n.length)return e;if(1===n.length)return n[0];let r=n.find(t=>{if(t.childNodes.length!==e.childNodes.length)return!1;for(let i=0;i<t.childNodes.length;i++)if(!t.childNodes[i].isEqualNode(e.childNodes[i]))return!1;return!0});return r||e}createElementFromSelector(e){let t=e.match(/^[A-Za-z]+/),i=t?t[0]:null;if(!i)return;let n=document.createElement(i);return(e.match(/\[([A-Za-z-]+)="([^"]+)"\]/g)||[]).forEach(e=>{let t=(e=e.slice(1,-1)).indexOf("="),i=e.slice(0,t),r=e.slice(t+1).slice(1,-1);n.setAttribute(i,r)}),n}logAnalysis(e){let t=this.getHead(),i=e.weights.map(t=>{let i=e.customValidations.find(e=>e.element===t.element),n=e.validationWarnings.find(e=>e.element===t.element||e.elements&&e.elements.includes(t.element));return{element:t.element,weight:t.weight,isValid:!i&&!n,customValidations:i||{}}});this.logValidationWarnings(e.validationWarnings),e.customValidations.forEach(e=>{e.warnings.length>0&&this.console.warn(`${this.options.loggingPrefix}${e.warnings[0]}`,e.element,e.payload||"")}),this.visualizeHead("Actual",t,i);let n=[...i].sort((e,t)=>t.weight-e.weight),r=t.cloneNode(!1);return n.forEach(({element:e})=>{e&&r.appendChild(e.cloneNode(!0))}),this.visualizeHead("Sorted",r,n),i}logElementFromSelector({weight:e,selector:t,html:i,isValid:n,customValidations:r={}}){let a=+e,s=this.getElementVisualization(a,n),o=this.createElementFromSelector(t),l=new(this.document?.defaultView?.DOMParser||DOMParser)().parseFromString(i||"","text/html");[...l.head.childNodes,...l.body.childNodes].forEach(e=>o.appendChild(e.cloneNode(!0))),o=this.getLoggableElement(o),this.logElement({viz:s,weight:a,element:o,isValid:n,customValidations:r})}logElement({viz:e,weight:t,element:i,isValid:n,customValidations:r={},omitPrefix:a=!1}){a||(e.visual=`${this.options.loggingPrefix}${e.visual}`);let s="log",o=[e.visual,e.style,t+1,i];if(!this.options.isValidationEnabled())return void this.console[s](...o);let{payload:l,warnings:u}=r;l&&Object.keys(l).length>0&&("string"==typeof l.expiry&&(l.expiry=new Date(l.expiry)),o.push(l)),u?.length?(s="warn",o.push("\n"+u.map(e=>` \u{274C} ${e}`).join("\n"))):!n&&(this.options.prefersDynamicAssessment()||this.isStaticHead)&&(s="warn",o.push(`
2
+ \u{274C} invalid element (${i.tagName})`)),this.console[s](...o)}logValidationWarnings(e){this.options.isValidationEnabled()&&e.forEach(({warning:e,elements:t=[],element:i})=>{t=t.map(this.getLoggableElement.bind(this)),this.console.warn(`${this.options.loggingPrefix}${e}`,...t,i||"")})}getColor(e){return this.options.palette[10-e]}getHeadVisualization(e){let t="",i=[];return e.forEach(({weight:e,isValid:n})=>{t+="%c ";let r=this.getColor(e),a="padding: 5px; margin: 4px -1px 0; display: inline-block; ";if(n)a+=`background-color: ${r};`;else{let e;a+=`background-image: ${r===(e="#cccccc")&&(e="red"),`repeating-linear-gradient(45deg, ${r}, ${r} 3px, ${e} 3px, ${e} 6px)`}`}i.push(a)}),{visual:t,styles:i}}getElementVisualization(e,t=!0){let i=`%c${Array(e+1).fill("โ–ˆ").join("")}`,n=this.getColor(e);return{visual:i,style:`color: ${n}`}}visualizeHead(e,t,i){let n=this.getHeadVisualization(i);this.console.groupCollapsed(`${this.options.loggingPrefix}${e} %chead%c order
3
+ ${n.visual}`,"font-family: monospace","font-family: inherit",...n.styles),i.forEach(({weight:e,element:t,isValid:i,customValidations:n})=>{let r=this.getElementVisualization(e,i);this.logElement({viz:r,weight:e,element:t,isValid:i,customValidations:n,omitPrefix:!0})}),this.console.log(`${e} %chead%c element`,"font-family: monospace","font-family: inherit",t),this.console.groupEnd()}}class h{constructor({preferredAssessmentMode:e=h.AssessmentMode.STATIC,validation:t=!0,palette:i=u,loggingPrefix:n="Capo: "}={}){this.preferredAssessmentMode=h.AssessmentMode.STATIC,this.validation=!0,this.palette=u,this.loggingPrefix="Capo: ",this.setPreferredAssessmentMode(e),this.setValidation(t),this.setPalette(i),this.setLoggingPrefix(n)}static get AssessmentMode(){return{STATIC:"static",DYNAMIC:"dynamic"}}static get Palettes(){return c}prefersStaticAssessment(){return this.preferredAssessmentMode===h.AssessmentMode.STATIC}prefersDynamicAssessment(){return this.preferredAssessmentMode===h.AssessmentMode.DYNAMIC}isValidationEnabled(){return this.validation}setPreferredAssessmentMode(e){if(!this.isValidAssessmentMode(e))throw Error(`Invalid option: preferred assessment mode, expected AssessmentMode.STATIC or AssessmentMode.DYNAMIC, got "${e}".`);this.preferredAssessmentMode=e}setPreferredAssessmentModeToStatic(e){let t=h.AssessmentMode.STATIC;e||(t=h.AssessmentMode.DYNAMIC),this.setPreferredAssessmentMode(t)}setValidation(e){if(!this.isValidValidation(e))throw Error(`Invalid option: validation, expected boolean, got "${e}".`);this.validation=e}setPalette(e){if(!this.isValidPalette(e))throw Error(`Invalid option: palette, expected [${Object.keys(c).join("|")}] or an array of colors, got "${e}".`);if("string"==typeof e){this.palette=c[e];return}this.palette=e}setLoggingPrefix(e){if(!this.isValidLoggingPrefix(e))throw Error(`Invalid option: logging prefix, expected string, got "${e}".`);this.loggingPrefix=e}isValidAssessmentMode(e){return Object.values(h.AssessmentMode).includes(e)}isValidValidation(e){return"boolean"==typeof e}isValidPalette(e){return"string"==typeof e?Object.keys(c).includes(e):!!Array.isArray(e)&&11===e.length&&e.every(e=>"string"==typeof e)}isValidLoggingPrefix(e){return"string"==typeof e}isPreferredPalette(e){return JSON.stringify(this.palette)===JSON.stringify(e)}valueOf(){return{preferredAssessmentMode:this.preferredAssessmentMode,validation:this.validation,palette:this.palette,loggingPrefix:this.loggingPrefix}}}async function g(t){await t.init();let r=function(t,r,s={}){let o,l,u,c,d,h,g,{includeValidation:m=!0,includeCustomValidations:p=!0,pageOrigin:f=null}=s;return{weights:r.getChildren(t).filter(e=>{let t=r.getTagName(e);return t&&""!==t}).map(t=>({element:t,weight:function(t,n){for(let[r,a]of Object.entries(i))if(a(t,n))return e[r];return e.OTHER}(t,r)})),validationWarnings:m?(o=[],1!==(c=(u=(l=r.getChildren(t)).filter(e=>"title"===r.getTagName(e))).length)&&o.push({ruleId:0===c?"require-title":"no-duplicate-title",warning:`Expected exactly 1 <title> element, found ${c}`,elements:u}),1!==(d=l.filter(e=>{if("meta"!==r.getTagName(e))return!1;let t=r.getAttribute(e,"name");return t&&"viewport"===t.toLowerCase()})).length&&o.push({ruleId:0===d.length?"require-meta-viewport":"valid-meta-viewport",warning:`Expected exactly 1 <meta name=viewport> element, found ${d.length}`,elements:d}),(g=(h=l.filter(e=>"base"===r.getTagName(e))).length)>1&&o.push({ruleId:"no-duplicate-base",warning:`Expected at most 1 <base> element, found ${g}`,elements:h}),l.forEach(e=>{a(e,r)?r.getChildren(e).forEach(t=>{a(t,r)||o.push({ruleId:"no-invalid-head-elements",warning:`${r.getTagName(t).toUpperCase()} elements are not allowed in the <head>`,element:e})}):o.push({ruleId:"no-invalid-head-elements",warning:`${r.getTagName(e)} elements are not allowed in the <head>`,element:e})}),o):[],customValidations:p?function(e,t,i=null){let r=[];for(let a of t.getChildren(e)){let s=function(e,t,i=null,r=null){let a=[];if(function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="origin-trial"}(e,t)&&a.push(function(e,t,i=null){var n,r;let a={ruleId:"no-invalid-origin-trial",payload:null,warnings:[]},s=t.getAttribute(e,"content");try{a.payload=function(e){if(!e)throw Error("Missing token");let t=new Uint8Array([...atob(e)].map(e=>e.charCodeAt(0))),i=new DataView(t.buffer).getUint32(65,!1),n=JSON.parse(new TextDecoder().decode(t.slice(69,69+i)));return n.expiry=new Date(1e3*n.expiry),n}(s)}catch{return a.warnings?.push("Invalid origin trial token: invalid token"),a}a.payload.expiry<new Date&&a.warnings?.push("Invalid origin trial token: expired");let o=i||"u">typeof document&&document.location&&document.location.href;if(o&&(n=a.payload.origin,new URL(n).origin!==new URL(o).origin)){let e,t=(r=a.payload.origin,e=new URL(r),new URL(o).host.endsWith(`.${e.host}`));t&&!a.payload.isSubdomain?a.warnings?.push("Invalid origin trial token: invalid subdomain"):t||a.payload.isThirdParty||a.warnings?.push("Invalid origin trial token: invalid third-party origin")}return a}(e,t,r)),function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"http-equiv");if(!i)return!1;let n=i.toLowerCase();return"content-security-policy"===n||"content-security-policy-report-only"===n}(e,t)&&a.push(function(e,t){let i=[],n=null,r=t.getAttribute(e,"http-equiv"),a=r?.toLowerCase();if("content-security-policy-report-only"===a)return i.push("CSP Report-Only is forbidden in meta tags"),{ruleId:"no-meta-csp",warnings:i,payload:n};"content-security-policy"===a&&i.push("meta CSP discouraged. See https://crbug.com/1458493.");let s=t.getAttribute(e,"content");if(!s)return i.push("Invalid CSP. The content attribute must be set."),{ruleId:"no-meta-csp",warnings:i,payload:n};let o=Object.fromEntries(s.split(/\s*;\s*/).map(e=>{let[t,...i]=e.split(" ");return[t,i.join(" ")]}));return(n=n??{}).directives=o,"report-uri"in o&&i.push("The report-uri directive is not supported. Use the Content-Security-Policy-Report-Only HTTP header instead."),"frame-ancestors"in o&&i.push("The frame-ancestors directive is not supported. Use the Content-Security-Policy HTTP header instead."),"sandbox"in o&&i.push("The sandbox directive is not supported. Use the Content-Security-Policy HTTP header instead."),{ruleId:"no-meta-csp",warnings:i,payload:n}}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="default-style"}(e,t)&&a.push(function(e,t){let i=[],n=null,r=t.getAttribute(e,"content");if(r){let a=t.getParent(e),s=null,o=[];a&&(s=(o=t.getChildren(a).filter(e=>{if("link"!==t.getTagName(e))return!1;let i=(t.getAttribute(e,"rel")||"").toLowerCase().split(/\s+/);return i.includes("alternate")&&i.includes("stylesheet")})).find(e=>t.getAttribute(e,"title")===r)),s||(n={alternateStylesheets:o},i.push(`This has no effect. No alternate stylesheet found having title="${r}".`))}else i.push("This has no effect. The content attribute must be set to a valid stylesheet title.");return i.push("Even when used correctly, the default-style method of setting a preferred stylesheet results in a flash of unstyled content. Use modern CSS features like @media rules instead."),{ruleId:"no-default-style",warnings:i,payload:n}}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"name");return i?.toLowerCase()==="viewport"}(e,t)&&a.push(function(e,t){let i=[],n=null;if(t.getSiblings(e).some(e=>{if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"name");return i?.toLowerCase()==="viewport"})){let r=t.getParent(e);if(r){let a=t.getChildren(r).filter(e=>{if("meta"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"name");return i?.toLowerCase()==="viewport"}).find(t=>t!==e);if(a)return n={firstMetaViewport:a},i.push("Another meta viewport element has already been declared. Having multiple viewport settings can lead to unexpected behavior."),{ruleId:"valid-meta-viewport",warnings:i,payload:n}}}let r=t.getAttribute(e,"content")?.toLowerCase();if(!r)return i.push("Invalid viewport. The content attribute must be set."),{ruleId:"valid-meta-viewport",warnings:i,payload:n};let a=Object.fromEntries(r.split(",").map(e=>{let[t,i]=e.split("=");return[t?.trim(),i?.trim()]}));if("width"in a){let e=a.width;1>Number(e)||Number(e)>1e4?i.push(`Invalid width "${e}". Numeric values must be between 1 and 10000.`):"device-width"!==e&&i.push(`Invalid width "${e}".`)}if("height"in a){let e=a.height;1>Number(e)||Number(e)>1e4?i.push(`Invalid height "${e}". Numeric values must be between 1 and 10000.`):"device-height"!==e&&i.push(`Invalid height "${e}".`)}if("initial-scale"in a){let e=Number(a["initial-scale"]);isNaN(e)&&i.push(`Invalid initial zoom level "${a["initial-scale"]}". Values must be numeric.`),(e<.1||e>10)&&i.push(`Invalid initial zoom level "${e}". Values must be between 0.1 and 10.`)}if("minimum-scale"in a){let e=Number(a["minimum-scale"]);isNaN(e)&&i.push(`Invalid minimum zoom level "${a["minimum-scale"]}". Values must be numeric.`),(e<.1||e>10)&&i.push(`Invalid minimum zoom level "${e}". Values must be between 0.1 and 10.`)}if("maximum-scale"in a){let e=Number(a["maximum-scale"]);isNaN(e)&&i.push(`Invalid maximum zoom level "${a["maximum-scale"]}". Values must be numeric.`),(e<.1||e>10)&&i.push(`Invalid maximum zoom level "${e}". Values must be between 0.1 and 10.`),e<2&&i.push(`Disabling zoom levels under 2x can cause accessibility issues. Found "maximum-scale=${a["maximum-scale"]}".`)}if("user-scalable"in a){let e=a["user-scalable"];("no"===e||"0"===e)&&i.push(`Disabling zooming can cause accessibility issues to users with visual impairments. Found "user-scalable=${e}".`),["0","1","yes","no"].includes(e)||i.push(`Unsupported value "${e}" found.`)}if("interactive-widget"in a){let e=a["interactive-widget"];["resizes-visual","resizes-content","overlays-content"].includes(e)||i.push(`Unsupported value "${e}" found.`)}if("viewport-fit"in a){let e=a["viewport-fit"],t=["auto","contain","cover"];t.includes(e)||i.push(`Unsupported value "${e}" found. Should be one of: ${t.join(", ")}.`)}"shrink-to-fit"in a&&i.push("The shrink-to-fit directive has been obsolete since iOS 9.2.\n See https://www.scottohara.me/blog/2018/12/11/shrink-to-fit.html");let s=new Set(["width","height","initial-scale","minimum-scale","maximum-scale","user-scalable","interactive-widget"]);return Object.keys(a).filter(e=>!s.has(e)&&"shrink-to-fit"!==e&&"viewport-fit"!==e).forEach(e=>{i.push(`Invalid viewport directive "${e}".`)}),{ruleId:"valid-meta-viewport",warnings:i,payload:n}}(e,t)),function(e,t){if("meta"!==t.getTagName(e))return!1;if(t.hasAttribute(e,"charset"))return!0;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="content-type"}(e,t)&&a.push(function(e,t){let i=[],n=null,r=t.hasAttribute(e,"charset"),a=t.getAttribute(e,"http-equiv"),s=a?.toLowerCase()==="content-type";if((r||s)&&t.getSiblings(e).some(e=>{if("meta"!==t.getTagName(e))return!1;if(t.hasAttribute(e,"charset"))return!0;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="content-type"})){let r=t.getParent(e);if(r){let a=t.getChildren(r).filter(e=>{if("meta"!==t.getTagName(e))return!1;if(t.hasAttribute(e,"charset"))return!0;let i=t.getAttribute(e,"http-equiv");return i?.toLowerCase()==="content-type"}).find(t=>t!==e);a&&((n=n??{}).encodingDeclaration=a,i.push(`There can only be one meta-based character encoding declaration per document. Already found \`${t.stringify(a)}\`.`))}}if("function"==typeof t.getCharacterPosition){let r=t.getCharacterPosition(e);null!==r&&r>1024&&((n=n??{}).characterPosition=r,i.push(`The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document. Found at byte ${r}.`))}let o=null;return o=r?t.getAttribute(e,"charset"):t.getAttribute(e,"content")?.match(/text\/html;\s*charset=(.*)/i)?.[1]?.trim(),o?.toLowerCase()!=="utf-8"&&((n=n??{}).charset=o,i.push(`Documents are required to use UTF-8 encoding. Found "${o}".`)),i.length&&(i[i.length-1]+="\nLearn more: https://html.spec.whatwg.org/multipage/semantics.html#character-encoding-declaration"),{ruleId:"valid-charset",warnings:i,payload:n}}(e,t)),"meta"===t.getTagName(e)&&t.hasAttribute(e,"http-equiv")&&a.push(function(e,t){let i=[],n=t.getAttribute(e,"http-equiv")?.toLowerCase()||"",r=t.getAttribute(e,"content")?.toLowerCase();switch(n){case"content-security-policy":case"content-security-policy-report-only":case"origin-trial":case"content-type":case"default-style":break;case"refresh":if(!r){i.push("This doesn't do anything. The content attribute must be set. However, using refresh is discouraged.");break}r.includes("url=")?i.push("Meta auto-redirects are discouraged. Use HTTP 3XX responses instead."):i.push("Meta auto-refreshes are discouraged unless users have the ability to disable it.");break;case"x-dns-prefetch-control":"on"===r?i.push(`DNS prefetching is enabled by default. Setting it to "${r}" has no effect.`):"off"!==r?i.push(`This is a non-standard way of disabling DNS prefetching, which is a performance optimization. Found content="${r}". Use content="off" if you have a legitimate security concern, otherwise remove it.`):i.push("This is non-standard, however most browsers support disabling speculative DNS prefetching. It should still be noted that DNS prefetching is a generally accepted performance optimization and you should only disable it if you have specific security concerns.");break;case"cache-control":case"etag":case"pragma":case"expires":case"last-modified":i.push("This doesn't do anything. Use HTTP headers for any cache directives.");break;case"x-frame-options":i.push("This doesn't do anything. Use the CSP HTTP header with the frame-ancestors directive instead.");break;case"x-ua-compatible":case"content-style-type":case"content-script-type":case"imagetoolbar":case"cleartype":case"page-enter":case"page-exit":case"site-enter":case"site-exit":case"msthemecompatible":case"window-target":i.push("This doesn't do anything. It was an Internet Explorer feature and is now deprecated.");break;case"content-language":case"language":i.push("This is non-conforming. Use the html[lang] attribute instead.");break;case"set-cookie":i.push("This is non-conforming. Use the Set-Cookie HTTP header instead.");break;case"application-name":case"author":case"description":case"generator":case"keywords":case"referrer":case"theme-color":case"color-scheme":case"viewport":case"creator":case"googlebot":case"publisher":case"robots":i.push(`This doesn't do anything. Did you mean \`meta[name=${n}]\`?`);break;case"encoding":i.push("This doesn't do anything. Did you mean `meta[charset]`?");break;case"title":i.push("This doesn't do anything. Did you mean to use the `title` tag instead?");break;case"accept-ch":case"delegate-ch":i.push("This is non-standard and may not work across browsers. Use HTTP headers instead.");break;default:i.push("This is non-standard and may not work across browsers. http-equiv is not an alternative to HTTP headers.")}return{ruleId:"no-invalid-http-equiv",warnings:i}}(e,t)),function(e,t,i=null){if("link"!==t.getTagName(e))return!1;let r=t.getAttribute(e,"rel"),a=r?.toLowerCase();if("preload"!==a&&"modulepreload"!==a)return!1;let s=t.getAttribute(e,"href");if(!s)return!1;let o=i||t.getParent(e);return!!o&&null!=n(o,s,e,t)}(e,t,i)&&a.push(function(e,t,i=null){let r=t.getAttribute(e,"href");if(!r)return{ruleId:"no-unnecessary-preload",warnings:[]};let a=i||t.getParent(e);if(!a)return{ruleId:"no-unnecessary-preload",warnings:[]};let s=n(a,r,e,t);return s?{ruleId:"no-unnecessary-preload",warnings:[`This preload has little to no effect. ${r} is already discoverable by another ${t.getTagName(s)} element.`]}:{ruleId:"no-unnecessary-preload",warnings:[]}}(e,t,i)),function(e,t){if("link"!==t.getTagName(e))return!1;let i=t.getAttribute(e,"rel");if(i?.toLowerCase()!=="preload")return!1;let n=t.getAttribute(e,"as");return n?.toLowerCase()==="font"&&!t.hasAttribute(e,"crossorigin")}(e,t)&&a.push({ruleId:"valid-font-preload",warnings:["Font preloads must have the crossorigin attribute set, even for same-origin fonts."],payload:null}),0===a.length)return{};if(1===a.length)return a[0];let s={warnings:[],payload:{},ruleId:a[0].ruleId};return a.forEach(e=>{e.warnings&&s.warnings?.push(...e.warnings),e.payload&&Object.assign(s.payload,e.payload)}),s}(a,t,e,i);s&&s.warnings&&s.warnings.length>0&&r.push({ruleId:s.ruleId,element:a,warnings:s.warnings,payload:s.payload})}return r}(t,r,f):[],headElement:t}}(t.getHead(),new o);return{actual:t.logAnalysis(r).map(({element:e,weight:i,isValid:n,customValidations:r})=>({weight:i,color:t.getColor(i),selector:t.stringifyElement(e),html:e.innerHTML,isValid:!!n,customValidations:function e(t,i){if(null==t)return t;if("object"==typeof t&&(t.nodeType||"u">typeof Element&&t instanceof Element))return i?i.stringifyElement(t):t.outerHTML||t.tagName||String(t);if(t instanceof Date)return t.toString();if(Array.isArray(t))return t.map(t=>e(t,i));if("object"==typeof t){let n={};for(let[r,a]of Object.entries(t))"element"===r&&a&&"object"==typeof a&&(a.nodeType||"u">typeof Element&&a instanceof Element)||(n[r]=e(a,i));return n}return t}(r,t)}))}}async function m(){let{options:e}=await chrome.storage.sync.get("options");return new h(e)}!async function(){let e=new d(document,await m()),{click:t}=await chrome.storage.local.get("click");if(t)e.logElementFromSelector(JSON.parse(t)),await chrome.storage.local.remove("click");else{let t=await g(e);await chrome.storage.local.set({data:t})}}()})();
@@ -74,14 +74,7 @@ function print(result) {
74
74
  * @param {any} params.customValidations
75
75
  * @returns {HTMLSpanElement}
76
76
  */
77
- function getCapoHeadElement({
78
- weight,
79
- color,
80
- selector,
81
- html,
82
- isValid,
83
- customValidations,
84
- }) {
77
+ function getCapoHeadElement({ weight, color, selector, html, isValid, customValidations }) {
85
78
  const span = document.createElement("span");
86
79
  span.classList.add("capo-head-element");
87
80
  span.classList.toggle("invalid", !isValid);
@@ -101,7 +94,7 @@ async function handleCapoClick(event) {
101
94
  const target = /** @type {HTMLElement} */ (event.target);
102
95
  if (!target || !target.dataset) return;
103
96
  const { weight, selector, html } = target.dataset;
104
- const customValidations = JSON.parse(target.dataset.customValidations || '{}');
97
+ const customValidations = JSON.parse(target.dataset.customValidations || "{}");
105
98
  const isValid = !target.classList.contains("invalid");
106
99
 
107
100
  await chrome.storage.local.set({
@@ -2,7 +2,7 @@
2
2
  "manifest_version": 3,
3
3
  "name": "Capo: get your ๏นค๐š‘๐šŽ๐šŠ๐š๏นฅ in order",
4
4
  "description": "Visualize the optimal ordering of ๏นค๐š‘๐šŽ๐šŠ๐š๏นฅ elements on any web page",
5
- "version": "2.2.0",
5
+ "version": "2.3.0",
6
6
  "permissions": [
7
7
  "scripting",
8
8
  "activeTab",
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
3
  <head>
4
4
  <title>Capo Options</title>
@@ -1 +1 @@
1
- (()=>{let e;function t(e){return[`oklch(5% .1 ${e})`,`oklch(13% .2 ${e})`,`oklch(25% .2 ${e})`,`oklch(35% .25 ${e})`,`oklch(50% .27 ${e})`,`oklch(67% .31 ${e})`,`oklch(72% .25 ${e})`,`oklch(80% .2 ${e})`,`oklch(90% .1 ${e})`,`oklch(99% .05 ${e})`,"#ccc"]}let s=["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2","#cccccc"],i={DEFAULT:s,PINK:t(320),BLUE:t(200)};class o{constructor({preferredAssessmentMode:e=o.AssessmentMode.STATIC,validation:t=!0,palette:i=s,loggingPrefix:r="Capo: "}={}){this.preferredAssessmentMode=o.AssessmentMode.STATIC,this.validation=!0,this.palette=s,this.loggingPrefix="Capo: ",this.setPreferredAssessmentMode(e),this.setValidation(t),this.setPalette(i),this.setLoggingPrefix(r)}static get AssessmentMode(){return{STATIC:"static",DYNAMIC:"dynamic"}}static get Palettes(){return i}prefersStaticAssessment(){return this.preferredAssessmentMode===o.AssessmentMode.STATIC}prefersDynamicAssessment(){return this.preferredAssessmentMode===o.AssessmentMode.DYNAMIC}isValidationEnabled(){return this.validation}setPreferredAssessmentMode(e){if(!this.isValidAssessmentMode(e))throw Error(`Invalid option: preferred assessment mode, expected AssessmentMode.STATIC or AssessmentMode.DYNAMIC, got "${e}".`);this.preferredAssessmentMode=e}setPreferredAssessmentModeToStatic(e){let t=o.AssessmentMode.STATIC;e||(t=o.AssessmentMode.DYNAMIC),this.setPreferredAssessmentMode(t)}setValidation(e){if(!this.isValidValidation(e))throw Error(`Invalid option: validation, expected boolean, got "${e}".`);this.validation=e}setPalette(e){if(!this.isValidPalette(e))throw Error(`Invalid option: palette, expected [${Object.keys(i).join("|")}] or an array of colors, got "${e}".`);if("string"==typeof e){this.palette=i[e];return}this.palette=e}setLoggingPrefix(e){if(!this.isValidLoggingPrefix(e))throw Error(`Invalid option: logging prefix, expected string, got "${e}".`);this.loggingPrefix=e}isValidAssessmentMode(e){return Object.values(o.AssessmentMode).includes(e)}isValidValidation(e){return"boolean"==typeof e}isValidPalette(e){return"string"==typeof e?Object.keys(i).includes(e):!!Array.isArray(e)&&11===e.length&&e.every(e=>"string"==typeof e)}isValidLoggingPrefix(e){return"string"==typeof e}isPreferredPalette(e){return JSON.stringify(this.palette)==JSON.stringify(e)}valueOf(){return{preferredAssessmentMode:this.preferredAssessmentMode,validation:this.validation,palette:this.palette,loggingPrefix:this.loggingPrefix}}}async function r(){e=new o((await chrome.storage.sync.get("options")).options)}async function n(t){let s,i=t.target;if(!i||!i.dataset)return;let o=i.dataset.option;switch(o){case"PREFERRED_ASSESSMENT_MODE":s=i.checked,e.setPreferredAssessmentModeToStatic(s);break;case"VALIDATION":s=i.checked,e.setValidation(s);break;case"PALETTE":s=i.value,e.setPalette(s);break;default:console.warn(`Unknown option: ${o}`);return}await chrome.storage.sync.set({options:e.valueOf()}),await chrome.storage.sync.get("options")}!async function(){let t,s,i,a;await r();t=document.getElementById("prefer-static"),s=document.getElementById("validation"),i=document.getElementById("palette"),t&&(t.checked=e.prefersStaticAssessment(),t.dataset.option="PREFERRED_ASSESSMENT_MODE"),s&&(s.checked=e.isValidationEnabled(),s.dataset.option="VALIDATION"),i&&(Object.entries(o.Palettes).forEach(([t,s])=>{let o=document.createElement("option");o.textContent=t,o.value=t,o.selected=e.isPreferredPalette(s),o.dataset.colors=JSON.stringify(s),i.appendChild(o)}),i.dataset.option="PALETTE"),(a=document.getElementById("options"))&&a.addEventListener("change",n)}()})();
1
+ (()=>{let e;function t(e){return[`oklch(5% .1 ${e})`,`oklch(13% .2 ${e})`,`oklch(25% .2 ${e})`,`oklch(35% .25 ${e})`,`oklch(50% .27 ${e})`,`oklch(67% .31 ${e})`,`oklch(72% .25 ${e})`,`oklch(80% .2 ${e})`,`oklch(90% .1 ${e})`,`oklch(99% .05 ${e})`,"#ccc"]}let s=["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2","#cccccc"],i={DEFAULT:s,PINK:t(320),BLUE:t(200)};class o{constructor({preferredAssessmentMode:e=o.AssessmentMode.STATIC,validation:t=!0,palette:i=s,loggingPrefix:r="Capo: "}={}){this.preferredAssessmentMode=o.AssessmentMode.STATIC,this.validation=!0,this.palette=s,this.loggingPrefix="Capo: ",this.setPreferredAssessmentMode(e),this.setValidation(t),this.setPalette(i),this.setLoggingPrefix(r)}static get AssessmentMode(){return{STATIC:"static",DYNAMIC:"dynamic"}}static get Palettes(){return i}prefersStaticAssessment(){return this.preferredAssessmentMode===o.AssessmentMode.STATIC}prefersDynamicAssessment(){return this.preferredAssessmentMode===o.AssessmentMode.DYNAMIC}isValidationEnabled(){return this.validation}setPreferredAssessmentMode(e){if(!this.isValidAssessmentMode(e))throw Error(`Invalid option: preferred assessment mode, expected AssessmentMode.STATIC or AssessmentMode.DYNAMIC, got "${e}".`);this.preferredAssessmentMode=e}setPreferredAssessmentModeToStatic(e){let t=o.AssessmentMode.STATIC;e||(t=o.AssessmentMode.DYNAMIC),this.setPreferredAssessmentMode(t)}setValidation(e){if(!this.isValidValidation(e))throw Error(`Invalid option: validation, expected boolean, got "${e}".`);this.validation=e}setPalette(e){if(!this.isValidPalette(e))throw Error(`Invalid option: palette, expected [${Object.keys(i).join("|")}] or an array of colors, got "${e}".`);if("string"==typeof e){this.palette=i[e];return}this.palette=e}setLoggingPrefix(e){if(!this.isValidLoggingPrefix(e))throw Error(`Invalid option: logging prefix, expected string, got "${e}".`);this.loggingPrefix=e}isValidAssessmentMode(e){return Object.values(o.AssessmentMode).includes(e)}isValidValidation(e){return"boolean"==typeof e}isValidPalette(e){return"string"==typeof e?Object.keys(i).includes(e):!!Array.isArray(e)&&11===e.length&&e.every(e=>"string"==typeof e)}isValidLoggingPrefix(e){return"string"==typeof e}isPreferredPalette(e){return JSON.stringify(this.palette)===JSON.stringify(e)}valueOf(){return{preferredAssessmentMode:this.preferredAssessmentMode,validation:this.validation,palette:this.palette,loggingPrefix:this.loggingPrefix}}}async function r(){e=new o((await chrome.storage.sync.get("options")).options)}async function n(t){let s,i=t.target;if(!i||!i.dataset)return;let o=i.dataset.option;switch(o){case"PREFERRED_ASSESSMENT_MODE":s=i.checked,e.setPreferredAssessmentModeToStatic(s);break;case"VALIDATION":s=i.checked,e.setValidation(s);break;case"PALETTE":s=i.value,e.setPalette(s);break;default:console.warn(`Unknown option: ${o}`);return}await chrome.storage.sync.set({options:e.valueOf()}),await chrome.storage.sync.get("options")}!async function(){let t,s,i,a;await r();t=document.getElementById("prefer-static"),s=document.getElementById("validation"),i=document.getElementById("palette"),t&&(t.checked=e.prefersStaticAssessment(),t.dataset.option="PREFERRED_ASSESSMENT_MODE"),s&&(s.checked=e.isValidationEnabled(),s.dataset.option="VALIDATION"),i&&(Object.entries(o.Palettes).forEach(([t,s])=>{let o=document.createElement("option");o.textContent=t,o.value=t,o.selected=e.isPreferredPalette(s),o.dataset.colors=JSON.stringify(s),i.appendChild(o)}),i.dataset.option="PALETTE"),(a=document.getElementById("options"))&&a.addEventListener("change",n)}()})();
@@ -1,8 +1,10 @@
1
1
  /* https://github.com/argyleink/open-props */
2
2
  :where(html) {
3
- --font-sans: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
4
- --font-serif: ui-serif,serif;
5
- --font-mono: Dank Mono,Operator Mono,Inconsolata,Fira Mono,ui-monospace,SF Mono,Monaco,Droid Sans Mono,Source Code Pro,monospace;
3
+ --font-sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
4
+ --font-serif: ui-serif, serif;
5
+ --font-mono:
6
+ Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, Droid Sans Mono, Source Code Pro,
7
+ monospace;
6
8
  --font-weight-1: 100;
7
9
  --font-weight-2: 200;
8
10
  --font-weight-3: 300;
@@ -12,23 +14,23 @@
12
14
  --font-weight-7: 700;
13
15
  --font-weight-8: 800;
14
16
  --font-weight-9: 900;
15
- --font-lineheight-00: .95;
17
+ --font-lineheight-00: 0.95;
16
18
  --font-lineheight-0: 1.1;
17
19
  --font-lineheight-1: 1.25;
18
20
  --font-lineheight-2: 1.375;
19
21
  --font-lineheight-3: 1.5;
20
22
  --font-lineheight-4: 1.75;
21
23
  --font-lineheight-5: 2;
22
- --font-letterspacing-0: -.05em;
23
- --font-letterspacing-1: .025em;
24
- --font-letterspacing-2: .050em;
25
- --font-letterspacing-3: .075em;
26
- --font-letterspacing-4: .150em;
27
- --font-letterspacing-5: .500em;
28
- --font-letterspacing-6: .750em;
24
+ --font-letterspacing-0: -0.05em;
25
+ --font-letterspacing-1: 0.025em;
26
+ --font-letterspacing-2: 0.05em;
27
+ --font-letterspacing-3: 0.075em;
28
+ --font-letterspacing-4: 0.15em;
29
+ --font-letterspacing-5: 0.5em;
30
+ --font-letterspacing-6: 0.75em;
29
31
  --font-letterspacing-7: 1em;
30
- --font-size-00: .5rem;
31
- --font-size-0: .75rem;
32
+ --font-size-00: 0.5rem;
33
+ --font-size-0: 0.75rem;
32
34
  --font-size-1: 1rem;
33
35
  --font-size-2: 1.1rem;
34
36
  --font-size-3: 1.25rem;
@@ -37,7 +39,7 @@
37
39
  --font-size-6: 2.5rem;
38
40
  --font-size-7: 3rem;
39
41
  --font-size-8: 3.5rem;
40
- --font-size-fluid-0: clamp(.75rem, 2vw, 1rem);
42
+ --font-size-fluid-0: clamp(0.75rem, 2vw, 1rem);
41
43
  --font-size-fluid-1: clamp(1rem, 4vw, 1.5rem);
42
44
  --font-size-fluid-2: clamp(1.5rem, 6vw, 2.5rem);
43
45
  --font-size-fluid-3: clamp(2rem, 9vw, 3.5rem);