eslint-plugin-sdl-2 1.0.4

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 (418) hide show
  1. package/CHANGELOG.md +5316 -0
  2. package/LICENSE +21 -0
  3. package/README.md +133 -0
  4. package/dist/_internal/ast-utils.d.ts +17 -0
  5. package/dist/_internal/ast-utils.d.ts.map +1 -0
  6. package/dist/_internal/ast-utils.js +93 -0
  7. package/dist/_internal/ast-utils.js.map +1 -0
  8. package/dist/_internal/config-references.d.ts +5 -0
  9. package/dist/_internal/config-references.d.ts.map +1 -0
  10. package/dist/_internal/config-references.js +13 -0
  11. package/dist/_internal/config-references.js.map +1 -0
  12. package/dist/_internal/create-rule.d.ts +9 -0
  13. package/dist/_internal/create-rule.d.ts.map +1 -0
  14. package/dist/_internal/create-rule.js +6 -0
  15. package/dist/_internal/create-rule.js.map +1 -0
  16. package/dist/_internal/domparser.d.ts +19 -0
  17. package/dist/_internal/domparser.d.ts.map +1 -0
  18. package/dist/_internal/domparser.js +45 -0
  19. package/dist/_internal/domparser.js.map +1 -0
  20. package/dist/_internal/electron-web-preferences.d.ts +14 -0
  21. package/dist/_internal/electron-web-preferences.d.ts.map +1 -0
  22. package/dist/_internal/electron-web-preferences.js +63 -0
  23. package/dist/_internal/electron-web-preferences.js.map +1 -0
  24. package/dist/_internal/estree-utils.d.ts +51 -0
  25. package/dist/_internal/estree-utils.d.ts.map +1 -0
  26. package/dist/_internal/estree-utils.js +112 -0
  27. package/dist/_internal/estree-utils.js.map +1 -0
  28. package/dist/_internal/node-tls-config.d.ts +44 -0
  29. package/dist/_internal/node-tls-config.d.ts.map +1 -0
  30. package/dist/_internal/node-tls-config.js +101 -0
  31. package/dist/_internal/node-tls-config.js.map +1 -0
  32. package/dist/_internal/rules-registry.d.ts +10 -0
  33. package/dist/_internal/rules-registry.d.ts.map +1 -0
  34. package/dist/_internal/rules-registry.js +148 -0
  35. package/dist/_internal/rules-registry.js.map +1 -0
  36. package/dist/_internal/script-element.d.ts +7 -0
  37. package/dist/_internal/script-element.d.ts.map +1 -0
  38. package/dist/_internal/script-element.js +46 -0
  39. package/dist/_internal/script-element.js.map +1 -0
  40. package/dist/_internal/worker-code-loading.d.ts +69 -0
  41. package/dist/_internal/worker-code-loading.d.ts.map +1 -0
  42. package/dist/_internal/worker-code-loading.js +134 -0
  43. package/dist/_internal/worker-code-loading.js.map +1 -0
  44. package/dist/plugin.cjs +6036 -0
  45. package/dist/plugin.cjs.map +7 -0
  46. package/dist/plugin.d.cts +11 -0
  47. package/dist/plugin.d.ts +11 -0
  48. package/dist/plugin.d.ts.map +1 -0
  49. package/dist/plugin.js +235 -0
  50. package/dist/plugin.js.map +1 -0
  51. package/dist/rules/no-angular-bypass-sanitizer.d.ts +5 -0
  52. package/dist/rules/no-angular-bypass-sanitizer.d.ts.map +1 -0
  53. package/dist/rules/no-angular-bypass-sanitizer.js +32 -0
  54. package/dist/rules/no-angular-bypass-sanitizer.js.map +1 -0
  55. package/dist/rules/no-angular-bypass-security-trust-html.d.ts +5 -0
  56. package/dist/rules/no-angular-bypass-security-trust-html.d.ts.map +1 -0
  57. package/dist/rules/no-angular-bypass-security-trust-html.js +51 -0
  58. package/dist/rules/no-angular-bypass-security-trust-html.js.map +1 -0
  59. package/dist/rules/no-angular-innerhtml-binding.d.ts +5 -0
  60. package/dist/rules/no-angular-innerhtml-binding.d.ts.map +1 -0
  61. package/dist/rules/no-angular-innerhtml-binding.js +57 -0
  62. package/dist/rules/no-angular-innerhtml-binding.js.map +1 -0
  63. package/dist/rules/no-angular-sanitization-trusted-urls.d.ts +5 -0
  64. package/dist/rules/no-angular-sanitization-trusted-urls.d.ts.map +1 -0
  65. package/dist/rules/no-angular-sanitization-trusted-urls.js +32 -0
  66. package/dist/rules/no-angular-sanitization-trusted-urls.js.map +1 -0
  67. package/dist/rules/no-angularjs-bypass-sce.d.ts +5 -0
  68. package/dist/rules/no-angularjs-bypass-sce.d.ts.map +1 -0
  69. package/dist/rules/no-angularjs-bypass-sce.js +80 -0
  70. package/dist/rules/no-angularjs-bypass-sce.js.map +1 -0
  71. package/dist/rules/no-angularjs-enable-svg.d.ts +5 -0
  72. package/dist/rules/no-angularjs-enable-svg.d.ts.map +1 -0
  73. package/dist/rules/no-angularjs-enable-svg.js +48 -0
  74. package/dist/rules/no-angularjs-enable-svg.js.map +1 -0
  75. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.d.ts +5 -0
  76. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.d.ts.map +1 -0
  77. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.js +64 -0
  78. package/dist/rules/no-angularjs-ng-bind-html-without-sanitize.js.map +1 -0
  79. package/dist/rules/no-angularjs-sanitization-whitelist.d.ts +5 -0
  80. package/dist/rules/no-angularjs-sanitization-whitelist.d.ts.map +1 -0
  81. package/dist/rules/no-angularjs-sanitization-whitelist.js +32 -0
  82. package/dist/rules/no-angularjs-sanitization-whitelist.js.map +1 -0
  83. package/dist/rules/no-angularjs-sce-resource-url-wildcard.d.ts +5 -0
  84. package/dist/rules/no-angularjs-sce-resource-url-wildcard.d.ts.map +1 -0
  85. package/dist/rules/no-angularjs-sce-resource-url-wildcard.js +69 -0
  86. package/dist/rules/no-angularjs-sce-resource-url-wildcard.js.map +1 -0
  87. package/dist/rules/no-child-process-exec.d.ts +5 -0
  88. package/dist/rules/no-child-process-exec.d.ts.map +1 -0
  89. package/dist/rules/no-child-process-exec.js +141 -0
  90. package/dist/rules/no-child-process-exec.js.map +1 -0
  91. package/dist/rules/no-child-process-shell-true.d.ts +5 -0
  92. package/dist/rules/no-child-process-shell-true.d.ts.map +1 -0
  93. package/dist/rules/no-child-process-shell-true.js +89 -0
  94. package/dist/rules/no-child-process-shell-true.js.map +1 -0
  95. package/dist/rules/no-cookies.d.ts +5 -0
  96. package/dist/rules/no-cookies.d.ts.map +1 -0
  97. package/dist/rules/no-cookies.js +38 -0
  98. package/dist/rules/no-cookies.js.map +1 -0
  99. package/dist/rules/no-document-domain.d.ts +5 -0
  100. package/dist/rules/no-document-domain.d.ts.map +1 -0
  101. package/dist/rules/no-document-domain.js +41 -0
  102. package/dist/rules/no-document-domain.js.map +1 -0
  103. package/dist/rules/no-document-execcommand-insert-html.d.ts +5 -0
  104. package/dist/rules/no-document-execcommand-insert-html.d.ts.map +1 -0
  105. package/dist/rules/no-document-execcommand-insert-html.js +57 -0
  106. package/dist/rules/no-document-execcommand-insert-html.js.map +1 -0
  107. package/dist/rules/no-document-parse-html-unsafe.d.ts +5 -0
  108. package/dist/rules/no-document-parse-html-unsafe.d.ts.map +1 -0
  109. package/dist/rules/no-document-parse-html-unsafe.js +67 -0
  110. package/dist/rules/no-document-parse-html-unsafe.js.map +1 -0
  111. package/dist/rules/no-document-write.d.ts +5 -0
  112. package/dist/rules/no-document-write.d.ts.map +1 -0
  113. package/dist/rules/no-document-write.js +40 -0
  114. package/dist/rules/no-document-write.js.map +1 -0
  115. package/dist/rules/no-domparser-html-without-sanitization.d.ts +5 -0
  116. package/dist/rules/no-domparser-html-without-sanitization.d.ts.map +1 -0
  117. package/dist/rules/no-domparser-html-without-sanitization.js +56 -0
  118. package/dist/rules/no-domparser-html-without-sanitization.js.map +1 -0
  119. package/dist/rules/no-domparser-svg-without-sanitization.d.ts +5 -0
  120. package/dist/rules/no-domparser-svg-without-sanitization.d.ts.map +1 -0
  121. package/dist/rules/no-domparser-svg-without-sanitization.js +56 -0
  122. package/dist/rules/no-domparser-svg-without-sanitization.js.map +1 -0
  123. package/dist/rules/no-dynamic-import-unsafe-url.d.ts +5 -0
  124. package/dist/rules/no-dynamic-import-unsafe-url.d.ts.map +1 -0
  125. package/dist/rules/no-dynamic-import-unsafe-url.js +47 -0
  126. package/dist/rules/no-dynamic-import-unsafe-url.js.map +1 -0
  127. package/dist/rules/no-electron-allow-running-insecure-content.d.ts +5 -0
  128. package/dist/rules/no-electron-allow-running-insecure-content.d.ts.map +1 -0
  129. package/dist/rules/no-electron-allow-running-insecure-content.js +30 -0
  130. package/dist/rules/no-electron-allow-running-insecure-content.js.map +1 -0
  131. package/dist/rules/no-electron-dangerous-blink-features.d.ts +5 -0
  132. package/dist/rules/no-electron-dangerous-blink-features.d.ts.map +1 -0
  133. package/dist/rules/no-electron-dangerous-blink-features.js +89 -0
  134. package/dist/rules/no-electron-dangerous-blink-features.js.map +1 -0
  135. package/dist/rules/no-electron-disable-context-isolation.d.ts +5 -0
  136. package/dist/rules/no-electron-disable-context-isolation.d.ts.map +1 -0
  137. package/dist/rules/no-electron-disable-context-isolation.js +30 -0
  138. package/dist/rules/no-electron-disable-context-isolation.js.map +1 -0
  139. package/dist/rules/no-electron-disable-sandbox.d.ts +5 -0
  140. package/dist/rules/no-electron-disable-sandbox.d.ts.map +1 -0
  141. package/dist/rules/no-electron-disable-sandbox.js +30 -0
  142. package/dist/rules/no-electron-disable-sandbox.js.map +1 -0
  143. package/dist/rules/no-electron-disable-web-security.d.ts +5 -0
  144. package/dist/rules/no-electron-disable-web-security.d.ts.map +1 -0
  145. package/dist/rules/no-electron-disable-web-security.js +30 -0
  146. package/dist/rules/no-electron-disable-web-security.js.map +1 -0
  147. package/dist/rules/no-electron-enable-remote-module.d.ts +5 -0
  148. package/dist/rules/no-electron-enable-remote-module.d.ts.map +1 -0
  149. package/dist/rules/no-electron-enable-remote-module.js +30 -0
  150. package/dist/rules/no-electron-enable-remote-module.js.map +1 -0
  151. package/dist/rules/no-electron-enable-webview-tag.d.ts +5 -0
  152. package/dist/rules/no-electron-enable-webview-tag.d.ts.map +1 -0
  153. package/dist/rules/no-electron-enable-webview-tag.js +30 -0
  154. package/dist/rules/no-electron-enable-webview-tag.js.map +1 -0
  155. package/dist/rules/no-electron-experimental-features.d.ts +5 -0
  156. package/dist/rules/no-electron-experimental-features.d.ts.map +1 -0
  157. package/dist/rules/no-electron-experimental-features.js +30 -0
  158. package/dist/rules/no-electron-experimental-features.js.map +1 -0
  159. package/dist/rules/no-electron-expose-raw-ipc-renderer.d.ts +5 -0
  160. package/dist/rules/no-electron-expose-raw-ipc-renderer.d.ts.map +1 -0
  161. package/dist/rules/no-electron-expose-raw-ipc-renderer.js +108 -0
  162. package/dist/rules/no-electron-expose-raw-ipc-renderer.js.map +1 -0
  163. package/dist/rules/no-electron-insecure-certificate-error-handler.d.ts +5 -0
  164. package/dist/rules/no-electron-insecure-certificate-error-handler.d.ts.map +1 -0
  165. package/dist/rules/no-electron-insecure-certificate-error-handler.js +91 -0
  166. package/dist/rules/no-electron-insecure-certificate-error-handler.js.map +1 -0
  167. package/dist/rules/no-electron-insecure-certificate-verify-proc.d.ts +5 -0
  168. package/dist/rules/no-electron-insecure-certificate-verify-proc.d.ts.map +1 -0
  169. package/dist/rules/no-electron-insecure-certificate-verify-proc.js +75 -0
  170. package/dist/rules/no-electron-insecure-certificate-verify-proc.js.map +1 -0
  171. package/dist/rules/no-electron-insecure-permission-request-handler.d.ts +5 -0
  172. package/dist/rules/no-electron-insecure-permission-request-handler.d.ts.map +1 -0
  173. package/dist/rules/no-electron-insecure-permission-request-handler.js +75 -0
  174. package/dist/rules/no-electron-insecure-permission-request-handler.js.map +1 -0
  175. package/dist/rules/no-electron-node-integration.d.ts +5 -0
  176. package/dist/rules/no-electron-node-integration.d.ts.map +1 -0
  177. package/dist/rules/no-electron-node-integration.js +52 -0
  178. package/dist/rules/no-electron-node-integration.js.map +1 -0
  179. package/dist/rules/no-electron-permission-check-handler-allow-all.d.ts +5 -0
  180. package/dist/rules/no-electron-permission-check-handler-allow-all.d.ts.map +1 -0
  181. package/dist/rules/no-electron-permission-check-handler-allow-all.js +63 -0
  182. package/dist/rules/no-electron-permission-check-handler-allow-all.js.map +1 -0
  183. package/dist/rules/no-electron-unchecked-ipc-sender.d.ts +5 -0
  184. package/dist/rules/no-electron-unchecked-ipc-sender.d.ts.map +1 -0
  185. package/dist/rules/no-electron-unchecked-ipc-sender.js +90 -0
  186. package/dist/rules/no-electron-unchecked-ipc-sender.js.map +1 -0
  187. package/dist/rules/no-electron-unrestricted-navigation.d.ts +5 -0
  188. package/dist/rules/no-electron-unrestricted-navigation.d.ts.map +1 -0
  189. package/dist/rules/no-electron-unrestricted-navigation.js +100 -0
  190. package/dist/rules/no-electron-unrestricted-navigation.js.map +1 -0
  191. package/dist/rules/no-electron-untrusted-open-external.d.ts +5 -0
  192. package/dist/rules/no-electron-untrusted-open-external.d.ts.map +1 -0
  193. package/dist/rules/no-electron-untrusted-open-external.js +92 -0
  194. package/dist/rules/no-electron-untrusted-open-external.js.map +1 -0
  195. package/dist/rules/no-electron-webview-allowpopups.d.ts +5 -0
  196. package/dist/rules/no-electron-webview-allowpopups.d.ts.map +1 -0
  197. package/dist/rules/no-electron-webview-allowpopups.js +85 -0
  198. package/dist/rules/no-electron-webview-allowpopups.js.map +1 -0
  199. package/dist/rules/no-electron-webview-insecure-webpreferences.d.ts +5 -0
  200. package/dist/rules/no-electron-webview-insecure-webpreferences.d.ts.map +1 -0
  201. package/dist/rules/no-electron-webview-insecure-webpreferences.js +88 -0
  202. package/dist/rules/no-electron-webview-insecure-webpreferences.js.map +1 -0
  203. package/dist/rules/no-electron-webview-node-integration.d.ts +5 -0
  204. package/dist/rules/no-electron-webview-node-integration.d.ts.map +1 -0
  205. package/dist/rules/no-electron-webview-node-integration.js +107 -0
  206. package/dist/rules/no-electron-webview-node-integration.js.map +1 -0
  207. package/dist/rules/no-html-method.d.ts +5 -0
  208. package/dist/rules/no-html-method.d.ts.map +1 -0
  209. package/dist/rules/no-html-method.js +42 -0
  210. package/dist/rules/no-html-method.js.map +1 -0
  211. package/dist/rules/no-http-request-to-insecure-protocol.d.ts +5 -0
  212. package/dist/rules/no-http-request-to-insecure-protocol.d.ts.map +1 -0
  213. package/dist/rules/no-http-request-to-insecure-protocol.js +94 -0
  214. package/dist/rules/no-http-request-to-insecure-protocol.js.map +1 -0
  215. package/dist/rules/no-iframe-srcdoc.d.ts +5 -0
  216. package/dist/rules/no-iframe-srcdoc.d.ts.map +1 -0
  217. package/dist/rules/no-iframe-srcdoc.js +144 -0
  218. package/dist/rules/no-iframe-srcdoc.js.map +1 -0
  219. package/dist/rules/no-inner-html.d.ts +5 -0
  220. package/dist/rules/no-inner-html.d.ts.map +1 -0
  221. package/dist/rules/no-inner-html.js +67 -0
  222. package/dist/rules/no-inner-html.js.map +1 -0
  223. package/dist/rules/no-insecure-random.d.ts +5 -0
  224. package/dist/rules/no-insecure-random.d.ts.map +1 -0
  225. package/dist/rules/no-insecure-random.js +95 -0
  226. package/dist/rules/no-insecure-random.js.map +1 -0
  227. package/dist/rules/no-insecure-tls-agent-options.d.ts +5 -0
  228. package/dist/rules/no-insecure-tls-agent-options.d.ts.map +1 -0
  229. package/dist/rules/no-insecure-tls-agent-options.js +73 -0
  230. package/dist/rules/no-insecure-tls-agent-options.js.map +1 -0
  231. package/dist/rules/no-insecure-url.d.ts +12 -0
  232. package/dist/rules/no-insecure-url.d.ts.map +1 -0
  233. package/dist/rules/no-insecure-url.js +142 -0
  234. package/dist/rules/no-insecure-url.js.map +1 -0
  235. package/dist/rules/no-location-javascript-url.d.ts +5 -0
  236. package/dist/rules/no-location-javascript-url.d.ts.map +1 -0
  237. package/dist/rules/no-location-javascript-url.js +98 -0
  238. package/dist/rules/no-location-javascript-url.js.map +1 -0
  239. package/dist/rules/no-message-event-without-origin-check.d.ts +5 -0
  240. package/dist/rules/no-message-event-without-origin-check.d.ts.map +1 -0
  241. package/dist/rules/no-message-event-without-origin-check.js +183 -0
  242. package/dist/rules/no-message-event-without-origin-check.js.map +1 -0
  243. package/dist/rules/no-msapp-exec-unsafe.d.ts +5 -0
  244. package/dist/rules/no-msapp-exec-unsafe.d.ts.map +1 -0
  245. package/dist/rules/no-msapp-exec-unsafe.js +32 -0
  246. package/dist/rules/no-msapp-exec-unsafe.js.map +1 -0
  247. package/dist/rules/no-node-tls-check-server-identity-bypass.d.ts +5 -0
  248. package/dist/rules/no-node-tls-check-server-identity-bypass.d.ts.map +1 -0
  249. package/dist/rules/no-node-tls-check-server-identity-bypass.js +95 -0
  250. package/dist/rules/no-node-tls-check-server-identity-bypass.js.map +1 -0
  251. package/dist/rules/no-node-tls-legacy-protocol.d.ts +5 -0
  252. package/dist/rules/no-node-tls-legacy-protocol.d.ts.map +1 -0
  253. package/dist/rules/no-node-tls-legacy-protocol.js +106 -0
  254. package/dist/rules/no-node-tls-legacy-protocol.js.map +1 -0
  255. package/dist/rules/no-node-tls-reject-unauthorized-zero.d.ts +5 -0
  256. package/dist/rules/no-node-tls-reject-unauthorized-zero.d.ts.map +1 -0
  257. package/dist/rules/no-node-tls-reject-unauthorized-zero.js +93 -0
  258. package/dist/rules/no-node-tls-reject-unauthorized-zero.js.map +1 -0
  259. package/dist/rules/no-node-tls-security-level-zero.d.ts +5 -0
  260. package/dist/rules/no-node-tls-security-level-zero.d.ts.map +1 -0
  261. package/dist/rules/no-node-tls-security-level-zero.js +80 -0
  262. package/dist/rules/no-node-tls-security-level-zero.js.map +1 -0
  263. package/dist/rules/no-node-vm-run-in-context.d.ts +5 -0
  264. package/dist/rules/no-node-vm-run-in-context.d.ts.map +1 -0
  265. package/dist/rules/no-node-vm-run-in-context.js +186 -0
  266. package/dist/rules/no-node-vm-run-in-context.js.map +1 -0
  267. package/dist/rules/no-node-vm-source-text-module.d.ts +5 -0
  268. package/dist/rules/no-node-vm-source-text-module.d.ts.map +1 -0
  269. package/dist/rules/no-node-vm-source-text-module.js +126 -0
  270. package/dist/rules/no-node-vm-source-text-module.js.map +1 -0
  271. package/dist/rules/no-node-worker-threads-eval.d.ts +5 -0
  272. package/dist/rules/no-node-worker-threads-eval.d.ts.map +1 -0
  273. package/dist/rules/no-node-worker-threads-eval.js +151 -0
  274. package/dist/rules/no-node-worker-threads-eval.js.map +1 -0
  275. package/dist/rules/no-nonnull-assertion-on-security-input.d.ts +5 -0
  276. package/dist/rules/no-nonnull-assertion-on-security-input.d.ts.map +1 -0
  277. package/dist/rules/no-nonnull-assertion-on-security-input.js +48 -0
  278. package/dist/rules/no-nonnull-assertion-on-security-input.js.map +1 -0
  279. package/dist/rules/no-postmessage-star-origin.d.ts +5 -0
  280. package/dist/rules/no-postmessage-star-origin.d.ts.map +1 -0
  281. package/dist/rules/no-postmessage-star-origin.js +58 -0
  282. package/dist/rules/no-postmessage-star-origin.js.map +1 -0
  283. package/dist/rules/no-postmessage-without-origin-allowlist.d.ts +5 -0
  284. package/dist/rules/no-postmessage-without-origin-allowlist.d.ts.map +1 -0
  285. package/dist/rules/no-postmessage-without-origin-allowlist.js +80 -0
  286. package/dist/rules/no-postmessage-without-origin-allowlist.js.map +1 -0
  287. package/dist/rules/no-range-create-contextual-fragment.d.ts +5 -0
  288. package/dist/rules/no-range-create-contextual-fragment.d.ts.map +1 -0
  289. package/dist/rules/no-range-create-contextual-fragment.js +64 -0
  290. package/dist/rules/no-range-create-contextual-fragment.js.map +1 -0
  291. package/dist/rules/no-script-src-data-url.d.ts +5 -0
  292. package/dist/rules/no-script-src-data-url.d.ts.map +1 -0
  293. package/dist/rules/no-script-src-data-url.js +108 -0
  294. package/dist/rules/no-script-src-data-url.js.map +1 -0
  295. package/dist/rules/no-script-text.d.ts +5 -0
  296. package/dist/rules/no-script-text.d.ts.map +1 -0
  297. package/dist/rules/no-script-text.js +52 -0
  298. package/dist/rules/no-script-text.js.map +1 -0
  299. package/dist/rules/no-service-worker-unsafe-script-url.d.ts +5 -0
  300. package/dist/rules/no-service-worker-unsafe-script-url.d.ts.map +1 -0
  301. package/dist/rules/no-service-worker-unsafe-script-url.js +52 -0
  302. package/dist/rules/no-service-worker-unsafe-script-url.js.map +1 -0
  303. package/dist/rules/no-set-html-unsafe.d.ts +5 -0
  304. package/dist/rules/no-set-html-unsafe.d.ts.map +1 -0
  305. package/dist/rules/no-set-html-unsafe.js +48 -0
  306. package/dist/rules/no-set-html-unsafe.js.map +1 -0
  307. package/dist/rules/no-trusted-types-policy-pass-through.d.ts +5 -0
  308. package/dist/rules/no-trusted-types-policy-pass-through.d.ts.map +1 -0
  309. package/dist/rules/no-trusted-types-policy-pass-through.js +115 -0
  310. package/dist/rules/no-trusted-types-policy-pass-through.js.map +1 -0
  311. package/dist/rules/no-unsafe-alloc.d.ts +5 -0
  312. package/dist/rules/no-unsafe-alloc.d.ts.map +1 -0
  313. package/dist/rules/no-unsafe-alloc.js +51 -0
  314. package/dist/rules/no-unsafe-alloc.js.map +1 -0
  315. package/dist/rules/no-unsafe-cast-to-trusted-types.d.ts +5 -0
  316. package/dist/rules/no-unsafe-cast-to-trusted-types.d.ts.map +1 -0
  317. package/dist/rules/no-unsafe-cast-to-trusted-types.js +89 -0
  318. package/dist/rules/no-unsafe-cast-to-trusted-types.js.map +1 -0
  319. package/dist/rules/no-window-open-without-noopener.d.ts +5 -0
  320. package/dist/rules/no-window-open-without-noopener.d.ts.map +1 -0
  321. package/dist/rules/no-window-open-without-noopener.js +84 -0
  322. package/dist/rules/no-window-open-without-noopener.js.map +1 -0
  323. package/dist/rules/no-winjs-html-unsafe.d.ts +5 -0
  324. package/dist/rules/no-winjs-html-unsafe.d.ts.map +1 -0
  325. package/dist/rules/no-winjs-html-unsafe.js +32 -0
  326. package/dist/rules/no-winjs-html-unsafe.js.map +1 -0
  327. package/dist/rules/no-worker-blob-url.d.ts +5 -0
  328. package/dist/rules/no-worker-blob-url.d.ts.map +1 -0
  329. package/dist/rules/no-worker-blob-url.js +64 -0
  330. package/dist/rules/no-worker-blob-url.js.map +1 -0
  331. package/dist/rules/no-worker-data-url.d.ts +5 -0
  332. package/dist/rules/no-worker-data-url.d.ts.map +1 -0
  333. package/dist/rules/no-worker-data-url.js +67 -0
  334. package/dist/rules/no-worker-data-url.js.map +1 -0
  335. package/docs/rules/getting-started.md +70 -0
  336. package/docs/rules/no-angular-bypass-sanitizer.md +69 -0
  337. package/docs/rules/no-angular-bypass-security-trust-html.md +59 -0
  338. package/docs/rules/no-angular-innerhtml-binding.md +59 -0
  339. package/docs/rules/no-angular-sanitization-trusted-urls.md +64 -0
  340. package/docs/rules/no-angularjs-bypass-sce.md +64 -0
  341. package/docs/rules/no-angularjs-enable-svg.md +59 -0
  342. package/docs/rules/no-angularjs-ng-bind-html-without-sanitize.md +59 -0
  343. package/docs/rules/no-angularjs-sanitization-whitelist.md +63 -0
  344. package/docs/rules/no-angularjs-sce-resource-url-wildcard.md +62 -0
  345. package/docs/rules/no-child-process-exec.md +101 -0
  346. package/docs/rules/no-child-process-shell-true.md +59 -0
  347. package/docs/rules/no-cookies.md +61 -0
  348. package/docs/rules/no-document-domain.md +59 -0
  349. package/docs/rules/no-document-execcommand-insert-html.md +69 -0
  350. package/docs/rules/no-document-parse-html-unsafe.md +72 -0
  351. package/docs/rules/no-document-write.md +64 -0
  352. package/docs/rules/no-domparser-html-without-sanitization.md +59 -0
  353. package/docs/rules/no-domparser-svg-without-sanitization.md +71 -0
  354. package/docs/rules/no-dynamic-import-unsafe-url.md +81 -0
  355. package/docs/rules/no-electron-allow-running-insecure-content.md +69 -0
  356. package/docs/rules/no-electron-dangerous-blink-features.md +77 -0
  357. package/docs/rules/no-electron-disable-context-isolation.md +69 -0
  358. package/docs/rules/no-electron-disable-sandbox.md +69 -0
  359. package/docs/rules/no-electron-disable-web-security.md +69 -0
  360. package/docs/rules/no-electron-enable-remote-module.md +69 -0
  361. package/docs/rules/no-electron-enable-webview-tag.md +77 -0
  362. package/docs/rules/no-electron-experimental-features.md +77 -0
  363. package/docs/rules/no-electron-expose-raw-ipc-renderer.md +79 -0
  364. package/docs/rules/no-electron-insecure-certificate-error-handler.md +72 -0
  365. package/docs/rules/no-electron-insecure-certificate-verify-proc.md +63 -0
  366. package/docs/rules/no-electron-insecure-permission-request-handler.md +67 -0
  367. package/docs/rules/no-electron-node-integration.md +70 -0
  368. package/docs/rules/no-electron-permission-check-handler-allow-all.md +66 -0
  369. package/docs/rules/no-electron-unchecked-ipc-sender.md +62 -0
  370. package/docs/rules/no-electron-unrestricted-navigation.md +64 -0
  371. package/docs/rules/no-electron-untrusted-open-external.md +65 -0
  372. package/docs/rules/no-electron-webview-allowpopups.md +59 -0
  373. package/docs/rules/no-electron-webview-insecure-webpreferences.md +84 -0
  374. package/docs/rules/no-electron-webview-node-integration.md +59 -0
  375. package/docs/rules/no-html-method.md +58 -0
  376. package/docs/rules/no-http-request-to-insecure-protocol.md +59 -0
  377. package/docs/rules/no-iframe-srcdoc.md +76 -0
  378. package/docs/rules/no-inner-html.md +65 -0
  379. package/docs/rules/no-insecure-random.md +66 -0
  380. package/docs/rules/no-insecure-tls-agent-options.md +59 -0
  381. package/docs/rules/no-insecure-url.md +72 -0
  382. package/docs/rules/no-location-javascript-url.md +59 -0
  383. package/docs/rules/no-message-event-without-origin-check.md +82 -0
  384. package/docs/rules/no-msapp-exec-unsafe.md +59 -0
  385. package/docs/rules/no-node-tls-check-server-identity-bypass.md +88 -0
  386. package/docs/rules/no-node-tls-legacy-protocol.md +80 -0
  387. package/docs/rules/no-node-tls-reject-unauthorized-zero.md +61 -0
  388. package/docs/rules/no-node-tls-security-level-zero.md +77 -0
  389. package/docs/rules/no-node-vm-run-in-context.md +89 -0
  390. package/docs/rules/no-node-vm-source-text-module.md +79 -0
  391. package/docs/rules/no-node-worker-threads-eval.md +82 -0
  392. package/docs/rules/no-nonnull-assertion-on-security-input.md +59 -0
  393. package/docs/rules/no-postmessage-star-origin.md +59 -0
  394. package/docs/rules/no-postmessage-without-origin-allowlist.md +59 -0
  395. package/docs/rules/no-range-create-contextual-fragment.md +64 -0
  396. package/docs/rules/no-script-src-data-url.md +83 -0
  397. package/docs/rules/no-script-text.md +80 -0
  398. package/docs/rules/no-service-worker-unsafe-script-url.md +85 -0
  399. package/docs/rules/no-set-html-unsafe.md +64 -0
  400. package/docs/rules/no-trusted-types-policy-pass-through.md +68 -0
  401. package/docs/rules/no-unsafe-alloc.md +62 -0
  402. package/docs/rules/no-unsafe-cast-to-trusted-types.md +59 -0
  403. package/docs/rules/no-window-open-without-noopener.md +63 -0
  404. package/docs/rules/no-winjs-html-unsafe.md +60 -0
  405. package/docs/rules/no-worker-blob-url.md +86 -0
  406. package/docs/rules/no-worker-data-url.md +85 -0
  407. package/docs/rules/overview.md +111 -0
  408. package/docs/rules/presets/angular.md +35 -0
  409. package/docs/rules/presets/angularjs.md +36 -0
  410. package/docs/rules/presets/common.md +59 -0
  411. package/docs/rules/presets/electron.md +51 -0
  412. package/docs/rules/presets/index.md +26 -0
  413. package/docs/rules/presets/node.md +43 -0
  414. package/docs/rules/presets/react.md +33 -0
  415. package/docs/rules/presets/recommended.md +104 -0
  416. package/docs/rules/presets/required.md +99 -0
  417. package/docs/rules/presets/typescript.md +34 -0
  418. package/package.json +583 -0
package/package.json ADDED
@@ -0,0 +1,583 @@
1
+ {
2
+ "$schema": "https://www.schemastore.org/package.json",
3
+ "name": "eslint-plugin-sdl-2",
4
+ "version": "1.0.4",
5
+ "private": false,
6
+ "description": "ESLint plugin providing SDL-focused security and platform hardening rules.",
7
+ "keywords": [
8
+ "eslint",
9
+ "eslint-plugin",
10
+ "eslintplugin",
11
+ "sdl",
12
+ "security",
13
+ "angular",
14
+ "angularjs",
15
+ "electron",
16
+ "node",
17
+ "typescript"
18
+ ],
19
+ "homepage": "https://github.com/Nick2bad4u/eslint-plugin-SDL-2",
20
+ "bugs": {
21
+ "url": "https://github.com/Nick2bad4u/eslint-plugin-SDL-2/issues",
22
+ "email": "20943337+Nick2bad4u@users.noreply.github.com"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/Nick2bad4u/eslint-plugin-SDL-2.git"
27
+ },
28
+ "license": "MIT",
29
+ "author": "Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> (https://nick2bad4u.github.io/eslint-plugin-SDL-2)",
30
+ "contributors": [
31
+ {
32
+ "name": "Nick2bad4u",
33
+ "email": "20943337+Nick2bad4u@users.noreply.github.com",
34
+ "url": "https://nick2bad4u.github.io/eslint-plugin-SDL-2"
35
+ }
36
+ ],
37
+ "sideEffects": false,
38
+ "type": "module",
39
+ "exports": {
40
+ ".": {
41
+ "import": {
42
+ "types": "./dist/plugin.d.ts",
43
+ "default": "./dist/plugin.js"
44
+ },
45
+ "require": {
46
+ "types": "./dist/plugin.d.cts",
47
+ "default": "./dist/plugin.cjs"
48
+ },
49
+ "default": "./dist/plugin.js"
50
+ },
51
+ "./package.json": "./package.json"
52
+ },
53
+ "main": "./dist/plugin.cjs",
54
+ "types": "./dist/plugin.d.ts",
55
+ "files": [
56
+ "dist",
57
+ "docs/rules/**",
58
+ "CHANGELOG.md"
59
+ ],
60
+ "workspaces": [
61
+ "docs/docusaurus"
62
+ ],
63
+ "scripts": {
64
+ "prebench": "npm run build",
65
+ "bench": "node benchmarks/run-eslint-stats.mjs",
66
+ "prebench:compare": "npm run build",
67
+ "bench:compare": "node benchmarks/run-eslint-stats.mjs --iterations=6 --warmup=2 --compare=coverage/benchmarks/eslint-stats.json",
68
+ "prebench:eslint:stats": "npm run build",
69
+ "bench:eslint:stats": "node benchmarks/run-eslint-stats.mjs",
70
+ "prebench:eslint:timing": "npm run build",
71
+ "bench:eslint:timing": "cross-env TIMING=all eslint --config benchmarks/eslint-timing.config.mjs --stats \"test/fixtures/ts/compat-no-insecure-*.invalid.ts\"",
72
+ "prebench:rule-benchmark": "npm run build",
73
+ "bench:rule-benchmark": "eslint-rule-benchmark run",
74
+ "prebench:ui": "npm run build",
75
+ "bench:ui": "vitest bench --ui",
76
+ "prebench:watch": "npm run build",
77
+ "bench:watch": "vitest bench",
78
+ "build": "tsc -p tsconfig.build.json && npm run build:types:cjs && npm run build:cjs",
79
+ "build:cjs": "esbuild dist/plugin.js --bundle --format=cjs --platform=node --packages=external --sourcemap --outfile=dist/plugin.cjs --footer:js=\"module.exports = module.exports.default;\"",
80
+ "build:clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
81
+ "build:eslint-inspector": "npx -y @eslint/config-inspector@1.4.2 build --outDir \"docs/docusaurus/static/eslint-inspector\" --base \"/eslint-plugin-SDL-2/eslint-inspector/\"",
82
+ "build:eslint-inspector:local": "npx @eslint/config-inspector",
83
+ "build:stylelint-inspector": "npx -y stylelint-config-inspector@latest build --outDir \"docs/docusaurus/static/stylelint-inspector\" --base \"/eslint-plugin-typefest/stylelint-inspector/\"",
84
+ "build:stylelint-inspector:local": "npx stylelint-config-inspector@latest",
85
+ "build:types:cjs": "node -e \"require('node:fs').copyFileSync('dist/plugin.d.ts','dist/plugin.d.cts')\"",
86
+ "changelog:generate": "git-cliff --config cliff.toml --output CHANGELOG.md",
87
+ "changelog:preview": "git-cliff --config cliff.toml --unreleased",
88
+ "changelog:release-notes": "git-cliff --config cliff.toml --latest --strip all",
89
+ "clean:cache": "rimraf dist coverage cache .cache .vite .turbo",
90
+ "clean:cache:coverage": "rimraf coverage .coverage",
91
+ "clean:cache:dist": "rimraf dist release",
92
+ "clean:cache:eslint": "rimraf .cache/.eslintcache",
93
+ "clean:cache:ncu": "rimraf .cache/.ncu-cache.json",
94
+ "clean:cache:prettier": "rimraf .cache/.prettier-cache .prettier-cache .prettiercache",
95
+ "clean:cache:stryker": "rimraf .stryker-tmp",
96
+ "clean:cache:stylelint": "rimraf .cache/stylelintcache stylelintcache .stylelintcache",
97
+ "clean:cache:temp": "rimraf \".temp/.**\" --glob",
98
+ "clean:cache:typescript": "rimraf .cache/**.tsbuildinfo .cache/builds",
99
+ "clean:cache:vite": "rimraf .cache/vite .cache/vitest .cache/vitest-zero-coverage .cache/vite-zero-coverage",
100
+ "clean:database": "rimraf %appdata%/uptime-watcher/uptime-watcher.sqlite",
101
+ "clean:docs": "rimraf docs/docusaurus/.docusaurus/** docs/docusaurus/build/** docs/docusaurus/site-docs/developer/api/**",
102
+ "clean:docusaurus": "npm run clean:docs && npm run --workspace docs/docusaurus clear",
103
+ "cognitive-complexity": "cognitive-complexity-ts --threshold 10",
104
+ "commit": "git-cz",
105
+ "contrib": "all-contributors",
106
+ "contrib:add": "all-contributors add",
107
+ "contrib:check": "all-contributors check",
108
+ "contrib:compare": "npm run contrib:check",
109
+ "contrib:generate": "all-contributors generate",
110
+ "coverage": "vitest run --coverage",
111
+ "docs:api": "npm run --workspace docs/docusaurus docs:api",
112
+ "docs:api:local": "npm run --workspace docs/docusaurus docs:api:local",
113
+ "docs:build": "npm run --workspace docs/docusaurus build",
114
+ "docs:build:local": "npm run --workspace docs/docusaurus build:local",
115
+ "docs:check-links": "npm run docs:api && node ./scripts/check-doc-links.mjs",
116
+ "docs:serve": "npm run --workspace docs/docusaurus serve",
117
+ "docs:start": "npm run --workspace docs/docusaurus start",
118
+ "docs:toc": "remark docs --use remark-toc --output",
119
+ "docs:typecheck": "npm run --workspace docs/docusaurus typecheck",
120
+ "docs:typedoc": "npm run --workspace docs/docusaurus docs:api",
121
+ "docs:typedoc:local": "npm run --workspace docs/docusaurus docs:api:local",
122
+ "docs:validate-links": "remark docs --use remark-validate-links --frail",
123
+ "knip": "cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_NO_WARNINGS=1 npx knip -c knip.config.ts --include-libs --cache --cache-location .cache/knip --tsConfig tsconfig.json",
124
+ "lint": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache",
125
+ "lint:action": "npm run lint:actions",
126
+ "lint:actions": "node scripts/lint-actionlint.mjs",
127
+ "lint:all": "npm run lint && npm run lint:css && npm run lint:prettier && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml && npm run lint:actions && npm run lint:circular",
128
+ "lint:all:fix": "npm run lint:fix && npm run lint:css:fix && npm run lint:prettier:fix && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml:fix && npm run lint:actions && npm run lint:circular",
129
+ "lint:all:fix:quiet": "npm run lint:fix:quiet && npm run lint:css:fix && npm run lint:prettier:fix && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml:fix && npm run lint:actions && npm run lint:circular",
130
+ "lint:circular": "npm run madge:circular",
131
+ "lint:compat:eslint9": "node scripts/eslint9-compat-smoke.mjs",
132
+ "lint:config:build": "npm run build:eslint-inspector",
133
+ "lint:config:inspect": "npx eslint --inspect-config",
134
+ "lint:css": "stylelint --cache --config stylelint.config.mjs --cache-strategy content --cache-location .cache/stylelintcache src/ docs/ --custom-formatter stylelint-formatter-pretty && echo \"Stylelint done!\"",
135
+ "lint:css:fix": "stylelint --cache --config stylelint.config.mjs --cache-strategy content --cache-location .cache/stylelintcache src/ docs/ --custom-formatter stylelint-formatter-pretty --fix && echo \"Stylelint done!\"",
136
+ "lint:depcheck": "depcheck",
137
+ "lint:deps": "depcheck && npm run knip",
138
+ "lint:dupes": "jscpd src/ --config jscpd.json",
139
+ "lint:dupes:all": "jscpd src/ --config jscpd.json --min-lines 3",
140
+ "lint:dupes:skiplocal": "jscpd src/ --skipLocal --config jscpd.json",
141
+ "lint:dupes:skiplocal:all": "jscpd src/ --skipLocal --config jscpd.json --min-lines 3",
142
+ "lint:duplicates": "npm run lint:dupes",
143
+ "lint:exports": "ts-unused-exports tsconfig.json src/plugin.ts --excludePathsFromReport=plugin.ts",
144
+ "lint:fix": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix",
145
+ "lint:fix:quiet": "cross-env ESLINT_PROGRESS=off NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix && echo \"Eslint fix done!\"",
146
+ "lint:grype": "grype . -c .grype.yaml --name eslint-plugin-sdl-2",
147
+ "lint:knip": "npm run knip",
148
+ "lint:knip:exports": "npm run knip -- --include exports,nsExports,classMembers,types,nsTypes,enumMembers,duplicates",
149
+ "lint:knip:unused:exports": "npm run knip -- --dependencies --exports",
150
+ "lint:leaves": "npm run madge:leaves",
151
+ "lint:metrics": "npm run sloc",
152
+ "lint:node-version-files": "node scripts/sync-node-version-files.mjs --check",
153
+ "lint:orphans": "npm run madge:orphans",
154
+ "lint:package": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
155
+ "lint:package:strict": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:package-check && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
156
+ "lint:package-check": "publint && attw --pack .",
157
+ "lint:package-check:strict": "publint && attw --pack . --profile strict",
158
+ "lint:package-sort": "sort-package-json \"./package.json\" \"./docs/docusaurus/package.json\"",
159
+ "lint:package-sort-check": "sort-package-json --check \"./package.json\" \"./docs/docusaurus/package.json\"",
160
+ "lint:packagelintrc": "npmPkgJsonLint . --config .npmpackagejsonlintrc.json",
161
+ "lint:prettier": "prettier . --log-level warn --cache --cache-location=.cache/.prettier-cache --cache-strategy=content --check",
162
+ "lint:prettier:fix": "prettier . --log-level warn --cache --cache-location=.cache/.prettier-cache --cache-strategy=content --write",
163
+ "lint:publint": "publint",
164
+ "lint:quiet": "cross-env ESLINT_PROGRESS=nofile NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache && echo \"Eslint done!\"",
165
+ "lint:remark": "remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail \"*.{md,mdx}\" \"docs/**/*.{md,mdx}\" --quiet",
166
+ "lint:remark:fix": "prettier --log-level warn --ignore-path prettierignore.remark --cache --cache-location=.cache/.prettier-cache --cache-strategy=content --no-error-on-unmatched-pattern --write \"*.{md,mdx}\" \"docs/**/*.{md,mdx}\" && npm run remark:fix",
167
+ "lint:secretlint": "secretlint --secretlintrc .secretlintrc.json --secretlintignore .secretlintignore \"./*\" \".vscode/**\" \"assets/**\" \"src/**\" \"electron/**\" \"shared/**\" \"config/**\" \"scripts/**\" \"playwright/**\" \"storybook/**\" \".storybook\" \"tests/**\" \"benchmarks/**\" \".devin/**\" \"public/**\" \".github/**\" \"docs/Architecture/**\" \"docs/*\" \"docs/assets/**\" \"docs/Guides/**\" \"docs/Testing/**\" \"docs/TSDoc/**\" \"docs/docusaurus/src/**\" \"docs/docusaurus/static/**\" \"docs/docusaurus/blog/**\" \"docs/docusaurus/docs/**\" \"docs/docusaurus/docs/*\"",
168
+ "lint:secrets": "detect-secrets scan",
169
+ "lint:unused": "npm run knip -- --include unlisted,unresolved,duplicates",
170
+ "lint:unused-deps": "depcheck --ignores='@types/*,@testing-library/*,@vitest/*'",
171
+ "lint:yaml": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache \"**/*.{yml,yaml}\" && echo \"YAML lint done!\"",
172
+ "lint:yaml:fix": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix \"**/*.{yml,yaml}\" && echo \"YAML lint (fix) done!\"",
173
+ "madge:circular": "madge --circular --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
174
+ "madge:leaves": "madge --leaves --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
175
+ "madge:orphans": "madge --orphans --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
176
+ "open:coverage": "open-cli coverage/index.html",
177
+ "prepublishOnly": "npm run release:check",
178
+ "release:check": "npm run release:verify",
179
+ "release:verify": "npm run build && npm run lint && npm run typecheck && npm run test && npm run sync:readme-rules-table && npm run sync:presets-rules-matrix && npm run docs:check-links && npm pack --dry-run",
180
+ "remark:fix": "remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail --quiet --output -- \"*.{md,mdx}\" \"docs/**/*.{md,mdx}\"",
181
+ "remark:test-config": "remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail \"README.md\"",
182
+ "sync:node-version-files": "node scripts/sync-node-version-files.mjs",
183
+ "sync:peer-eslint-range": "node scripts/sync-peer-eslint-range.mjs",
184
+ "sync:presets-rules-matrix": "node scripts/sync-presets-rules-matrix.mjs",
185
+ "sync:readme-rules-table": "node scripts/sync-readme-rules-table.mjs",
186
+ "sync:readme-rules-table:update": "npm run build && npm run sync:readme-rules-table:write",
187
+ "sync:readme-rules-table:write": "node scripts/sync-readme-rules-table.mjs --write",
188
+ "pretest": "npm run build",
189
+ "test": "vitest run",
190
+ "test:autofix:fixtures": "cross-env SDL_AUTOFIX_SMOKE=1 vitest run test/rules-sdl.test.ts",
191
+ "test:autofix:fixtures:typed": "cross-env SDL_AUTOFIX_SMOKE=1 SDL_AUTOFIX_FIXTURE_DIR=test/fixtures/ts vitest run test/rules-sdl.test.ts",
192
+ "test:ci": "cross-env CI=true vitest run --reporter=default",
193
+ "test:coverage": "vitest run --coverage --reporter=default",
194
+ "test:coverage:detailed": "vitest run --coverage --reporter=verbose",
195
+ "test:coverage:minimal": "vitest run --coverage --reporter=dot",
196
+ "test:coverage:open": "npm run test:coverage && npm run open:coverage",
197
+ "test:coverage:quiet": "vitest run --coverage --reporter=default --silent",
198
+ "test:coverage:verbose": "vitest run --coverage --reporter=verbose",
199
+ "test:detailed": "vitest run --reporter=verbose",
200
+ "test:minimal": "vitest run --reporter=dot",
201
+ "test:open": "npm run test:coverage && npm run open:coverage",
202
+ "test:quiet": "vitest run --reporter=default --silent",
203
+ "test:serial": "cross-env MAX_THREADS=1 vitest run",
204
+ "test:stryker": "stryker run --ignoreStatic --concurrency 12 --incrementalFile .cache/stryker/incremental-fast.json",
205
+ "test:stryker:ci": "cross-env CI=true stryker run --ignoreStatic --concurrency 2 --incrementalFile .cache/stryker/incremental-fast-ci.json",
206
+ "test:stryker:full": "stryker run --concurrency 12 --incrementalFile .cache/stryker/incremental-full.json",
207
+ "test:stryker:full:ci": "cross-env CI=true stryker run --concurrency 2 --incrementalFile .cache/stryker/incremental-full-ci.json",
208
+ "test:verbose": "vitest run --reporter=verbose",
209
+ "test:watch": "vitest",
210
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.eslint.json --noEmit && tsc -p tsconfig.js.json --noEmit && npm run --workspace docs/docusaurus typecheck",
211
+ "typecheck:all": "npm run typecheck",
212
+ "types:update": "typesync",
213
+ "update-deps": "npx ncu -i --install never && npm run sync:peer-eslint-range && npm install --force",
214
+ "verify:readme-rules-table": "npm run build && npm run sync:readme-rules-table"
215
+ },
216
+ "overrides": {
217
+ "jsonc-eslint-parser": "$jsonc-eslint-parser"
218
+ },
219
+ "dependencies": {
220
+ "@typescript-eslint/parser": "^8.57.1",
221
+ "@typescript-eslint/type-utils": "^8.57.1",
222
+ "@typescript-eslint/utils": "^8.57.1",
223
+ "ts-extras": "^0.17.0",
224
+ "type-fest": "^5.4.4"
225
+ },
226
+ "devDependencies": {
227
+ "@arethetypeswrong/cli": "^0.18.2",
228
+ "@csstools/stylelint-formatter-github": "^2.0.0",
229
+ "@docusaurus/eslint-plugin": "^3.9.2",
230
+ "@double-great/remark-lint-alt-text": "^1.1.1",
231
+ "@double-great/stylelint-a11y": "^3.4.6",
232
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
233
+ "@eslint-react/eslint-plugin": "^3.0.0",
234
+ "@eslint/compat": "^2.0.3",
235
+ "@eslint/config-helpers": "^0.5.3",
236
+ "@eslint/config-inspector": "^1.5.0",
237
+ "@eslint/css": "^1.0.0",
238
+ "@eslint/js": "^10.0.1",
239
+ "@eslint/json": "^1.1.0",
240
+ "@eslint/markdown": "^7.5.1",
241
+ "@html-eslint/eslint-plugin": "^0.58.1",
242
+ "@html-eslint/parser": "^0.58.1",
243
+ "@microsoft/eslint-plugin-sdl": "^1.1.0",
244
+ "@microsoft/tsdoc-config": "^0.18.1",
245
+ "@secretlint/secretlint-rule-anthropic": "^11.3.1",
246
+ "@secretlint/secretlint-rule-aws": "^11.3.1",
247
+ "@secretlint/secretlint-rule-database-connection-string": "^11.3.1",
248
+ "@secretlint/secretlint-rule-gcp": "^11.3.1",
249
+ "@secretlint/secretlint-rule-github": "^11.3.1",
250
+ "@secretlint/secretlint-rule-no-dotenv": "^11.3.1",
251
+ "@secretlint/secretlint-rule-no-homedir": "^11.3.1",
252
+ "@secretlint/secretlint-rule-npm": "^11.3.1",
253
+ "@secretlint/secretlint-rule-openai": "^11.3.1",
254
+ "@secretlint/secretlint-rule-pattern": "^11.3.1",
255
+ "@secretlint/secretlint-rule-preset-recommend": "^11.3.1",
256
+ "@secretlint/secretlint-rule-privatekey": "^11.3.1",
257
+ "@secretlint/secretlint-rule-secp256k1-privatekey": "^11.3.1",
258
+ "@secretlint/types": "^11.3.1",
259
+ "@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
260
+ "@stryker-ignorer/console-all": "^0.3.2",
261
+ "@stryker-mutator/core": "^9.6.0",
262
+ "@stryker-mutator/typescript-checker": "^9.6.0",
263
+ "@stryker-mutator/vitest-runner": "^9.6.0",
264
+ "@stylelint-types/stylelint-order": "^7.0.1",
265
+ "@stylelint-types/stylelint-stylistic": "^5.0.0",
266
+ "@stylistic/eslint-plugin": "^5.10.0",
267
+ "@stylistic/stylelint-plugin": "^5.0.1",
268
+ "@types/eslint-plugin-jsx-a11y": "^6.10.1",
269
+ "@types/eslint-plugin-security": "^3.0.1",
270
+ "@types/htmlhint": "^1.1.5",
271
+ "@types/madge": "^5.0.3",
272
+ "@types/node": "^25.5.0",
273
+ "@types/postcss-clamp": "^4.1.3",
274
+ "@types/postcss-flexbugs-fixes": "^5.0.3",
275
+ "@types/postcss-html": "^1.5.3",
276
+ "@types/postcss-import": "^14.0.3",
277
+ "@types/postcss-inline-svg": "^5.0.4",
278
+ "@types/postcss-normalize": "^9.0.4",
279
+ "@types/postcss-reporter": "^7.0.5",
280
+ "@types/sloc": "^0.2.3",
281
+ "@typescript-eslint/eslint-plugin": "^8.57.1",
282
+ "@typescript-eslint/rule-tester": "^8.57.1",
283
+ "@vitest/coverage-v8": "^4.1.0",
284
+ "@vitest/eslint-plugin": "^1.6.12",
285
+ "@vitest/ui": "^4.1.0",
286
+ "actionlint": "^2.0.6",
287
+ "all-contributors-cli": "^6.26.1",
288
+ "cognitive-complexity-ts": "^0.8.1",
289
+ "commitlint": "^20.5.0",
290
+ "commitlint-config-gitmoji": "^2.3.1",
291
+ "cross-env": "^10.1.0",
292
+ "depcheck": "^1.4.7",
293
+ "detect-secrets": "^1.0.6",
294
+ "eslint": "^10.0.3",
295
+ "eslint-config-flat-gitignore": "^2.2.1",
296
+ "eslint-config-prettier": "^10.1.8",
297
+ "eslint-formatter-unix": "^9.0.1",
298
+ "eslint-import-resolver-typescript": "^4.4.4",
299
+ "eslint-plugin-array-func": "^5.1.1",
300
+ "eslint-plugin-canonical": "^5.1.3",
301
+ "eslint-plugin-case-police": "^2.2.0",
302
+ "eslint-plugin-comment-length": "^2.3.0",
303
+ "eslint-plugin-css-modules": "^2.12.0",
304
+ "eslint-plugin-de-morgan": "^2.1.1",
305
+ "eslint-plugin-depend": "^1.5.0",
306
+ "eslint-plugin-eslint-plugin": "^7.3.2",
307
+ "eslint-plugin-etc": "^2.0.3",
308
+ "eslint-plugin-etc-misc": "^1.0.3",
309
+ "eslint-plugin-file-progress-2": "^3.4.3",
310
+ "eslint-plugin-html": "^8.1.4",
311
+ "eslint-plugin-import-x": "^4.16.2",
312
+ "eslint-plugin-jsdoc": "^62.8.0",
313
+ "eslint-plugin-jsonc": "^3.1.2",
314
+ "eslint-plugin-jsx-a11y": "^6.10.2",
315
+ "eslint-plugin-listeners": "^1.5.1",
316
+ "eslint-plugin-loadable-imports": "^1.0.1",
317
+ "eslint-plugin-math": "^0.13.1",
318
+ "eslint-plugin-module-interop": "^0.3.1",
319
+ "eslint-plugin-n": "^17.24.0",
320
+ "eslint-plugin-nitpick": "^0.12.0",
321
+ "eslint-plugin-no-barrel-files": "^1.2.2",
322
+ "eslint-plugin-no-explicit-type-exports": "^0.12.1",
323
+ "eslint-plugin-no-function-declare-after-return": "^1.1.0",
324
+ "eslint-plugin-no-lookahead-lookbehind-regexp": "^0.4.0",
325
+ "eslint-plugin-no-only-tests": "^3.3.0",
326
+ "eslint-plugin-no-secrets": "^2.3.3",
327
+ "eslint-plugin-no-unsanitized": "^4.1.5",
328
+ "eslint-plugin-no-use-extend-native": "^0.7.2",
329
+ "eslint-plugin-node-dependencies": "^2.2.0",
330
+ "eslint-plugin-package-json": "^0.91.0",
331
+ "eslint-plugin-perfectionist": "^5.7.0",
332
+ "eslint-plugin-prefer-arrow": "^1.2.3",
333
+ "eslint-plugin-prettier": "^5.5.5",
334
+ "eslint-plugin-promise": "^7.2.1",
335
+ "eslint-plugin-redos": "^4.5.0",
336
+ "eslint-plugin-regexp": "^3.1.0",
337
+ "eslint-plugin-require-jsdoc": "^1.0.4",
338
+ "eslint-plugin-security": "^4.0.0",
339
+ "eslint-plugin-sonarjs": "^4.0.2",
340
+ "eslint-plugin-sort-class-members": "^1.21.0",
341
+ "eslint-plugin-testing-library": "^7.16.0",
342
+ "eslint-plugin-toml": "^1.3.1",
343
+ "eslint-plugin-total-functions": "^7.1.0",
344
+ "eslint-plugin-tsdoc": "^0.5.2",
345
+ "eslint-plugin-tsdoc-require-2": "^1.0.5",
346
+ "eslint-plugin-typefest": "^1.0.4",
347
+ "eslint-plugin-undefined-css-classes": "^0.1.5",
348
+ "eslint-plugin-unicorn": "^63.0.0",
349
+ "eslint-plugin-unused-imports": "^4.4.1",
350
+ "eslint-plugin-write-good-comments": "^0.2.0",
351
+ "eslint-plugin-yml": "^3.3.1",
352
+ "eslint-rule-benchmark": "^0.8.0",
353
+ "fast-check": "^4.6.0",
354
+ "git-cliff": "^2.12.0",
355
+ "gitleaks-secret-scanner": "^2.1.1",
356
+ "globals": "^17.4.0",
357
+ "htmlhint": "^1.9.2",
358
+ "jscpd": "^4.0.8",
359
+ "jsonc-eslint-parser": "^3.1.0",
360
+ "knip": "^5.87.0",
361
+ "leasot": "^14.4.0",
362
+ "madge": "^8.0.0",
363
+ "markdown-link-check": "^3.14.2",
364
+ "npm-check-updates": "^19.6.5",
365
+ "npm-package-json-lint": "^9.1.0",
366
+ "picocolors": "^1.1.1",
367
+ "postcss": "^8.5.8",
368
+ "postcss-assets": "^6.0.0",
369
+ "postcss-clamp": "^4.1.0",
370
+ "postcss-combine-duplicated-selectors": "^10.0.3",
371
+ "postcss-flexbugs-fixes": "^5.0.2",
372
+ "postcss-html": "^1.8.1",
373
+ "postcss-import": "^16.1.1",
374
+ "postcss-inline-svg": "^6.0.0",
375
+ "postcss-logical": "^9.0.0",
376
+ "postcss-normalize": "^13.0.1",
377
+ "postcss-reporter": "^7.1.0",
378
+ "postcss-round-subpixels": "^2.0.0",
379
+ "postcss-scss": "^4.0.9",
380
+ "postcss-sort-media-queries": "^6.3.2",
381
+ "postcss-styled-jsx": "^1.0.1",
382
+ "postcss-styled-syntax": "^0.7.1",
383
+ "postcss-viewport-height-correction": "^1.1.1",
384
+ "prettier": "^3.8.1",
385
+ "prettier-plugin-ini": "^1.3.0",
386
+ "prettier-plugin-interpolated-html-tags": "^2.0.1",
387
+ "prettier-plugin-jsdoc": "^1.8.0",
388
+ "prettier-plugin-jsdoc-type": "^0.2.0",
389
+ "prettier-plugin-merge": "^0.10.0",
390
+ "prettier-plugin-multiline-arrays": "^4.1.5",
391
+ "prettier-plugin-packagejson": "^3.0.2",
392
+ "prettier-plugin-properties": "^0.3.1",
393
+ "prettier-plugin-sort-json": "^4.2.0",
394
+ "prettier-plugin-toml": "^2.0.6",
395
+ "publint": "^0.3.18",
396
+ "recheck-jar": "^4.5.0",
397
+ "rehype-katex": "^7.0.1",
398
+ "remark": "^15.0.1",
399
+ "remark-cli": "^12.0.1",
400
+ "remark-directive": "^4.0.0",
401
+ "remark-frontmatter": "^5.0.0",
402
+ "remark-gfm": "^4.0.1",
403
+ "remark-ignore": "^3.0.0",
404
+ "remark-inline-links": "^7.0.0",
405
+ "remark-lint": "^10.0.1",
406
+ "remark-lint-blockquote-indentation": "^4.0.1",
407
+ "remark-lint-check-toc": "^1.0.0",
408
+ "remark-lint-checkbox-character-style": "^5.0.1",
409
+ "remark-lint-checkbox-content-indent": "^5.0.1",
410
+ "remark-lint-code-block-split-list": "^1.0.0",
411
+ "remark-lint-code-block-style": "^4.0.1",
412
+ "remark-lint-correct-media-syntax": "^1.0.1",
413
+ "remark-lint-definition-case": "^4.0.1",
414
+ "remark-lint-definition-sort": "^1.0.1",
415
+ "remark-lint-definition-spacing": "^4.0.1",
416
+ "remark-lint-directive-attribute-sort": "^1.0.1",
417
+ "remark-lint-directive-collapsed-attribute": "^1.0.1",
418
+ "remark-lint-directive-quote-style": "^1.0.1",
419
+ "remark-lint-directive-shortcut-attribute": "^1.0.1",
420
+ "remark-lint-directive-unique-attribute-name": "^1.0.1",
421
+ "remark-lint-emphasis-marker": "^4.0.1",
422
+ "remark-lint-fenced-code-flag": "^4.2.0",
423
+ "remark-lint-fenced-code-flag-case": "^3.0.0",
424
+ "remark-lint-fenced-code-marker": "^4.0.1",
425
+ "remark-lint-file-extension": "^3.0.1",
426
+ "remark-lint-final-definition": "^4.0.2",
427
+ "remark-lint-final-newline": "^3.0.1",
428
+ "remark-lint-first-heading-level": "^4.0.1",
429
+ "remark-lint-frontmatter-schema": "^3.15.4",
430
+ "remark-lint-hard-break-spaces": "^4.1.1",
431
+ "remark-lint-heading-capitalization": "^1.3.0",
432
+ "remark-lint-heading-increment": "^4.0.1",
433
+ "remark-lint-heading-style": "^4.0.1",
434
+ "remark-lint-heading-whitespace": "^1.0.0",
435
+ "remark-lint-linebreak-style": "^4.0.1",
436
+ "remark-lint-link-title-style": "^4.0.1",
437
+ "remark-lint-list-item-bullet-indent": "^5.0.1",
438
+ "remark-lint-list-item-content-indent": "^4.0.1",
439
+ "remark-lint-list-item-indent": "^4.0.1",
440
+ "remark-lint-list-item-spacing": "^5.0.1",
441
+ "remark-lint-maximum-heading-length": "^4.1.1",
442
+ "remark-lint-maximum-line-length": "^4.1.1",
443
+ "remark-lint-mdx-jsx-attribute-sort": "^1.0.1",
444
+ "remark-lint-mdx-jsx-no-void-children": "^1.0.1",
445
+ "remark-lint-mdx-jsx-quote-style": "^1.0.1",
446
+ "remark-lint-mdx-jsx-self-close": "^1.0.1",
447
+ "remark-lint-mdx-jsx-shorthand-attribute": "^1.0.1",
448
+ "remark-lint-mdx-jsx-unique-attribute-name": "^1.0.1",
449
+ "remark-lint-media-style": "^1.0.1",
450
+ "remark-lint-no-blockquote-without-marker": "^6.0.1",
451
+ "remark-lint-no-consecutive-blank-lines": "^5.0.1",
452
+ "remark-lint-no-dead-urls": "^2.0.1",
453
+ "remark-lint-no-duplicate-defined-urls": "^3.0.1",
454
+ "remark-lint-no-duplicate-definitions": "^4.0.1",
455
+ "remark-lint-no-duplicate-headings": "^4.0.1",
456
+ "remark-lint-no-duplicate-headings-in-section": "^4.0.1",
457
+ "remark-lint-no-emphasis-as-heading": "^4.0.1",
458
+ "remark-lint-no-empty-sections": "^4.0.0",
459
+ "remark-lint-no-empty-url": "^4.0.1",
460
+ "remark-lint-no-file-name-articles": "^3.0.1",
461
+ "remark-lint-no-file-name-consecutive-dashes": "^3.0.1",
462
+ "remark-lint-no-file-name-irregular-characters": "^3.0.1",
463
+ "remark-lint-no-file-name-mixed-case": "^3.0.1",
464
+ "remark-lint-no-file-name-outer-dashes": "^3.0.1",
465
+ "remark-lint-no-heading-content-indent": "^5.0.1",
466
+ "remark-lint-no-heading-indent": "^5.0.1",
467
+ "remark-lint-no-heading-like-paragraph": "^4.0.1",
468
+ "remark-lint-no-heading-punctuation": "^4.0.1",
469
+ "remark-lint-no-hidden-table-cell": "^1.0.1",
470
+ "remark-lint-no-html": "^4.0.1",
471
+ "remark-lint-no-literal-urls": "^4.0.1",
472
+ "remark-lint-no-missing-blank-lines": "^4.0.1",
473
+ "remark-lint-no-multiple-toplevel-headings": "^4.0.1",
474
+ "remark-lint-no-paragraph-content-indent": "^5.0.1",
475
+ "remark-lint-no-reference-like-url": "^4.0.1",
476
+ "remark-lint-no-shell-dollars": "^4.0.1",
477
+ "remark-lint-no-shortcut-reference-image": "^4.0.1",
478
+ "remark-lint-no-shortcut-reference-link": "^4.0.1",
479
+ "remark-lint-no-table-indentation": "^5.0.1",
480
+ "remark-lint-no-tabs": "^4.0.1",
481
+ "remark-lint-no-undefined-references": "^5.0.2",
482
+ "remark-lint-no-unneeded-full-reference-image": "^4.0.1",
483
+ "remark-lint-no-unneeded-full-reference-link": "^4.0.1",
484
+ "remark-lint-no-unused-definitions": "^4.0.2",
485
+ "remark-lint-ordered-list-marker-style": "^4.0.1",
486
+ "remark-lint-ordered-list-marker-value": "^4.0.1",
487
+ "remark-lint-rule-style": "^4.0.1",
488
+ "remark-lint-strikethrough-marker": "^3.0.1",
489
+ "remark-lint-strong-marker": "^4.0.1",
490
+ "remark-lint-table-cell-padding": "^5.1.1",
491
+ "remark-lint-table-pipe-alignment": "^4.1.1",
492
+ "remark-lint-table-pipes": "^5.0.1",
493
+ "remark-lint-unordered-list-marker-style": "^4.0.1",
494
+ "remark-lint-write-good": "^1.2.0",
495
+ "remark-math": "^6.0.0",
496
+ "remark-preset-lint-consistent": "^6.0.1",
497
+ "remark-preset-lint-markdown-style-guide": "^6.0.1",
498
+ "remark-preset-lint-recommended": "^7.0.1",
499
+ "remark-preset-prettier": "^2.0.2",
500
+ "remark-toc": "^9.0.0",
501
+ "remark-validate-links": "^13.1.0",
502
+ "remark-wiki-link": "^2.0.1",
503
+ "rimraf": "^6.1.3",
504
+ "secretlint": "^11.3.1",
505
+ "sloc": "^0.3.2",
506
+ "sort-package-json": "^3.6.1",
507
+ "stylelint": "^17.4.0",
508
+ "stylelint-actions-formatters": "^16.3.1",
509
+ "stylelint-checkstyle-formatter": "^0.1.2",
510
+ "stylelint-codeframe-formatter": "^1.2.0",
511
+ "stylelint-config-alphabetical-order": "^2.0.0",
512
+ "stylelint-config-idiomatic-order": "^10.0.0",
513
+ "stylelint-config-inspector": "^2.0.1",
514
+ "stylelint-config-recess-order": "^7.7.0",
515
+ "stylelint-config-recommended": "^18.0.0",
516
+ "stylelint-config-sass-guidelines": "^13.0.0",
517
+ "stylelint-config-standard": "^40.0.0",
518
+ "stylelint-config-standard-scss": "^17.0.0",
519
+ "stylelint-config-tailwindcss": "^1.0.1",
520
+ "stylelint-declaration-block-no-ignored-properties": "^3.0.0",
521
+ "stylelint-declaration-strict-value": "^1.11.1",
522
+ "stylelint-define-config": "^17.2.0",
523
+ "stylelint-find-new-rules": "^6.0.0",
524
+ "stylelint-formatter-gitlab-code-quality-report": "^1.1.0",
525
+ "stylelint-formatter-pretty": "^4.0.1",
526
+ "stylelint-gamut": "^2.0.0",
527
+ "stylelint-group-selectors": "^1.0.10",
528
+ "stylelint-high-performance-animation": "^2.0.0",
529
+ "stylelint-media-use-custom-media": "^4.1.0",
530
+ "stylelint-no-browser-hacks": "^2.0.0",
531
+ "stylelint-no-indistinguishable-colors": "^2.3.1",
532
+ "stylelint-no-restricted-syntax": "^2.2.1",
533
+ "stylelint-no-unresolved-module": "^2.5.2",
534
+ "stylelint-no-unsupported-browser-features": "^8.1.1",
535
+ "stylelint-order": "^8.1.1",
536
+ "stylelint-plugin-defensive-css": "^2.7.0",
537
+ "stylelint-plugin-logical-css": "^2.0.2",
538
+ "stylelint-plugin-use-baseline": "^1.2.7",
539
+ "stylelint-prettier": "^5.0.3",
540
+ "stylelint-react-native": "^2.7.0",
541
+ "stylelint-scales": "^5.0.0",
542
+ "stylelint-selector-bem-pattern": "^4.0.1",
543
+ "stylelint-use-nesting": "^6.0.2",
544
+ "stylelint-value-no-unknown-custom-properties": "^6.1.1",
545
+ "toml-eslint-parser": "^1.0.3",
546
+ "ts-unused-exports": "^11.0.1",
547
+ "typedoc": "^0.28.17",
548
+ "typescript": "^5.9.3",
549
+ "typescript-eslint": "^8.57.1",
550
+ "typesync": "^0.14.3",
551
+ "vfile": "^6.0.3",
552
+ "vite": "^8.0.0",
553
+ "vite-tsconfig-paths": "^6.1.1",
554
+ "vitest": "^4.1.0",
555
+ "yaml-eslint-parser": "^2.0.0",
556
+ "yamllint-js": "^0.2.4"
557
+ },
558
+ "peerDependencies": {
559
+ "eslint": "^9.0.0 || ^10.0.3",
560
+ "typescript": ">=5.0.0"
561
+ },
562
+ "packageManager": "npm@11.11.1",
563
+ "engines": {
564
+ "node": ">=20.19.0"
565
+ },
566
+ "devEngines": {
567
+ "runtime": {
568
+ "name": "node",
569
+ "version": ">=20.19.0",
570
+ "onFail": "error"
571
+ },
572
+ "packageManager": {
573
+ "name": "npm",
574
+ "version": ">=11.0.0",
575
+ "onFail": "error"
576
+ }
577
+ },
578
+ "publishConfig": {
579
+ "provenance": true,
580
+ "registry": "https://registry.npmjs.org/"
581
+ },
582
+ "readme": "README.md"
583
+ }