@eslinted/defaults 14.0.0-rc.0 → 14.0.0

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 (305) hide show
  1. package/dist/_scope/index.d.ts +1 -1
  2. package/dist/_scope/index.d.ts.map +1 -1
  3. package/dist/_scope/index.js +16 -4
  4. package/dist/_scope/index.js.map +1 -1
  5. package/dist/files/index.d.ts +1 -1
  6. package/dist/files/index.d.ts.map +1 -1
  7. package/dist/files/index.js +32 -20
  8. package/dist/files/index.js.map +1 -1
  9. package/dist/{files/css.d.ts → ignores/global.d.ts} +1 -1
  10. package/dist/ignores/global.d.ts.map +1 -0
  11. package/dist/ignores/global.js +21 -0
  12. package/dist/ignores/global.js.map +1 -0
  13. package/dist/ignores/index.d.ts.map +1 -1
  14. package/dist/ignores/index.js +15 -40
  15. package/dist/ignores/index.js.map +1 -1
  16. package/dist/index.d.ts +1332 -858
  17. package/dist/rules/base.d.ts +740 -406
  18. package/dist/rules/base.eslint.d.ts +305 -211
  19. package/dist/rules/base.eslint.d.ts.map +1 -1
  20. package/dist/rules/base.eslint.js +161 -162
  21. package/dist/rules/base.eslint.js.map +1 -1
  22. package/dist/rules/base.stylistic.d.ts +438 -196
  23. package/dist/rules/base.stylistic.d.ts.map +1 -1
  24. package/dist/rules/base.stylistic.js +109 -110
  25. package/dist/rules/base.stylistic.js.map +1 -1
  26. package/dist/rules/css/enable.d.ts +14 -13
  27. package/dist/rules/css/enable.d.ts.map +1 -1
  28. package/dist/rules/css/enable.js +13 -14
  29. package/dist/rules/css/enable.js.map +1 -1
  30. package/dist/rules/css/index.d.ts +13 -13
  31. package/dist/rules/html/enable.d.ts +74 -54
  32. package/dist/rules/html/enable.d.ts.map +1 -1
  33. package/dist/rules/html/enable.js +48 -49
  34. package/dist/rules/html/enable.js.map +1 -1
  35. package/dist/rules/html/index.d.ts +73 -54
  36. package/dist/rules/index.d.ts +1331 -857
  37. package/dist/rules/json/enable.d.ts +7 -6
  38. package/dist/rules/json/enable.d.ts.map +1 -1
  39. package/dist/rules/json/enable.js +6 -7
  40. package/dist/rules/json/enable.js.map +1 -1
  41. package/dist/rules/json/index.d.ts +71 -56
  42. package/dist/rules/json/plugin/extension.d.ts +47 -31
  43. package/dist/rules/json/plugin/extension.d.ts.map +1 -1
  44. package/dist/rules/json/plugin/extension.js +23 -24
  45. package/dist/rules/json/plugin/extension.js.map +1 -1
  46. package/dist/rules/json/plugin/index.d.ts +22 -21
  47. package/dist/rules/json/plugin/index.d.ts.map +1 -1
  48. package/dist/rules/json/plugin/index.js +21 -22
  49. package/dist/rules/json/plugin/index.js.map +1 -1
  50. package/dist/rules/jsonc/index.d.ts +3 -3
  51. package/dist/rules/jsonc/index.js +1 -1
  52. package/dist/rules/jsonc/index.js.map +1 -1
  53. package/dist/rules/jsonc/override.d.ts +9 -0
  54. package/dist/rules/jsonc/override.d.ts.map +1 -0
  55. package/dist/rules/jsonc/override.js +7 -0
  56. package/dist/rules/jsonc/override.js.map +1 -0
  57. package/dist/rules/jsoncc/index.d.ts +6 -3
  58. package/dist/rules/jsoncc/index.js +1 -1
  59. package/dist/rules/jsoncc/index.js.map +1 -1
  60. package/dist/rules/jsoncc/override.d.ts +12 -0
  61. package/dist/rules/jsoncc/override.d.ts.map +1 -0
  62. package/dist/rules/jsoncc/override.js +10 -0
  63. package/dist/rules/jsoncc/override.js.map +1 -0
  64. package/dist/rules/mocha/chai/expect.d.ts +5 -4
  65. package/dist/rules/mocha/chai/expect.d.ts.map +1 -1
  66. package/dist/rules/mocha/chai/expect.js +5 -6
  67. package/dist/rules/mocha/chai/expect.js.map +1 -1
  68. package/dist/rules/mocha/chai/index.d.ts +9 -5
  69. package/dist/rules/mocha/chai/index.d.ts.map +1 -1
  70. package/dist/rules/mocha/chai/index.js +3 -4
  71. package/dist/rules/mocha/chai/index.js.map +1 -1
  72. package/dist/rules/mocha/disable.d.ts +5 -4
  73. package/dist/rules/mocha/disable.d.ts.map +1 -1
  74. package/dist/rules/mocha/disable.js +4 -5
  75. package/dist/rules/mocha/disable.js.map +1 -1
  76. package/dist/rules/mocha/enable.d.ts +19 -18
  77. package/dist/rules/mocha/enable.d.ts.map +1 -1
  78. package/dist/rules/mocha/enable.js +18 -19
  79. package/dist/rules/mocha/enable.js.map +1 -1
  80. package/dist/rules/mocha/index.d.ts +31 -28
  81. package/dist/rules/state.d.ts +6 -0
  82. package/dist/rules/state.d.ts.map +1 -0
  83. package/dist/rules/state.js +2 -0
  84. package/dist/rules/state.js.map +1 -0
  85. package/dist/rules/svelte/disable.d.ts +10 -9
  86. package/dist/rules/svelte/disable.d.ts.map +1 -1
  87. package/dist/rules/svelte/disable.js +9 -10
  88. package/dist/rules/svelte/disable.js.map +1 -1
  89. package/dist/rules/svelte/enable.d.ts +109 -83
  90. package/dist/rules/svelte/enable.d.ts.map +1 -1
  91. package/dist/rules/svelte/enable.js +71 -72
  92. package/dist/rules/svelte/enable.js.map +1 -1
  93. package/dist/rules/svelte/extension/disable.d.ts +6 -5
  94. package/dist/rules/svelte/extension/disable.d.ts.map +1 -1
  95. package/dist/rules/svelte/extension/disable.js +5 -6
  96. package/dist/rules/svelte/extension/disable.js.map +1 -1
  97. package/dist/rules/svelte/extension/index.d.ts +8 -4
  98. package/dist/rules/svelte/extension/index.d.ts.map +1 -1
  99. package/dist/rules/svelte/extension/index.js +5 -6
  100. package/dist/rules/svelte/extension/index.js.map +1 -1
  101. package/dist/rules/svelte/index.d.ts +126 -98
  102. package/dist/rules/ts/disable.d.ts +22 -21
  103. package/dist/rules/ts/disable.d.ts.map +1 -1
  104. package/dist/rules/ts/disable.js +21 -22
  105. package/dist/rules/ts/disable.js.map +1 -1
  106. package/dist/rules/ts/enable.d.ts +159 -122
  107. package/dist/rules/ts/enable.d.ts.map +1 -1
  108. package/dist/rules/ts/enable.js +88 -89
  109. package/dist/rules/ts/enable.js.map +1 -1
  110. package/dist/rules/ts/extension/disable.d.ts +11 -10
  111. package/dist/rules/ts/extension/disable.d.ts.map +1 -1
  112. package/dist/rules/ts/extension/disable.js +10 -11
  113. package/dist/rules/ts/extension/disable.js.map +1 -1
  114. package/dist/rules/ts/extension/index.d.ts +35 -22
  115. package/dist/rules/ts/extension/index.d.ts.map +1 -1
  116. package/dist/rules/ts/extension/index.js +9 -10
  117. package/dist/rules/ts/extension/index.js.map +1 -1
  118. package/dist/rules/ts/index.d.ts +220 -172
  119. package/dist/rules/yml/enable.d.ts +14 -13
  120. package/dist/rules/yml/enable.d.ts.map +1 -1
  121. package/dist/rules/yml/enable.js +13 -14
  122. package/dist/rules/yml/enable.js.map +1 -1
  123. package/dist/rules/yml/extension.d.ts +46 -21
  124. package/dist/rules/yml/extension.d.ts.map +1 -1
  125. package/dist/rules/yml/extension.js +12 -13
  126. package/dist/rules/yml/extension.js.map +1 -1
  127. package/dist/rules/yml/index.d.ts +57 -33
  128. package/dist/settings/settings/html.js +1 -1
  129. package/dist/settings/settings/html.js.map +1 -1
  130. package/package.json +1 -1
  131. package/src/_scope/index.ts +19 -7
  132. package/src/files/index.ts +38 -20
  133. package/src/ignores/global.ts +25 -0
  134. package/src/ignores/index.ts +15 -44
  135. package/src/rules/base.eslint.ts +214 -223
  136. package/src/rules/base.stylistic.ts +116 -131
  137. package/src/rules/css/enable.ts +17 -21
  138. package/src/rules/html/enable.ts +63 -66
  139. package/src/rules/json/enable.ts +9 -13
  140. package/src/rules/json/plugin/extension.ts +26 -32
  141. package/src/rules/json/plugin/index.ts +26 -30
  142. package/src/rules/jsonc/index.ts +1 -1
  143. package/src/rules/jsonc/override.ts +8 -0
  144. package/src/rules/jsoncc/index.ts +1 -1
  145. package/src/rules/jsoncc/override.ts +11 -0
  146. package/src/rules/mocha/chai/expect.ts +7 -11
  147. package/src/rules/mocha/chai/index.ts +4 -7
  148. package/src/rules/mocha/disable.ts +5 -8
  149. package/src/rules/mocha/enable.ts +27 -31
  150. package/src/rules/state.ts +5 -0
  151. package/src/rules/svelte/disable.ts +9 -12
  152. package/src/rules/svelte/enable.ts +76 -82
  153. package/src/rules/svelte/extension/disable.ts +5 -9
  154. package/src/rules/svelte/extension/index.ts +6 -10
  155. package/src/rules/ts/disable.ts +21 -24
  156. package/src/rules/ts/enable.ts +106 -111
  157. package/src/rules/ts/extension/disable.ts +26 -30
  158. package/src/rules/ts/extension/index.ts +27 -31
  159. package/src/rules/yml/enable.ts +23 -27
  160. package/src/rules/yml/extension.ts +13 -17
  161. package/src/settings/settings/html.ts +1 -1
  162. package/dist/_scope/const/index.d.ts +0 -3
  163. package/dist/_scope/const/index.d.ts.map +0 -1
  164. package/dist/_scope/const/index.js +0 -3
  165. package/dist/_scope/const/index.js.map +0 -1
  166. package/dist/_scope/const/roots.d.ts +0 -2
  167. package/dist/_scope/const/roots.d.ts.map +0 -1
  168. package/dist/_scope/const/roots.js +0 -5
  169. package/dist/_scope/const/roots.js.map +0 -1
  170. package/dist/_scope/const/subroots.d.ts +0 -2
  171. package/dist/_scope/const/subroots.d.ts.map +0 -1
  172. package/dist/_scope/const/subroots.js +0 -10
  173. package/dist/_scope/const/subroots.js.map +0 -1
  174. package/dist/files/css.d.ts.map +0 -1
  175. package/dist/files/css.js +0 -3
  176. package/dist/files/css.js.map +0 -1
  177. package/dist/files/html.d.ts +0 -3
  178. package/dist/files/html.d.ts.map +0 -1
  179. package/dist/files/html.js +0 -3
  180. package/dist/files/html.js.map +0 -1
  181. package/dist/files/js.d.ts +0 -3
  182. package/dist/files/js.d.ts.map +0 -1
  183. package/dist/files/js.js +0 -7
  184. package/dist/files/js.js.map +0 -1
  185. package/dist/files/json.d.ts +0 -3
  186. package/dist/files/json.d.ts.map +0 -1
  187. package/dist/files/json.js +0 -3
  188. package/dist/files/json.js.map +0 -1
  189. package/dist/files/jsonc.d.ts +0 -3
  190. package/dist/files/jsonc.d.ts.map +0 -1
  191. package/dist/files/jsonc.js +0 -3
  192. package/dist/files/jsonc.js.map +0 -1
  193. package/dist/files/jsoncc.d.ts +0 -3
  194. package/dist/files/jsoncc.d.ts.map +0 -1
  195. package/dist/files/jsoncc.js +0 -10
  196. package/dist/files/jsoncc.js.map +0 -1
  197. package/dist/files/mocha.d.ts +0 -3
  198. package/dist/files/mocha.d.ts.map +0 -1
  199. package/dist/files/mocha.js +0 -7
  200. package/dist/files/mocha.js.map +0 -1
  201. package/dist/files/svelte.d.ts +0 -3
  202. package/dist/files/svelte.d.ts.map +0 -1
  203. package/dist/files/svelte.js +0 -3
  204. package/dist/files/svelte.js.map +0 -1
  205. package/dist/files/ts.d.ts +0 -3
  206. package/dist/files/ts.d.ts.map +0 -1
  207. package/dist/files/ts.js +0 -7
  208. package/dist/files/ts.js.map +0 -1
  209. package/dist/files/yml.d.ts +0 -3
  210. package/dist/files/yml.d.ts.map +0 -1
  211. package/dist/files/yml.js +0 -8
  212. package/dist/files/yml.js.map +0 -1
  213. package/dist/ignores/css.d.ts +0 -3
  214. package/dist/ignores/css.d.ts.map +0 -1
  215. package/dist/ignores/css.js +0 -2
  216. package/dist/ignores/css.js.map +0 -1
  217. package/dist/ignores/html.d.ts +0 -3
  218. package/dist/ignores/html.d.ts.map +0 -1
  219. package/dist/ignores/html.js +0 -2
  220. package/dist/ignores/html.js.map +0 -1
  221. package/dist/ignores/js.d.ts +0 -3
  222. package/dist/ignores/js.d.ts.map +0 -1
  223. package/dist/ignores/js.js +0 -2
  224. package/dist/ignores/js.js.map +0 -1
  225. package/dist/ignores/json.d.ts +0 -3
  226. package/dist/ignores/json.d.ts.map +0 -1
  227. package/dist/ignores/json.js +0 -2
  228. package/dist/ignores/json.js.map +0 -1
  229. package/dist/ignores/jsonc.d.ts +0 -3
  230. package/dist/ignores/jsonc.d.ts.map +0 -1
  231. package/dist/ignores/jsonc.js +0 -2
  232. package/dist/ignores/jsonc.js.map +0 -1
  233. package/dist/ignores/jsoncc.d.ts +0 -3
  234. package/dist/ignores/jsoncc.d.ts.map +0 -1
  235. package/dist/ignores/jsoncc.js +0 -2
  236. package/dist/ignores/jsoncc.js.map +0 -1
  237. package/dist/ignores/mocha.d.ts +0 -3
  238. package/dist/ignores/mocha.d.ts.map +0 -1
  239. package/dist/ignores/mocha.js +0 -2
  240. package/dist/ignores/mocha.js.map +0 -1
  241. package/dist/ignores/svelte.d.ts +0 -3
  242. package/dist/ignores/svelte.d.ts.map +0 -1
  243. package/dist/ignores/svelte.js +0 -2
  244. package/dist/ignores/svelte.js.map +0 -1
  245. package/dist/ignores/ts.d.ts +0 -3
  246. package/dist/ignores/ts.d.ts.map +0 -1
  247. package/dist/ignores/ts.js +0 -2
  248. package/dist/ignores/ts.js.map +0 -1
  249. package/dist/ignores/yml.d.ts +0 -3
  250. package/dist/ignores/yml.d.ts.map +0 -1
  251. package/dist/ignores/yml.js +0 -2
  252. package/dist/ignores/yml.js.map +0 -1
  253. package/dist/rules/_strings/id.d.ts +0 -19
  254. package/dist/rules/_strings/id.d.ts.map +0 -1
  255. package/dist/rules/_strings/id.js +0 -19
  256. package/dist/rules/_strings/id.js.map +0 -1
  257. package/dist/rules/_strings/index.d.ts +0 -4
  258. package/dist/rules/_strings/index.d.ts.map +0 -1
  259. package/dist/rules/_strings/index.js +0 -4
  260. package/dist/rules/_strings/index.js.map +0 -1
  261. package/dist/rules/_strings/option.d.ts +0 -2
  262. package/dist/rules/_strings/option.d.ts.map +0 -1
  263. package/dist/rules/_strings/option.js +0 -2
  264. package/dist/rules/_strings/option.js.map +0 -1
  265. package/dist/rules/_strings/state.d.ts +0 -2
  266. package/dist/rules/_strings/state.d.ts.map +0 -1
  267. package/dist/rules/_strings/state.js +0 -2
  268. package/dist/rules/_strings/state.js.map +0 -1
  269. package/dist/rules/jsonc/plugin/index.d.ts +0 -8
  270. package/dist/rules/jsonc/plugin/index.d.ts.map +0 -1
  271. package/dist/rules/jsonc/plugin/index.js +0 -8
  272. package/dist/rules/jsonc/plugin/index.js.map +0 -1
  273. package/dist/rules/jsoncc/plugin/index.d.ts +0 -8
  274. package/dist/rules/jsoncc/plugin/index.d.ts.map +0 -1
  275. package/dist/rules/jsoncc/plugin/index.js +0 -11
  276. package/dist/rules/jsoncc/plugin/index.js.map +0 -1
  277. package/src/_scope/const/index.ts +0 -2
  278. package/src/_scope/const/roots.ts +0 -4
  279. package/src/_scope/const/subroots.ts +0 -9
  280. package/src/files/css.ts +0 -5
  281. package/src/files/html.ts +0 -5
  282. package/src/files/js.ts +0 -9
  283. package/src/files/json.ts +0 -5
  284. package/src/files/jsonc.ts +0 -5
  285. package/src/files/jsoncc.ts +0 -16
  286. package/src/files/mocha.ts +0 -9
  287. package/src/files/svelte.ts +0 -5
  288. package/src/files/ts.ts +0 -9
  289. package/src/files/yml.ts +0 -11
  290. package/src/ignores/css.ts +0 -1
  291. package/src/ignores/html.ts +0 -1
  292. package/src/ignores/js.ts +0 -1
  293. package/src/ignores/json.ts +0 -1
  294. package/src/ignores/jsonc.ts +0 -1
  295. package/src/ignores/jsoncc.ts +0 -1
  296. package/src/ignores/mocha.ts +0 -1
  297. package/src/ignores/svelte.ts +0 -1
  298. package/src/ignores/ts.ts +0 -1
  299. package/src/ignores/yml.ts +0 -1
  300. package/src/rules/_strings/id.ts +0 -21
  301. package/src/rules/_strings/index.ts +0 -3
  302. package/src/rules/_strings/option.ts +0 -29
  303. package/src/rules/_strings/state.ts +0 -4
  304. package/src/rules/jsonc/plugin/index.ts +0 -12
  305. package/src/rules/jsoncc/plugin/index.ts +0 -16
@@ -1,87 +1,84 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../_strings";
1
+ import { State } from "../state";
6
2
 
3
+ // DOC: https://html-eslint.org/docs/rules
7
4
  export default {
8
- id: ID.Enable.Plugin.Plugin,
5
+ id: "enable",
9
6
  rules: {
10
7
  // #region BEST PRACTICE
11
8
  // DOC: https://html-eslint.org/docs/rules#best-practice
12
- // "@html-eslint/max-element-depth": OFF /* @preference: simply do not care */,
13
- "@html-eslint/no-duplicate-attrs": ON,
14
- "@html-eslint/no-duplicate-class": ON,
15
- "@html-eslint/no-duplicate-id": ON,
16
- "@html-eslint/no-duplicate-in-head": ON,
17
- "@html-eslint/no-ineffective-attrs": ON,
18
- // "@html-eslint/no-inline-styles": OFF /* @CONFLICT: breaks Svelte app.html */,
19
- "@html-eslint/no-invalid-entity": ON,
20
- "@html-eslint/no-nested-interactive": ON,
21
- "@html-eslint/no-obsolete-tags": ON,
22
- // "@html-eslint/no-restricted-attr-values": OFF,
23
- // "@html-eslint/no-restricted-attrs": OFF,
24
- // "@html-eslint/no-restricted-tags": OFF,
25
- // "@html-eslint/no-script-style-type": OFF,
26
- "@html-eslint/no-target-blank": ON,
27
- // "@html-eslint/prefer-https": OFF /* @CONFLICT: not everything is https */,
28
- // "@html-eslint/require-attrs": OFF,
29
- "@html-eslint/require-button-type": ON,
30
- "@html-eslint/require-closing-tags": ON,
31
- "@html-eslint/require-doctype": ON,
32
- // "@html-eslint/require-explicit-size": OFF /* preference, prefer using css */,
33
- "@html-eslint/require-li-container": ON,
34
- "@html-eslint/require-meta-charset": ON,
35
- "@html-eslint/use-baseline": ON,
9
+ // "html/max-element-depth": State.OFF /* @preference: simply do not care */,
10
+ "html/no-duplicate-attrs": State.ON,
11
+ "html/no-duplicate-class": State.ON,
12
+ "html/no-duplicate-id": State.ON,
13
+ "html/no-duplicate-in-head": State.ON,
14
+ "html/no-ineffective-attrs": State.ON,
15
+ // "html/no-inline-styles": State.OFF /* @CONFLICT: breaks Svelte app.html */,
16
+ "html/no-invalid-entity": State.ON,
17
+ "html/no-nested-interactive": State.ON,
18
+ "html/no-obsolete-tags": State.ON,
19
+ // "html/no-restricted-attr-values": State.OFF,
20
+ // "html/no-restricted-attrs": State.OFF,
21
+ // "html/no-restricted-tags": State.OFF,
22
+ // "html/no-script-style-type": State.OFF,
23
+ "html/no-target-blank": State.ON,
24
+ // "html/prefer-https": State.OFF /* @CONFLICT: not everything is https */,
25
+ // "html/require-attrs": State.OFF,
26
+ "html/require-button-type": State.ON,
27
+ "html/require-closing-tags": State.ON,
28
+ "html/require-doctype": State.ON,
29
+ // "html/require-explicit-size": State.OFF /* preference, prefer using css */,
30
+ "html/require-li-container": State.ON,
31
+ "html/require-meta-charset": State.ON,
32
+ "html/use-baseline": State.ON,
36
33
  // #endregion
37
34
 
38
35
  // #region SEO
39
36
  // DOC: https://html-eslint.org/docs/rules#seo
40
- "@html-eslint/no-multiple-h1": ON,
41
- "@html-eslint/require-lang": ON,
42
- // "@html-eslint/require-meta-description": OFF /* @CONFLICT: breaks Svelte which leaves meta descriptions to route leaves */,
43
- // "@html-eslint/require-open-graph-protocol": OFF /* idk what this is, also it probably breaks Svelte */,
44
- // "@html-eslint/require-title": OFF /* @CONFLICT: breaks Svelte which leaves title to route leaves */,
37
+ "html/no-multiple-h1": State.ON,
38
+ "html/require-lang": State.ON,
39
+ // "html/require-meta-description": State.OFF /* @CONFLICT: breaks Svelte which leaves meta descriptions to route leaves */,
40
+ // "html/require-open-graph-protocol": State.OFF /* idk what this is, also it probably breaks Svelte */,
41
+ // "html/require-title": State.OFF /* @CONFLICT: breaks Svelte which leaves title to route leaves */,
45
42
  // #endregion
46
43
 
47
44
  // #region ACCESSIBILITY
48
45
  // DOC: https://html-eslint.org/docs/rules#accessibility
49
- "@html-eslint/no-abstract-roles": ON,
50
- "@html-eslint/no-accesskey-attrs": ON,
51
- "@html-eslint/no-aria-hidden-body": ON,
52
- "@html-eslint/no-aria-hidden-on-focusable": ON,
53
- "@html-eslint/no-empty-headings": ON,
54
- "@html-eslint/no-heading-inside-button": ON,
55
- "@html-eslint/no-invalid-role": ON,
56
- "@html-eslint/no-non-scalable-viewport": ON,
57
- "@html-eslint/no-positive-tabindex": ON,
58
- "@html-eslint/no-skip-heading-levels": ON,
59
- "@html-eslint/require-form-method": ON,
60
- "@html-eslint/require-frame-title": ON,
61
- "@html-eslint/require-img-alt": ON,
62
- "@html-eslint/require-input-label": ON,
63
- "@html-eslint/require-meta-viewport": ON,
46
+ "html/no-abstract-roles": State.ON,
47
+ "html/no-accesskey-attrs": State.ON,
48
+ "html/no-aria-hidden-body": State.ON,
49
+ "html/no-aria-hidden-on-focusable": State.ON,
50
+ "html/no-empty-headings": State.ON,
51
+ "html/no-heading-inside-button": State.ON,
52
+ "html/no-invalid-role": State.ON,
53
+ "html/no-non-scalable-viewport": State.ON,
54
+ "html/no-positive-tabindex": State.ON,
55
+ "html/no-skip-heading-levels": State.ON,
56
+ "html/require-form-method": State.ON,
57
+ "html/require-frame-title": State.ON,
58
+ "html/require-img-alt": State.ON,
59
+ "html/require-input-label": State.ON,
60
+ "html/require-meta-viewport": State.ON,
64
61
  // #endregion
65
62
 
66
63
  // #region STYLE
67
64
  // DOC: https://html-eslint.org/docs/rules#style
68
- "@html-eslint/attrs-newline": [
69
- ON,
65
+ "html/attrs-newline": [
66
+ State.ON,
70
67
  {
71
68
  ifAttrsMoreThan: 0,
72
69
  // closeStyle: "newline" /* sameline | @default newline */,
73
70
  },
74
71
  ],
75
- "@html-eslint/element-newline": [
76
- ON,
72
+ "html/element-newline": [
73
+ State.ON,
77
74
  {
78
75
  skip: ["head"],
79
76
  inline: ["$inline"],
80
77
  },
81
78
  ],
82
- // "@html-eslint/id-naming-convention": OFF,
83
- "@html-eslint/indent": [
84
- ON,
79
+ // "html/id-naming-convention": State.OFF,
80
+ "html/indent": [
81
+ State.ON,
85
82
  2 /* tab | number | @default 4 */,
86
83
  // {
87
84
  // Attribute: 1 /* number | @default 1 */,
@@ -90,9 +87,9 @@ export default {
90
87
  // } /* @default {} */,
91
88
  // },
92
89
  ] /* TBD: @CONFIGURE: indents for specific child tags: https://html-eslint.org/docs/rules/indent */,
93
- "@html-eslint/lowercase": ON,
94
- "@html-eslint/no-extra-spacing-attrs": [
95
- ON,
90
+ "html/lowercase": State.ON,
91
+ "html/no-extra-spacing-attrs": [
92
+ State.ON,
96
93
  {
97
94
  // enforceBeforeSelfClose: false /* @default false */,
98
95
  disallowMissing: true /* @default false */,
@@ -100,16 +97,16 @@ export default {
100
97
  disallowInAssignment: true /* @default false */,
101
98
  },
102
99
  ],
103
- "@html-eslint/no-extra-spacing-text": ON,
104
- "@html-eslint/no-multiple-empty-lines": [
105
- ON,
100
+ "html/no-extra-spacing-text": State.ON,
101
+ "html/no-multiple-empty-lines": [
102
+ State.ON,
106
103
  {
107
104
  max: 1 /* number | @default 2 */,
108
105
  },
109
106
  ],
110
- "@html-eslint/no-trailing-spaces": ON,
111
- "@html-eslint/quotes": ON,
112
- // "@html-eslint/sort-attrs": OFF,
107
+ "html/no-trailing-spaces": State.ON,
108
+ "html/quotes": State.ON,
109
+ // "html/sort-attrs": State.OFF,
113
110
  // #endregion
114
111
  } as const,
115
112
  };
@@ -1,18 +1,14 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../_strings";
1
+ import { State } from "../state";
6
2
 
3
+ // DOC: https://github.com/eslint/json?tab=readme-ov-file#rules
7
4
  export default {
8
- id: ID.Enable.Enable,
5
+ id: "enable",
9
6
  rules: {
10
- // DOC: https://github.com/eslint/json?tab=readme-ov-file#rules
11
- "json/no-duplicate-keys": ON /* replaces jsonc/no-dupe-keys */,
12
- // "json/no-empty-keys": OFF /* preference: I use empty keys or keys with only whitespace sometimes, as does `package-lock.json` per DOC: "jsonc/no-dupe-keys": ON /* ESLint: json/no-duplicate-keys */,
13
- "json/no-unsafe-values": ON,
14
- "json/no-unnormalized-keys": ON,
15
- // "json/sort-keys": OFF /* replaces jsonc/sort-keys BUT preference: I don't like sorting keys, it makes diffs harder to read, and I don't see the point of it in JSON */,
16
- "json/top-level-interop": ON,
7
+ "json/no-duplicate-keys": State.ON /* replaces jsonc/no-dupe-keys */,
8
+ // "json/no-empty-keys": State.OFF /* preference */,
9
+ "json/no-unsafe-values": State.ON,
10
+ "json/no-unnormalized-keys": State.ON,
11
+ // "json/sort-keys": State.OFF /* replaces jsonc/sort-keys BUT preference */,
12
+ "json/top-level-interop": State.ON,
17
13
  } as const,
18
14
  };
@@ -1,32 +1,26 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- always,
6
- consistent,
7
- } from "../../_strings";
1
+ import { State } from "../../state";
8
2
 
3
+ // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#extension-rules
9
4
  export default {
10
- id: ID.Enable.Plugin.Extension,
5
+ id: "enable/plugin/extension",
11
6
  rules: {
12
- // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#extension-rules
13
- // "jsonc/array-bracket-newline": OFF /* @OVERRIDE: BIGGER BUG: i mean this basically just doesn't work, even with multiple lines it will still fail| BUG: the spec says: `requires line breaks if the number of elements is at least the given integer. If this is 0, this condition will act the same as the option "always". If this is null (the default), this condition is disabled`. However, when null, the jsonc plugin actually errors when there are linebreaks with a single item | (was: MUST match @stylistic/array-bracket-newline) */,
14
- "jsonc/array-bracket-spacing": ON /* MUST match @stylistic/array-bracket-spacing */,
7
+ // "jsonc/array-bracket-newline": State.OFF /* @OVERRIDE: BIGGER BUG: i mean this basically just doesn't work, even with multiple lines it will still fail| BUG: the spec says: `requires line breaks if the number of elements is at least the given integer. If this is 0, this condition will act the same as the option "always". If this is null (the default), this condition is disabled`. However, when null, the jsonc plugin actually errors when there are linebreaks with a single item | (was: MUST match @stylistic/array-bracket-newline) */,
8
+ "jsonc/array-bracket-spacing": State.ON /* MUST match @stylistic/array-bracket-spacing */,
15
9
  "jsonc/array-element-newline": [
16
- ON,
17
- consistent,
10
+ State.ON,
11
+ "consistent",
18
12
  ] /* WOULD match @stylistic/array-element-newline, but jsonc plugin has slightly different options */,
19
- "jsonc/comma-dangle": ON /* trailing commas are NOT allowed in JSON */,
20
- "jsonc/comma-style": ON,
13
+ "jsonc/comma-dangle": State.ON /* trailing commas are NOT allowed in JSState.ON */,
14
+ "jsonc/comma-style": State.ON,
21
15
  "jsonc/indent": [
22
- ON,
16
+ State.ON,
23
17
  2,
24
18
  ],
25
- "jsonc/key-spacing": ON /* MUST match @stylistic/key-spacing */,
26
- // "jsonc/no-dupe-keys": OFF /* ESLint: json/no-duplicate-keys */,
27
- "jsonc/no-floating-decimal": ON,
19
+ "jsonc/key-spacing": State.ON /* MUST match @stylistic/key-spacing */,
20
+ // "jsonc/no-dupe-keys": State.OFF /* ESLint: json/no-duplicate-keys */,
21
+ "jsonc/no-floating-decimal": State.ON,
28
22
  "jsonc/no-irregular-whitespace": [
29
- ON,
23
+ State.ON,
30
24
  {
31
25
  skipStrings: true,
32
26
  skipComments: true,
@@ -35,13 +29,13 @@ export default {
35
29
  skipJSXText: true,
36
30
  },
37
31
  ],
38
- "jsonc/no-multi-str": ON,
39
- "jsonc/no-octal-escape": ON,
40
- "jsonc/no-octal": ON,
41
- "jsonc/no-sparse-arrays": ON,
42
- "jsonc/no-useless-escape": ON,
32
+ "jsonc/no-multi-str": State.ON,
33
+ "jsonc/no-octal-escape": State.ON,
34
+ "jsonc/no-octal": State.ON,
35
+ "jsonc/no-sparse-arrays": State.ON,
36
+ "jsonc/no-useless-escape": State.ON,
43
37
  "jsonc/object-curly-newline": [
44
- ON,
38
+ State.ON,
45
39
  {
46
40
  consistent: true,
47
41
  multiline: true,
@@ -49,12 +43,12 @@ export default {
49
43
  },
50
44
  ] /* @OVERRIDE @stylistic/object-curly-newline */,
51
45
  "jsonc/object-curly-spacing": [
52
- ON,
53
- always,
46
+ State.ON,
47
+ "always",
54
48
  ] /* MUST match @stylistic/object-curly-spacing */,
55
- "jsonc/object-property-newline": ON /* MUST match @stylistic/object-property-newline */,
56
- "jsonc/quote-props": ON,
57
- "jsonc/quotes": ON,
58
- "jsonc/space-unary-ops": ON,
49
+ "jsonc/object-property-newline": State.ON /* MUST match @stylistic/object-property-newline */,
50
+ "jsonc/quote-props": State.ON,
51
+ "jsonc/quotes": State.ON,
52
+ "jsonc/space-unary-ops": State.ON,
59
53
  } as const,
60
54
  };
@@ -1,35 +1,31 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../../_strings";
1
+ import { State } from "../../state";
6
2
 
3
+ // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
7
4
  export default {
8
- id: ID.Enable.Plugin.Plugin,
5
+ id: "enable/plugin",
9
6
  rules: {
10
- // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
11
- // "jsonc/auto": OFF,
12
- // "jsonc/key-name-casing": OFF,
13
- "jsonc/no-bigint-literals": ON,
14
- "jsonc/no-binary-expression": ON,
15
- "jsonc/no-binary-numeric-literals": ON,
16
- "jsonc/no-comments": ON /* comments are NOT allowed in JSON */,
17
- "jsonc/no-escape-sequence-in-identifier": ON,
18
- "jsonc/no-hexadecimal-numeric-literals": ON,
19
- "jsonc/no-infinity": ON,
20
- "jsonc/no-nan": ON,
21
- "jsonc/no-number-props": ON,
22
- "jsonc/no-numeric-separators": ON,
23
- "jsonc/no-octal-numeric-literals": ON,
24
- "jsonc/no-parenthesized": ON,
25
- "jsonc/no-plus-sign": ON,
26
- "jsonc/no-regexp-literals": ON,
27
- "jsonc/no-template-literals": ON,
28
- "jsonc/no-undefined-value": ON,
29
- "jsonc/no-unicode-codepoint-escapes": ON,
30
- // "jsonc/sort-array-values": OFF /* preference: this makes no sense, arrays can be ordered */,
31
- // "jsonc/sort-keys": OFF /* ESLint: json/sort-keys BUT preference: only sort keys manually when I'd like */,
32
- "jsonc/valid-json-number": ON,
33
- "jsonc/vue-custom-block/no-parsing-error": ON,
7
+ // "jsonc/auto": State.OFF,
8
+ // "jsonc/key-name-casing": State.OFF,
9
+ "jsonc/no-bigint-literals": State.ON,
10
+ "jsonc/no-binary-expression": State.ON,
11
+ "jsonc/no-binary-numeric-literals": State.ON,
12
+ "jsonc/no-comments": State.ON /* comments are NOT allowed in JSState.ON */,
13
+ "jsonc/no-escape-sequence-in-identifier": State.ON,
14
+ "jsonc/no-hexadecimal-numeric-literals": State.ON,
15
+ "jsonc/no-infinity": State.ON,
16
+ "jsonc/no-nan": State.ON,
17
+ "jsonc/no-number-props": State.ON,
18
+ "jsonc/no-numeric-separators": State.ON,
19
+ "jsonc/no-octal-numeric-literals": State.ON,
20
+ "jsonc/no-parenthesized": State.ON,
21
+ "jsonc/no-plus-sign": State.ON,
22
+ "jsonc/no-regexp-literals": State.ON,
23
+ "jsonc/no-template-literals": State.ON,
24
+ "jsonc/no-undefined-value": State.ON,
25
+ "jsonc/no-unicode-codepoint-escapes": State.ON,
26
+ // "jsonc/sort-array-values": State.OFF /* preference: this makes no sense, arrays can be ordered */,
27
+ // "jsonc/sort-keys": State.OFF /* ESLint: json/sort-keys BUT preference: only sort keys manually when I'd like */,
28
+ "jsonc/valid-json-number": State.ON,
29
+ "jsonc/vue-custom-block/no-parsing-error": State.ON,
34
30
  } as const,
35
31
  };
@@ -1,3 +1,3 @@
1
- import JsoncPluginDisable from "./plugin";
1
+ import JsoncPluginDisable from "./override";
2
2
 
3
3
  export default [JsoncPluginDisable];
@@ -0,0 +1,8 @@
1
+ import { State } from "../state";
2
+
3
+ export default {
4
+ id: "override",
5
+ rules: {
6
+ "jsonc/no-comments": State.OFF /* comments ARE allowed in JSONC */,
7
+ } as const,
8
+ };
@@ -1,3 +1,3 @@
1
- import JsoncCommaPluginDisable from "./plugin";
1
+ import JsoncCommaPluginDisable from "./override";
2
2
 
3
3
  export default [JsoncCommaPluginDisable];
@@ -0,0 +1,11 @@
1
+ import { State } from "../state";
2
+
3
+ export default {
4
+ id: "override",
5
+ rules: {
6
+ "jsonc/comma-dangle": [
7
+ State.ON,
8
+ "always-multiline",
9
+ ] /* trailing commas ARE allowed in JSONC */,
10
+ } as const,
11
+ };
@@ -1,16 +1,12 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../../_strings";
1
+ import { State } from "../../state";
6
2
 
3
+ // DOC: https://github.com/turbo87/eslint-plugin-chai-expect?tab=readme-ov-file#rules
7
4
  export default {
8
- id: `${ID.Enable.Plugin.Plugin}/chai/expect`,
5
+ id: "enable/chai/expect",
9
6
  rules: {
10
- // DOC: https://github.com/turbo87/eslint-plugin-chai-expect?tab=readme-ov-file#rules
11
- "chai-expect/no-inner-compare": ON,
12
- "chai-expect/no-inner-literal": ON,
13
- "chai-expect/missing-assertion": ON,
14
- // "chai-expect/terminating-properties": OFF,
7
+ "chai-expect/no-inner-compare": State.ON,
8
+ "chai-expect/no-inner-literal": State.ON,
9
+ "chai-expect/missing-assertion": State.ON,
10
+ // "chai-expect/terminating-properties": State.OFF,
15
11
  } as const,
16
12
  };
@@ -1,14 +1,11 @@
1
- import {
2
- ID,
3
- ON,
4
- } from "../../_strings";
1
+ import { State } from "../../state";
5
2
 
3
+ // DOC: https://github.com/ihordiachenko/eslint-plugin-chai-friendly?tab=readme-ov-file#usage
6
4
  export default {
7
- id: `${ID.Enable.Plugin.Plugin}/chai`,
5
+ id: "enable/chai",
8
6
  rules: {
9
- // DOC: https://github.com/ihordiachenko/eslint-plugin-chai-friendly?tab=readme-ov-file#usage
10
7
  "chai-friendly/no-unused-expressions": [
11
- ON,
8
+ State.ON,
12
9
  {
13
10
  allowShortCircuit: true,
14
11
  allowTernary: true,
@@ -1,13 +1,10 @@
1
- import {
2
- ID,
3
- OFF,
4
- } from "../_strings";
1
+ import { State } from "../state";
5
2
 
6
3
  export default {
7
- id: ID.Disable.Disable,
4
+ id: "disable",
8
5
  rules: {
9
- "prefer-arrow-callback": OFF /* TS-capable */,
10
- "no-unused-expressions": OFF /* INFO: looks like these guys got the hint too ;) https://github.com/ihordiachenko/eslint-plugin-chai-friendly/releases/tag/v1.1.0 */,
11
- // "@typescript-eslint/no-unused-expressions": OFF /* ESLint now supports TS */,
6
+ "prefer-arrow-callback": State.OFF /* TS-capable */,
7
+ "no-unused-expressions": State.OFF /* INFO: looks like these guys got the hint too ;) https://github.com/ihordiachenko/eslint-plugin-chai-friendly/releases/tag/v1.1.0 */,
8
+ // "@typescript-eslint/no-unused-expressions": State.OFF /* ESLint now supports TS */,
12
9
  } as const,
13
10
  };
@@ -1,36 +1,32 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../_strings";
1
+ import { State } from "../state";
6
2
 
3
+ // DOC: https://github.com/lo1tuma/eslint-plugin-mocha/tree/main?tab=readme-ov-file#rules
7
4
  export default {
8
- id: ID.Enable.Enable,
5
+ id: "enable",
9
6
  rules: {
10
- // DOC: https://github.com/lo1tuma/eslint-plugin-mocha/tree/main?tab=readme-ov-file#rules
11
- // "mocha/consistent-interface": OFF /* unable, must choose BDD or TDD first */,
12
- // "mocha/consistent-spacing-between-blocks": OFF,
13
- "mocha/handle-done-callback": ON,
14
- "mocha/max-top-level-suites": ON,
15
- "mocha/no-async-suite": ON,
16
- "mocha/no-empty-title": ON,
17
- "mocha/no-exclusive-tests": ON,
18
- "mocha/no-exports": ON,
19
- "mocha/no-global-tests": ON,
20
- // "mocha/no-hooks-for-single-case": OFF,
21
- // "mocha/no-hooks": OFF,
22
- "mocha/no-identical-title": ON,
23
- "mocha/no-mocha-arrows": ON,
24
- "mocha/no-nested-tests": ON,
25
- "mocha/no-pending-tests": ON,
26
- "mocha/no-return-and-callback": ON,
27
- "mocha/no-return-from-async": ON,
28
- // "mocha/no-setup-in-describe": OFF /* pointless and arbitrary */,
29
- "mocha/no-sibling-hooks": ON,
30
- // "mocha/no-synchronous-tests": OFF,
31
- "mocha/no-top-level-hooks": ON,
32
- "mocha/prefer-arrow-callback": ON /* MUST match ../js/enable.ts, which is TS-capable -- is this?? */,
33
- // "mocha/valid-suite-title": OFF /* preference */,
34
- // "mocha/valid-test-title": OFF /* preference */,
7
+ // "mocha/consistent-interface": State.OFF /* unable, must choose BDD or TDD first */,
8
+ // "mocha/consistent-spacing-between-blocks": State.OFF,
9
+ "mocha/handle-done-callback": State.ON,
10
+ "mocha/max-top-level-suites": State.ON,
11
+ "mocha/no-async-suite": State.ON,
12
+ "mocha/no-empty-title": State.ON,
13
+ "mocha/no-exclusive-tests": State.ON,
14
+ "mocha/no-exports": State.ON,
15
+ "mocha/no-global-tests": State.ON,
16
+ // "mocha/no-hooks-for-single-case": State.OFF,
17
+ // "mocha/no-hooks": State.OFF,
18
+ "mocha/no-identical-title": State.ON,
19
+ "mocha/no-mocha-arrows": State.ON,
20
+ "mocha/no-nested-tests": State.ON,
21
+ "mocha/no-pending-tests": State.ON,
22
+ "mocha/no-return-and-callback": State.ON,
23
+ "mocha/no-return-from-async": State.ON,
24
+ // "mocha/no-setup-in-describe": State.OFF /* pointless and arbitrary */,
25
+ "mocha/no-sibling-hooks": State.ON,
26
+ // "mocha/no-synchronous-tests": State.OFF,
27
+ "mocha/no-top-level-hooks": State.ON,
28
+ "mocha/prefer-arrow-callback": State.ON /* MUST match ../js/enable.ts, which is TS-capable -- is this?? */,
29
+ // "mocha/valid-suite-title": State.OFF /* preference */,
30
+ // "mocha/valid-test-title": State.OFF /* preference */,
35
31
  } as const,
36
32
  };
@@ -0,0 +1,5 @@
1
+ export const enum State {
2
+ OFF,
3
+ WARN,
4
+ ON,
5
+ }
@@ -1,20 +1,17 @@
1
- import {
2
- ID,
3
- OFF,
4
- } from "../_strings";
1
+ import { State } from "../state";
5
2
 
6
3
  export default {
7
- id: ID.Disable.Disable,
4
+ id: "disable",
8
5
  rules: {
9
6
  // ESLint core rules known to cause problems with `.svelte`.
10
7
  // DOC: https://github.com/sveltejs/eslint-plugin-svelte/blob/ca37fbbe82d01019946e12eeb1b57c2a5736c018/packages/eslint-plugin-svelte/src/configs/base.ts
11
- "no-inner-declarations": OFF /* The AST generated by svelte-eslint-parser will false positive because the root node of the script is not `Program`. */,
12
- "no-self-assign": OFF /* Self assign is one of way to update reactive value in Svelte */,
13
- "no-unused-vars": OFF /* breaks use of svelte global */,
14
- "@typescript-eslint/no-unused-vars": OFF /* TS: breaks use of svelte global */,
15
- "prefer-const": OFF /* svelte/prefer-const */,
8
+ "no-inner-declarations": State.OFF /* The AST generated by svelte-eslint-parser will false positive because the root node of the script is not `Program`. */,
9
+ "no-self-assign": State.OFF /* Self assign is one of way to update reactive value in Svelte */,
10
+ "no-unused-vars": State.OFF /* breaks use of svelte global */,
11
+ "@typescript-eslint/no-unused-vars": State.OFF /* TS: breaks use of svelte global */,
12
+ "prefer-const": State.OFF /* svelte/prefer-const */,
16
13
  // My own
17
- "@stylistic/indent": OFF /* Conflicts with `svelte/indent` */,
18
- "@typescript-eslint/no-confusing-void-expression": OFF /* errors on render() */,
14
+ "@stylistic/indent": State.OFF /* Conflicts with `svelte/indent` */,
15
+ "@typescript-eslint/no-confusing-void-expression": State.OFF /* errors on render() */,
19
16
  } as const,
20
17
  };