@empline/preflight 1.1.11 → 1.1.13

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 (709) hide show
  1. package/dist/checks/consolidated/auth-storage-state.d.ts +3 -0
  2. package/dist/checks/consolidated/auth-storage-state.d.ts.map +1 -0
  3. package/dist/checks/consolidated/auth-storage-state.js +146 -0
  4. package/dist/checks/consolidated/auth-storage-state.js.map +1 -0
  5. package/dist/checks/consolidated/business.d.ts +50 -0
  6. package/dist/checks/consolidated/business.d.ts.map +1 -0
  7. package/dist/checks/consolidated/business.js +252 -0
  8. package/dist/checks/consolidated/business.js.map +1 -0
  9. package/dist/checks/consolidated/caching-strategy.d.ts +104 -0
  10. package/dist/checks/consolidated/caching-strategy.d.ts.map +1 -0
  11. package/dist/checks/consolidated/caching-strategy.js +725 -0
  12. package/dist/checks/consolidated/caching-strategy.js.map +1 -0
  13. package/dist/checks/consolidated/code-quality.d.ts +83 -0
  14. package/dist/checks/consolidated/code-quality.d.ts.map +1 -0
  15. package/dist/checks/consolidated/code-quality.js +445 -0
  16. package/dist/checks/consolidated/code-quality.js.map +1 -0
  17. package/dist/checks/consolidated/console-statements.d.ts +32 -0
  18. package/dist/checks/consolidated/console-statements.d.ts.map +1 -0
  19. package/dist/checks/consolidated/console-statements.js +304 -0
  20. package/dist/checks/consolidated/console-statements.js.map +1 -0
  21. package/dist/checks/consolidated/css-advanced-validation.d.ts +24 -0
  22. package/dist/checks/consolidated/css-advanced-validation.d.ts.map +1 -0
  23. package/dist/checks/consolidated/css-advanced-validation.js +415 -0
  24. package/dist/checks/consolidated/css-advanced-validation.js.map +1 -0
  25. package/dist/checks/consolidated/css-organization.d.ts +14 -0
  26. package/dist/checks/consolidated/css-organization.d.ts.map +1 -0
  27. package/dist/checks/consolidated/css-organization.js +432 -0
  28. package/dist/checks/consolidated/css-organization.js.map +1 -0
  29. package/dist/checks/consolidated/css-runtime-validation.d.ts +22 -0
  30. package/dist/checks/consolidated/css-runtime-validation.d.ts.map +1 -0
  31. package/dist/checks/consolidated/css-runtime-validation.js +330 -0
  32. package/dist/checks/consolidated/css-runtime-validation.js.map +1 -0
  33. package/dist/checks/consolidated/css-variable-validation.d.ts +17 -0
  34. package/dist/checks/consolidated/css-variable-validation.d.ts.map +1 -0
  35. package/dist/checks/consolidated/css-variable-validation.js +412 -0
  36. package/dist/checks/consolidated/css-variable-validation.js.map +1 -0
  37. package/dist/checks/consolidated/dark-mode-consistency.d.ts +23 -0
  38. package/dist/checks/consolidated/dark-mode-consistency.d.ts.map +1 -0
  39. package/dist/checks/consolidated/dark-mode-consistency.js +291 -0
  40. package/dist/checks/consolidated/dark-mode-consistency.js.map +1 -0
  41. package/dist/checks/consolidated/database.d.ts +95 -0
  42. package/dist/checks/consolidated/database.d.ts.map +1 -0
  43. package/dist/checks/consolidated/database.js +427 -0
  44. package/dist/checks/consolidated/database.js.map +1 -0
  45. package/dist/checks/consolidated/e2e-checks.d.ts +52 -0
  46. package/dist/checks/consolidated/e2e-checks.d.ts.map +1 -0
  47. package/dist/checks/consolidated/e2e-checks.js +157 -0
  48. package/dist/checks/consolidated/e2e-checks.js.map +1 -0
  49. package/dist/checks/consolidated/e2e-regression-coverage.d.ts +14 -0
  50. package/dist/checks/consolidated/e2e-regression-coverage.d.ts.map +1 -0
  51. package/dist/checks/consolidated/e2e-regression-coverage.js +151 -0
  52. package/dist/checks/consolidated/e2e-regression-coverage.js.map +1 -0
  53. package/dist/checks/consolidated/e2e-validation.d.ts +137 -0
  54. package/dist/checks/consolidated/e2e-validation.d.ts.map +1 -0
  55. package/dist/checks/consolidated/e2e-validation.js +1001 -0
  56. package/dist/checks/consolidated/e2e-validation.js.map +1 -0
  57. package/dist/checks/consolidated/enterprise-baseline.d.ts +9 -0
  58. package/dist/checks/consolidated/enterprise-baseline.d.ts.map +1 -0
  59. package/dist/checks/consolidated/enterprise-baseline.js +277 -0
  60. package/dist/checks/consolidated/enterprise-baseline.js.map +1 -0
  61. package/dist/checks/consolidated/generate-pageload-config.d.ts +6 -0
  62. package/dist/checks/consolidated/generate-pageload-config.d.ts.map +1 -0
  63. package/dist/checks/consolidated/generate-pageload-config.js +161 -0
  64. package/dist/checks/consolidated/generate-pageload-config.js.map +1 -0
  65. package/dist/checks/consolidated/hardened-checks.d.ts +276 -0
  66. package/dist/checks/consolidated/hardened-checks.d.ts.map +1 -0
  67. package/dist/checks/consolidated/hardened-checks.js +3056 -0
  68. package/dist/checks/consolidated/hardened-checks.js.map +1 -0
  69. package/dist/checks/consolidated/homepage-ux.d.ts +12 -0
  70. package/dist/checks/consolidated/homepage-ux.d.ts.map +1 -0
  71. package/dist/checks/consolidated/homepage-ux.js +242 -0
  72. package/dist/checks/consolidated/homepage-ux.js.map +1 -0
  73. package/dist/checks/consolidated/images.d.ts +76 -0
  74. package/dist/checks/consolidated/images.d.ts.map +1 -0
  75. package/dist/checks/consolidated/images.js +311 -0
  76. package/dist/checks/consolidated/images.js.map +1 -0
  77. package/dist/checks/consolidated/import-cycles.d.ts +63 -0
  78. package/dist/checks/consolidated/import-cycles.d.ts.map +1 -0
  79. package/dist/checks/consolidated/import-cycles.js +291 -0
  80. package/dist/checks/consolidated/import-cycles.js.map +1 -0
  81. package/dist/checks/consolidated/imports.d.ts +112 -0
  82. package/dist/checks/consolidated/imports.d.ts.map +1 -0
  83. package/dist/checks/consolidated/imports.js +977 -0
  84. package/dist/checks/consolidated/imports.js.map +1 -0
  85. package/dist/checks/consolidated/inline-style-conflicts.d.ts +21 -0
  86. package/dist/checks/consolidated/inline-style-conflicts.d.ts.map +1 -0
  87. package/dist/checks/consolidated/inline-style-conflicts.js +300 -0
  88. package/dist/checks/consolidated/inline-style-conflicts.js.map +1 -0
  89. package/dist/checks/consolidated/lib-organization.d.ts +12 -0
  90. package/dist/checks/consolidated/lib-organization.d.ts.map +1 -0
  91. package/dist/checks/consolidated/lib-organization.js +419 -0
  92. package/dist/checks/consolidated/lib-organization.js.map +1 -0
  93. package/dist/checks/consolidated/n-plus-one.d.ts +63 -0
  94. package/dist/checks/consolidated/n-plus-one.d.ts.map +1 -0
  95. package/dist/checks/consolidated/n-plus-one.js +331 -0
  96. package/dist/checks/consolidated/n-plus-one.js.map +1 -0
  97. package/dist/checks/consolidated/nextjs.d.ts +51 -0
  98. package/dist/checks/consolidated/nextjs.d.ts.map +1 -0
  99. package/dist/checks/consolidated/nextjs.js +205 -0
  100. package/dist/checks/consolidated/nextjs.js.map +1 -0
  101. package/dist/checks/consolidated/organization.d.ts +54 -0
  102. package/dist/checks/consolidated/organization.d.ts.map +1 -0
  103. package/dist/checks/consolidated/organization.js +158 -0
  104. package/dist/checks/consolidated/organization.js.map +1 -0
  105. package/dist/checks/consolidated/pageload.d.ts +12 -0
  106. package/dist/checks/consolidated/pageload.d.ts.map +1 -0
  107. package/dist/checks/consolidated/pageload.js +138 -0
  108. package/dist/checks/consolidated/pageload.js.map +1 -0
  109. package/dist/checks/consolidated/performance.d.ts +112 -0
  110. package/dist/checks/consolidated/performance.d.ts.map +1 -0
  111. package/dist/checks/consolidated/performance.js +1546 -0
  112. package/dist/checks/consolidated/performance.js.map +1 -0
  113. package/dist/checks/consolidated/quality.d.ts +52 -0
  114. package/dist/checks/consolidated/quality.d.ts.map +1 -0
  115. package/dist/checks/consolidated/quality.js +253 -0
  116. package/dist/checks/consolidated/quality.js.map +1 -0
  117. package/dist/checks/consolidated/react.d.ts +48 -0
  118. package/dist/checks/consolidated/react.d.ts.map +1 -0
  119. package/dist/checks/consolidated/react.js +203 -0
  120. package/dist/checks/consolidated/react.js.map +1 -0
  121. package/dist/checks/consolidated/regression-hygiene.d.ts +17 -0
  122. package/dist/checks/consolidated/regression-hygiene.d.ts.map +1 -0
  123. package/dist/checks/consolidated/regression-hygiene.js +242 -0
  124. package/dist/checks/consolidated/regression-hygiene.js.map +1 -0
  125. package/dist/checks/consolidated/regression.d.ts +20 -0
  126. package/dist/checks/consolidated/regression.d.ts.map +1 -0
  127. package/dist/checks/consolidated/regression.js +121 -0
  128. package/dist/checks/consolidated/regression.js.map +1 -0
  129. package/dist/checks/consolidated/runtime.d.ts +53 -0
  130. package/dist/checks/consolidated/runtime.d.ts.map +1 -0
  131. package/dist/checks/consolidated/runtime.js +160 -0
  132. package/dist/checks/consolidated/runtime.js.map +1 -0
  133. package/dist/checks/consolidated/script-performance.d.ts +17 -0
  134. package/dist/checks/consolidated/script-performance.d.ts.map +1 -0
  135. package/dist/checks/consolidated/script-performance.js +137 -0
  136. package/dist/checks/consolidated/script-performance.js.map +1 -0
  137. package/dist/checks/consolidated/security.d.ts +78 -0
  138. package/dist/checks/consolidated/security.d.ts.map +1 -0
  139. package/dist/checks/consolidated/security.js +404 -0
  140. package/dist/checks/consolidated/security.js.map +1 -0
  141. package/dist/checks/consolidated/seo.d.ts +31 -0
  142. package/dist/checks/consolidated/seo.d.ts.map +1 -0
  143. package/dist/checks/consolidated/seo.js +1438 -0
  144. package/dist/checks/consolidated/seo.js.map +1 -0
  145. package/dist/checks/consolidated/sx-prop-deprecation.d.ts +22 -0
  146. package/dist/checks/consolidated/sx-prop-deprecation.d.ts.map +1 -0
  147. package/dist/checks/consolidated/sx-prop-deprecation.js +280 -0
  148. package/dist/checks/consolidated/sx-prop-deprecation.js.map +1 -0
  149. package/dist/checks/consolidated/tailwind-class-validation.d.ts +25 -0
  150. package/dist/checks/consolidated/tailwind-class-validation.d.ts.map +1 -0
  151. package/dist/checks/consolidated/tailwind-class-validation.js +533 -0
  152. package/dist/checks/consolidated/tailwind-class-validation.js.map +1 -0
  153. package/dist/checks/consolidated/testing.d.ts +54 -0
  154. package/dist/checks/consolidated/testing.d.ts.map +1 -0
  155. package/dist/checks/consolidated/testing.js +163 -0
  156. package/dist/checks/consolidated/testing.js.map +1 -0
  157. package/dist/checks/consolidated/typescript.d.ts +3 -0
  158. package/dist/checks/consolidated/typescript.d.ts.map +1 -0
  159. package/dist/checks/consolidated/typescript.js +31 -0
  160. package/dist/checks/consolidated/typescript.js.map +1 -0
  161. package/dist/checks/consolidated/ui-accessibility-advanced.d.ts +104 -0
  162. package/dist/checks/consolidated/ui-accessibility-advanced.d.ts.map +1 -0
  163. package/dist/checks/consolidated/ui-accessibility-advanced.js +689 -0
  164. package/dist/checks/consolidated/ui-accessibility-advanced.js.map +1 -0
  165. package/dist/checks/consolidated/ui-accessibility.d.ts +121 -0
  166. package/dist/checks/consolidated/ui-accessibility.d.ts.map +1 -0
  167. package/dist/checks/consolidated/ui-accessibility.js +776 -0
  168. package/dist/checks/consolidated/ui-accessibility.js.map +1 -0
  169. package/dist/checks/consolidated/ui-advanced-spacing.d.ts +142 -0
  170. package/dist/checks/consolidated/ui-advanced-spacing.d.ts.map +1 -0
  171. package/dist/checks/consolidated/ui-advanced-spacing.js +1220 -0
  172. package/dist/checks/consolidated/ui-advanced-spacing.js.map +1 -0
  173. package/dist/checks/consolidated/ui-animation-duration.d.ts +108 -0
  174. package/dist/checks/consolidated/ui-animation-duration.d.ts.map +1 -0
  175. package/dist/checks/consolidated/ui-animation-duration.js +531 -0
  176. package/dist/checks/consolidated/ui-animation-duration.js.map +1 -0
  177. package/dist/checks/consolidated/ui-border-radius.d.ts +90 -0
  178. package/dist/checks/consolidated/ui-border-radius.d.ts.map +1 -0
  179. package/dist/checks/consolidated/ui-border-radius.js +519 -0
  180. package/dist/checks/consolidated/ui-border-radius.js.map +1 -0
  181. package/dist/checks/consolidated/ui-buttons.d.ts +32 -0
  182. package/dist/checks/consolidated/ui-buttons.d.ts.map +1 -0
  183. package/dist/checks/consolidated/ui-buttons.js +481 -0
  184. package/dist/checks/consolidated/ui-buttons.js.map +1 -0
  185. package/dist/checks/consolidated/ui-cards.d.ts +29 -0
  186. package/dist/checks/consolidated/ui-cards.d.ts.map +1 -0
  187. package/dist/checks/consolidated/ui-cards.js +504 -0
  188. package/dist/checks/consolidated/ui-cards.js.map +1 -0
  189. package/dist/checks/consolidated/ui-checks.d.ts +48 -0
  190. package/dist/checks/consolidated/ui-checks.d.ts.map +1 -0
  191. package/dist/checks/consolidated/ui-checks.js +264 -0
  192. package/dist/checks/consolidated/ui-checks.js.map +1 -0
  193. package/dist/checks/consolidated/ui-cleanup.d.ts +81 -0
  194. package/dist/checks/consolidated/ui-cleanup.d.ts.map +1 -0
  195. package/dist/checks/consolidated/ui-cleanup.js +650 -0
  196. package/dist/checks/consolidated/ui-cleanup.js.map +1 -0
  197. package/dist/checks/consolidated/ui-components.d.ts +255 -0
  198. package/dist/checks/consolidated/ui-components.d.ts.map +1 -0
  199. package/dist/checks/consolidated/ui-components.js +2008 -0
  200. package/dist/checks/consolidated/ui-components.js.map +1 -0
  201. package/dist/checks/consolidated/ui-consistency-advanced.d.ts +130 -0
  202. package/dist/checks/consolidated/ui-consistency-advanced.d.ts.map +1 -0
  203. package/dist/checks/consolidated/ui-consistency-advanced.js +982 -0
  204. package/dist/checks/consolidated/ui-consistency-advanced.js.map +1 -0
  205. package/dist/checks/consolidated/ui-consistency-comprehensive.d.ts +30 -0
  206. package/dist/checks/consolidated/ui-consistency-comprehensive.d.ts.map +1 -0
  207. package/dist/checks/consolidated/ui-consistency-comprehensive.js +1018 -0
  208. package/dist/checks/consolidated/ui-consistency-comprehensive.js.map +1 -0
  209. package/dist/checks/consolidated/ui-consistency-extended.d.ts +26 -0
  210. package/dist/checks/consolidated/ui-consistency-extended.d.ts.map +1 -0
  211. package/dist/checks/consolidated/ui-consistency-extended.js +606 -0
  212. package/dist/checks/consolidated/ui-consistency-extended.js.map +1 -0
  213. package/dist/checks/consolidated/ui-data-display.d.ts +103 -0
  214. package/dist/checks/consolidated/ui-data-display.d.ts.map +1 -0
  215. package/dist/checks/consolidated/ui-data-display.js +740 -0
  216. package/dist/checks/consolidated/ui-data-display.js.map +1 -0
  217. package/dist/checks/consolidated/ui-deprecated.d.ts +22 -0
  218. package/dist/checks/consolidated/ui-deprecated.d.ts.map +1 -0
  219. package/dist/checks/consolidated/ui-deprecated.js +336 -0
  220. package/dist/checks/consolidated/ui-deprecated.js.map +1 -0
  221. package/dist/checks/consolidated/ui-empty-null-states.d.ts +90 -0
  222. package/dist/checks/consolidated/ui-empty-null-states.d.ts.map +1 -0
  223. package/dist/checks/consolidated/ui-empty-null-states.js +511 -0
  224. package/dist/checks/consolidated/ui-empty-null-states.js.map +1 -0
  225. package/dist/checks/consolidated/ui-error-states.d.ts +99 -0
  226. package/dist/checks/consolidated/ui-error-states.d.ts.map +1 -0
  227. package/dist/checks/consolidated/ui-error-states.js +694 -0
  228. package/dist/checks/consolidated/ui-error-states.js.map +1 -0
  229. package/dist/checks/consolidated/ui-feedback-confirmations.d.ts +90 -0
  230. package/dist/checks/consolidated/ui-feedback-confirmations.d.ts.map +1 -0
  231. package/dist/checks/consolidated/ui-feedback-confirmations.js +596 -0
  232. package/dist/checks/consolidated/ui-feedback-confirmations.js.map +1 -0
  233. package/dist/checks/consolidated/ui-forms.d.ts +32 -0
  234. package/dist/checks/consolidated/ui-forms.d.ts.map +1 -0
  235. package/dist/checks/consolidated/ui-forms.js +568 -0
  236. package/dist/checks/consolidated/ui-forms.js.map +1 -0
  237. package/dist/checks/consolidated/ui-gradient-shadow.d.ts +90 -0
  238. package/dist/checks/consolidated/ui-gradient-shadow.d.ts.map +1 -0
  239. package/dist/checks/consolidated/ui-gradient-shadow.js +568 -0
  240. package/dist/checks/consolidated/ui-gradient-shadow.js.map +1 -0
  241. package/dist/checks/consolidated/ui-grid-responsive.d.ts +27 -0
  242. package/dist/checks/consolidated/ui-grid-responsive.d.ts.map +1 -0
  243. package/dist/checks/consolidated/ui-grid-responsive.js +441 -0
  244. package/dist/checks/consolidated/ui-grid-responsive.js.map +1 -0
  245. package/dist/checks/consolidated/ui-icon-size-tokens.d.ts +104 -0
  246. package/dist/checks/consolidated/ui-icon-size-tokens.d.ts.map +1 -0
  247. package/dist/checks/consolidated/ui-icon-size-tokens.js +514 -0
  248. package/dist/checks/consolidated/ui-icon-size-tokens.js.map +1 -0
  249. package/dist/checks/consolidated/ui-iconography.d.ts +90 -0
  250. package/dist/checks/consolidated/ui-iconography.d.ts.map +1 -0
  251. package/dist/checks/consolidated/ui-iconography.js +565 -0
  252. package/dist/checks/consolidated/ui-iconography.js.map +1 -0
  253. package/dist/checks/consolidated/ui-interactive-states.d.ts +240 -0
  254. package/dist/checks/consolidated/ui-interactive-states.d.ts.map +1 -0
  255. package/dist/checks/consolidated/ui-interactive-states.js +2474 -0
  256. package/dist/checks/consolidated/ui-interactive-states.js.map +1 -0
  257. package/dist/checks/consolidated/ui-layout.d.ts +256 -0
  258. package/dist/checks/consolidated/ui-layout.d.ts.map +1 -0
  259. package/dist/checks/consolidated/ui-layout.js +1371 -0
  260. package/dist/checks/consolidated/ui-layout.js.map +1 -0
  261. package/dist/checks/consolidated/ui-loading-skeletons.d.ts +11 -0
  262. package/dist/checks/consolidated/ui-loading-skeletons.d.ts.map +1 -0
  263. package/dist/checks/consolidated/ui-loading-skeletons.js +145 -0
  264. package/dist/checks/consolidated/ui-loading-skeletons.js.map +1 -0
  265. package/dist/checks/consolidated/ui-loading-state-skeletons.d.ts +9 -0
  266. package/dist/checks/consolidated/ui-loading-state-skeletons.d.ts.map +1 -0
  267. package/dist/checks/consolidated/ui-loading-state-skeletons.js +125 -0
  268. package/dist/checks/consolidated/ui-loading-state-skeletons.js.map +1 -0
  269. package/dist/checks/consolidated/ui-media.d.ts +74 -0
  270. package/dist/checks/consolidated/ui-media.d.ts.map +1 -0
  271. package/dist/checks/consolidated/ui-media.js +408 -0
  272. package/dist/checks/consolidated/ui-media.js.map +1 -0
  273. package/dist/checks/consolidated/ui-micro-interactions.d.ts +107 -0
  274. package/dist/checks/consolidated/ui-micro-interactions.d.ts.map +1 -0
  275. package/dist/checks/consolidated/ui-micro-interactions.js +825 -0
  276. package/dist/checks/consolidated/ui-micro-interactions.js.map +1 -0
  277. package/dist/checks/consolidated/ui-microcopy-consistency.d.ts +114 -0
  278. package/dist/checks/consolidated/ui-microcopy-consistency.d.ts.map +1 -0
  279. package/dist/checks/consolidated/ui-microcopy-consistency.js +566 -0
  280. package/dist/checks/consolidated/ui-microcopy-consistency.js.map +1 -0
  281. package/dist/checks/consolidated/ui-mobile-ux.d.ts +251 -0
  282. package/dist/checks/consolidated/ui-mobile-ux.d.ts.map +1 -0
  283. package/dist/checks/consolidated/ui-mobile-ux.js +2212 -0
  284. package/dist/checks/consolidated/ui-mobile-ux.js.map +1 -0
  285. package/dist/checks/consolidated/ui-motion-accessibility.d.ts +93 -0
  286. package/dist/checks/consolidated/ui-motion-accessibility.d.ts.map +1 -0
  287. package/dist/checks/consolidated/ui-motion-accessibility.js +450 -0
  288. package/dist/checks/consolidated/ui-motion-accessibility.js.map +1 -0
  289. package/dist/checks/consolidated/ui-navigation.d.ts +85 -0
  290. package/dist/checks/consolidated/ui-navigation.d.ts.map +1 -0
  291. package/dist/checks/consolidated/ui-navigation.js +673 -0
  292. package/dist/checks/consolidated/ui-navigation.js.map +1 -0
  293. package/dist/checks/consolidated/ui-patterns.d.ts +174 -0
  294. package/dist/checks/consolidated/ui-patterns.d.ts.map +1 -0
  295. package/dist/checks/consolidated/ui-patterns.js +1532 -0
  296. package/dist/checks/consolidated/ui-patterns.js.map +1 -0
  297. package/dist/checks/consolidated/ui-responsive.d.ts +89 -0
  298. package/dist/checks/consolidated/ui-responsive.d.ts.map +1 -0
  299. package/dist/checks/consolidated/ui-responsive.js +588 -0
  300. package/dist/checks/consolidated/ui-responsive.js.map +1 -0
  301. package/dist/checks/consolidated/ui-spacing-standards.d.ts +43 -0
  302. package/dist/checks/consolidated/ui-spacing-standards.d.ts.map +1 -0
  303. package/dist/checks/consolidated/ui-spacing-standards.js +874 -0
  304. package/dist/checks/consolidated/ui-spacing-standards.js.map +1 -0
  305. package/dist/checks/consolidated/ui-spacing.d.ts +751 -0
  306. package/dist/checks/consolidated/ui-spacing.d.ts.map +1 -0
  307. package/dist/checks/consolidated/ui-spacing.js +4996 -0
  308. package/dist/checks/consolidated/ui-spacing.js.map +1 -0
  309. package/dist/checks/consolidated/ui-standards-auto-fixer.d.ts +70 -0
  310. package/dist/checks/consolidated/ui-standards-auto-fixer.d.ts.map +1 -0
  311. package/dist/checks/consolidated/ui-standards-auto-fixer.js +429 -0
  312. package/dist/checks/consolidated/ui-standards-auto-fixer.js.map +1 -0
  313. package/dist/checks/consolidated/ui-standards-enforcement.d.ts +100 -0
  314. package/dist/checks/consolidated/ui-standards-enforcement.d.ts.map +1 -0
  315. package/dist/checks/consolidated/ui-standards-enforcement.js +935 -0
  316. package/dist/checks/consolidated/ui-standards-enforcement.js.map +1 -0
  317. package/dist/checks/consolidated/ui-state-consistency.d.ts +90 -0
  318. package/dist/checks/consolidated/ui-state-consistency.d.ts.map +1 -0
  319. package/dist/checks/consolidated/ui-state-consistency.js +659 -0
  320. package/dist/checks/consolidated/ui-state-consistency.js.map +1 -0
  321. package/dist/checks/consolidated/ui-style-validation.d.ts +74 -0
  322. package/dist/checks/consolidated/ui-style-validation.d.ts.map +1 -0
  323. package/dist/checks/consolidated/ui-style-validation.js +403 -0
  324. package/dist/checks/consolidated/ui-style-validation.js.map +1 -0
  325. package/dist/checks/consolidated/ui-tokens.d.ts +110 -0
  326. package/dist/checks/consolidated/ui-tokens.d.ts.map +1 -0
  327. package/dist/checks/consolidated/ui-tokens.js +990 -0
  328. package/dist/checks/consolidated/ui-tokens.js.map +1 -0
  329. package/dist/checks/consolidated/ui-typography.d.ts +77 -0
  330. package/dist/checks/consolidated/ui-typography.d.ts.map +1 -0
  331. package/dist/checks/consolidated/ui-typography.js +416 -0
  332. package/dist/checks/consolidated/ui-typography.js.map +1 -0
  333. package/dist/checks/consolidated/ui-visual-hierarchy.d.ts +90 -0
  334. package/dist/checks/consolidated/ui-visual-hierarchy.d.ts.map +1 -0
  335. package/dist/checks/consolidated/ui-visual-hierarchy.js +562 -0
  336. package/dist/checks/consolidated/ui-visual-hierarchy.js.map +1 -0
  337. package/dist/checks/consolidated/woocommerce.d.ts +50 -0
  338. package/dist/checks/consolidated/woocommerce.d.ts.map +1 -0
  339. package/dist/checks/consolidated/woocommerce.js +198 -0
  340. package/dist/checks/consolidated/woocommerce.js.map +1 -0
  341. package/dist/checks/core/api-route-protection.d.ts +2 -0
  342. package/dist/checks/core/api-route-protection.d.ts.map +1 -0
  343. package/dist/checks/core/api-route-protection.js +101 -0
  344. package/dist/checks/core/api-route-protection.js.map +1 -0
  345. package/dist/checks/core/critical.d.ts +8 -0
  346. package/dist/checks/core/critical.d.ts.map +1 -0
  347. package/dist/checks/core/critical.js +200 -0
  348. package/dist/checks/core/critical.js.map +1 -0
  349. package/dist/checks/core/database.d.ts +8 -0
  350. package/dist/checks/core/database.d.ts.map +1 -0
  351. package/dist/checks/core/database.js +699 -0
  352. package/dist/checks/core/database.js.map +1 -0
  353. package/dist/checks/core/development.d.ts +8 -0
  354. package/dist/checks/core/development.d.ts.map +1 -0
  355. package/dist/checks/core/development.js +417 -0
  356. package/dist/checks/core/development.js.map +1 -0
  357. package/dist/checks/core/hydration-mismatch-check.d.ts +38 -0
  358. package/dist/checks/core/hydration-mismatch-check.d.ts.map +1 -0
  359. package/dist/checks/core/hydration-mismatch-check.js +411 -0
  360. package/dist/checks/core/hydration-mismatch-check.js.map +1 -0
  361. package/dist/checks/core/performance.d.ts +8 -0
  362. package/dist/checks/core/performance.d.ts.map +1 -0
  363. package/dist/checks/core/performance.js +474 -0
  364. package/dist/checks/core/performance.js.map +1 -0
  365. package/dist/checks/core/security.d.ts +8 -0
  366. package/dist/checks/core/security.d.ts.map +1 -0
  367. package/dist/checks/core/security.js +275 -0
  368. package/dist/checks/core/security.js.map +1 -0
  369. package/dist/checks/core/standardized-error-handling.d.ts +43 -0
  370. package/dist/checks/core/standardized-error-handling.d.ts.map +1 -0
  371. package/dist/checks/core/standardized-error-handling.js +384 -0
  372. package/dist/checks/core/standardized-error-handling.js.map +1 -0
  373. package/dist/checks/core/supercatch.d.ts +8 -0
  374. package/dist/checks/core/supercatch.d.ts.map +1 -0
  375. package/dist/checks/core/supercatch.js +750 -0
  376. package/dist/checks/core/supercatch.js.map +1 -0
  377. package/dist/checks/core/suppression-check.d.ts +2 -0
  378. package/dist/checks/core/suppression-check.d.ts.map +1 -0
  379. package/dist/checks/core/suppression-check.js +129 -0
  380. package/dist/checks/core/suppression-check.js.map +1 -0
  381. package/dist/checks/core/ui-quality.d.ts +8 -0
  382. package/dist/checks/core/ui-quality.d.ts.map +1 -0
  383. package/dist/checks/core/ui-quality.js +1736 -0
  384. package/dist/checks/core/ui-quality.js.map +1 -0
  385. package/dist/checks/core/unused-assets-check.d.ts +2 -0
  386. package/dist/checks/core/unused-assets-check.d.ts.map +1 -0
  387. package/dist/checks/core/unused-assets-check.js +112 -0
  388. package/dist/checks/core/unused-assets-check.js.map +1 -0
  389. package/dist/checks/core/use-status-ssr-safety.d.ts +34 -0
  390. package/dist/checks/core/use-status-ssr-safety.d.ts.map +1 -0
  391. package/dist/checks/core/use-status-ssr-safety.js +283 -0
  392. package/dist/checks/core/use-status-ssr-safety.js.map +1 -0
  393. package/dist/checks/email/email-flow-validation.d.ts +23 -0
  394. package/dist/checks/email/email-flow-validation.d.ts.map +1 -0
  395. package/dist/checks/email/email-flow-validation.js +468 -0
  396. package/dist/checks/email/email-flow-validation.js.map +1 -0
  397. package/dist/checks/email/email-template-db-verification.d.ts +20 -0
  398. package/dist/checks/email/email-template-db-verification.d.ts.map +1 -0
  399. package/dist/checks/email/email-template-db-verification.js +46 -0
  400. package/dist/checks/email/email-template-db-verification.js.map +1 -0
  401. package/dist/checks/email/email-template-validation.d.ts +24 -0
  402. package/dist/checks/email/email-template-validation.d.ts.map +1 -0
  403. package/dist/checks/email/email-template-validation.js +688 -0
  404. package/dist/checks/email/email-template-validation.js.map +1 -0
  405. package/dist/checks/jsx/comment-placement.d.ts +45 -0
  406. package/dist/checks/jsx/comment-placement.d.ts.map +1 -0
  407. package/dist/checks/jsx/comment-placement.js +316 -0
  408. package/dist/checks/jsx/comment-placement.js.map +1 -0
  409. package/dist/checks/specialized/admin-layout-check.d.ts +19 -0
  410. package/dist/checks/specialized/admin-layout-check.d.ts.map +1 -0
  411. package/dist/checks/specialized/admin-layout-check.js +166 -0
  412. package/dist/checks/specialized/admin-layout-check.js.map +1 -0
  413. package/dist/checks/specialized/client-server-separation.d.ts +14 -0
  414. package/dist/checks/specialized/client-server-separation.d.ts.map +1 -0
  415. package/dist/checks/specialized/client-server-separation.js +197 -0
  416. package/dist/checks/specialized/client-server-separation.js.map +1 -0
  417. package/dist/checks/specialized/cost-optimization.d.ts +18 -0
  418. package/dist/checks/specialized/cost-optimization.d.ts.map +1 -0
  419. package/dist/checks/specialized/cost-optimization.js +78 -0
  420. package/dist/checks/specialized/cost-optimization.js.map +1 -0
  421. package/dist/checks/specialized/database-migration-sync.d.ts +21 -0
  422. package/dist/checks/specialized/database-migration-sync.d.ts.map +1 -0
  423. package/dist/checks/specialized/database-migration-sync.js +150 -0
  424. package/dist/checks/specialized/database-migration-sync.js.map +1 -0
  425. package/dist/checks/specialized/database-model-validation.d.ts +15 -0
  426. package/dist/checks/specialized/database-model-validation.d.ts.map +1 -0
  427. package/dist/checks/specialized/database-model-validation.js +35 -0
  428. package/dist/checks/specialized/database-model-validation.js.map +1 -0
  429. package/dist/checks/specialized/database-schema-migrations-diff.d.ts +27 -0
  430. package/dist/checks/specialized/database-schema-migrations-diff.d.ts.map +1 -0
  431. package/dist/checks/specialized/database-schema-migrations-diff.js +177 -0
  432. package/dist/checks/specialized/database-schema-migrations-diff.js.map +1 -0
  433. package/dist/checks/specialized/database-schema-sync.d.ts +23 -0
  434. package/dist/checks/specialized/database-schema-sync.d.ts.map +1 -0
  435. package/dist/checks/specialized/database-schema-sync.js +77 -0
  436. package/dist/checks/specialized/database-schema-sync.js.map +1 -0
  437. package/dist/checks/specialized/decimal-serialization.d.ts +24 -0
  438. package/dist/checks/specialized/decimal-serialization.d.ts.map +1 -0
  439. package/dist/checks/specialized/decimal-serialization.js +400 -0
  440. package/dist/checks/specialized/decimal-serialization.js.map +1 -0
  441. package/dist/checks/specialized/detect-router-issues.d.ts +14 -0
  442. package/dist/checks/specialized/detect-router-issues.d.ts.map +1 -0
  443. package/dist/checks/specialized/detect-router-issues.js +96 -0
  444. package/dist/checks/specialized/detect-router-issues.js.map +1 -0
  445. package/dist/checks/specialized/enum-validation.d.ts +15 -0
  446. package/dist/checks/specialized/enum-validation.d.ts.map +1 -0
  447. package/dist/checks/specialized/enum-validation.js +35 -0
  448. package/dist/checks/specialized/enum-validation.js.map +1 -0
  449. package/dist/checks/specialized/hash-collision.d.ts +18 -0
  450. package/dist/checks/specialized/hash-collision.d.ts.map +1 -0
  451. package/dist/checks/specialized/hash-collision.js +78 -0
  452. package/dist/checks/specialized/hash-collision.js.map +1 -0
  453. package/dist/checks/specialized/id-generation-enforcement.d.ts +16 -0
  454. package/dist/checks/specialized/id-generation-enforcement.d.ts.map +1 -0
  455. package/dist/checks/specialized/id-generation-enforcement.js +307 -0
  456. package/dist/checks/specialized/id-generation-enforcement.js.map +1 -0
  457. package/dist/checks/specialized/image-data-integrity.d.ts +15 -0
  458. package/dist/checks/specialized/image-data-integrity.d.ts.map +1 -0
  459. package/dist/checks/specialized/image-data-integrity.js +79 -0
  460. package/dist/checks/specialized/image-data-integrity.js.map +1 -0
  461. package/dist/checks/specialized/image-health.d.ts +14 -0
  462. package/dist/checks/specialized/image-health.d.ts.map +1 -0
  463. package/dist/checks/specialized/image-health.js +122 -0
  464. package/dist/checks/specialized/image-health.js.map +1 -0
  465. package/dist/checks/specialized/image-metadata-validation.d.ts +14 -0
  466. package/dist/checks/specialized/image-metadata-validation.d.ts.map +1 -0
  467. package/dist/checks/specialized/image-metadata-validation.js +95 -0
  468. package/dist/checks/specialized/image-metadata-validation.js.map +1 -0
  469. package/dist/checks/specialized/image-optimization.d.ts +16 -0
  470. package/dist/checks/specialized/image-optimization.d.ts.map +1 -0
  471. package/dist/checks/specialized/image-optimization.js +86 -0
  472. package/dist/checks/specialized/image-optimization.js.map +1 -0
  473. package/dist/checks/specialized/invalid-module-imports.d.ts +24 -0
  474. package/dist/checks/specialized/invalid-module-imports.d.ts.map +1 -0
  475. package/dist/checks/specialized/invalid-module-imports.js +209 -0
  476. package/dist/checks/specialized/invalid-module-imports.js.map +1 -0
  477. package/dist/checks/specialized/lint-validation.d.ts +26 -0
  478. package/dist/checks/specialized/lint-validation.d.ts.map +1 -0
  479. package/dist/checks/specialized/lint-validation.js +193 -0
  480. package/dist/checks/specialized/lint-validation.js.map +1 -0
  481. package/dist/checks/specialized/listing-workflow.d.ts +19 -0
  482. package/dist/checks/specialized/listing-workflow.d.ts.map +1 -0
  483. package/dist/checks/specialized/listing-workflow.js +89 -0
  484. package/dist/checks/specialized/listing-workflow.js.map +1 -0
  485. package/dist/checks/specialized/mui-imports-validation.d.ts +18 -0
  486. package/dist/checks/specialized/mui-imports-validation.d.ts.map +1 -0
  487. package/dist/checks/specialized/mui-imports-validation.js +134 -0
  488. package/dist/checks/specialized/mui-imports-validation.js.map +1 -0
  489. package/dist/checks/specialized/nextauth-v5-compliance.d.ts +16 -0
  490. package/dist/checks/specialized/nextauth-v5-compliance.d.ts.map +1 -0
  491. package/dist/checks/specialized/nextauth-v5-compliance.js +164 -0
  492. package/dist/checks/specialized/nextauth-v5-compliance.js.map +1 -0
  493. package/dist/checks/specialized/nextjs-params-check.d.ts +14 -0
  494. package/dist/checks/specialized/nextjs-params-check.d.ts.map +1 -0
  495. package/dist/checks/specialized/nextjs-params-check.js +140 -0
  496. package/dist/checks/specialized/nextjs-params-check.js.map +1 -0
  497. package/dist/checks/specialized/no-legacy-catalog-aliases-validation.d.ts +16 -0
  498. package/dist/checks/specialized/no-legacy-catalog-aliases-validation.d.ts.map +1 -0
  499. package/dist/checks/specialized/no-legacy-catalog-aliases-validation.js +36 -0
  500. package/dist/checks/specialized/no-legacy-catalog-aliases-validation.js.map +1 -0
  501. package/dist/checks/specialized/no-wata-cardgraded-validation.d.ts +22 -0
  502. package/dist/checks/specialized/no-wata-cardgraded-validation.d.ts.map +1 -0
  503. package/dist/checks/specialized/no-wata-cardgraded-validation.js +97 -0
  504. package/dist/checks/specialized/no-wata-cardgraded-validation.js.map +1 -0
  505. package/dist/checks/specialized/parameter-consistency-check.d.ts +20 -0
  506. package/dist/checks/specialized/parameter-consistency-check.d.ts.map +1 -0
  507. package/dist/checks/specialized/parameter-consistency-check.js +115 -0
  508. package/dist/checks/specialized/parameter-consistency-check.js.map +1 -0
  509. package/dist/checks/specialized/prisma-field-names-validation.d.ts +15 -0
  510. package/dist/checks/specialized/prisma-field-names-validation.d.ts.map +1 -0
  511. package/dist/checks/specialized/prisma-field-names-validation.js +35 -0
  512. package/dist/checks/specialized/prisma-field-names-validation.js.map +1 -0
  513. package/dist/checks/specialized/prisma-null-syntax.d.ts +34 -0
  514. package/dist/checks/specialized/prisma-null-syntax.d.ts.map +1 -0
  515. package/dist/checks/specialized/prisma-null-syntax.js +330 -0
  516. package/dist/checks/specialized/prisma-null-syntax.js.map +1 -0
  517. package/dist/checks/specialized/prisma-query-validation.d.ts +15 -0
  518. package/dist/checks/specialized/prisma-query-validation.d.ts.map +1 -0
  519. package/dist/checks/specialized/prisma-query-validation.js +35 -0
  520. package/dist/checks/specialized/prisma-query-validation.js.map +1 -0
  521. package/dist/checks/specialized/product-type-validation.d.ts +17 -0
  522. package/dist/checks/specialized/product-type-validation.d.ts.map +1 -0
  523. package/dist/checks/specialized/product-type-validation.js +129 -0
  524. package/dist/checks/specialized/product-type-validation.js.map +1 -0
  525. package/dist/checks/specialized/responsive-image-validation.d.ts +14 -0
  526. package/dist/checks/specialized/responsive-image-validation.d.ts.map +1 -0
  527. package/dist/checks/specialized/responsive-image-validation.js +101 -0
  528. package/dist/checks/specialized/responsive-image-validation.js.map +1 -0
  529. package/dist/checks/specialized/root-cleanliness.d.ts +21 -0
  530. package/dist/checks/specialized/root-cleanliness.d.ts.map +1 -0
  531. package/dist/checks/specialized/root-cleanliness.js +251 -0
  532. package/dist/checks/specialized/root-cleanliness.js.map +1 -0
  533. package/dist/checks/specialized/rotation-detection-validation.d.ts +16 -0
  534. package/dist/checks/specialized/rotation-detection-validation.d.ts.map +1 -0
  535. package/dist/checks/specialized/rotation-detection-validation.js +113 -0
  536. package/dist/checks/specialized/rotation-detection-validation.js.map +1 -0
  537. package/dist/checks/specialized/script-organization.d.ts +17 -0
  538. package/dist/checks/specialized/script-organization.d.ts.map +1 -0
  539. package/dist/checks/specialized/script-organization.js +487 -0
  540. package/dist/checks/specialized/script-organization.js.map +1 -0
  541. package/dist/checks/specialized/shared-components-migration.d.ts +137 -0
  542. package/dist/checks/specialized/shared-components-migration.d.ts.map +1 -0
  543. package/dist/checks/specialized/shared-components-migration.js +1288 -0
  544. package/dist/checks/specialized/shared-components-migration.js.map +1 -0
  545. package/dist/checks/specialized/store-specialties-normalization.d.ts +10 -0
  546. package/dist/checks/specialized/store-specialties-normalization.d.ts.map +1 -0
  547. package/dist/checks/specialized/store-specialties-normalization.js +126 -0
  548. package/dist/checks/specialized/store-specialties-normalization.js.map +1 -0
  549. package/dist/checks/specialized/two-stage-trim-validation.d.ts +16 -0
  550. package/dist/checks/specialized/two-stage-trim-validation.d.ts.map +1 -0
  551. package/dist/checks/specialized/two-stage-trim-validation.js +115 -0
  552. package/dist/checks/specialized/two-stage-trim-validation.js.map +1 -0
  553. package/dist/checks/specialized/underscore-variable-audit.d.ts +26 -0
  554. package/dist/checks/specialized/underscore-variable-audit.d.ts.map +1 -0
  555. package/dist/checks/specialized/underscore-variable-audit.js +219 -0
  556. package/dist/checks/specialized/underscore-variable-audit.js.map +1 -0
  557. package/dist/checks/specialized/unified-badge-consistency.d.ts +16 -0
  558. package/dist/checks/specialized/unified-badge-consistency.d.ts.map +1 -0
  559. package/dist/checks/specialized/unified-badge-consistency.js +284 -0
  560. package/dist/checks/specialized/unified-badge-consistency.js.map +1 -0
  561. package/dist/checks/specialized/validate-integration-enums.d.ts +15 -0
  562. package/dist/checks/specialized/validate-integration-enums.d.ts.map +1 -0
  563. package/dist/checks/specialized/validate-integration-enums.js +131 -0
  564. package/dist/checks/specialized/validate-integration-enums.js.map +1 -0
  565. package/dist/checks/testing/action-regression.d.ts +23 -0
  566. package/dist/checks/testing/action-regression.d.ts.map +1 -0
  567. package/dist/checks/testing/action-regression.js +192 -0
  568. package/dist/checks/testing/action-regression.js.map +1 -0
  569. package/dist/checks/testing/critical-api-coverage.d.ts +21 -0
  570. package/dist/checks/testing/critical-api-coverage.d.ts.map +1 -0
  571. package/dist/checks/testing/critical-api-coverage.js +158 -0
  572. package/dist/checks/testing/critical-api-coverage.js.map +1 -0
  573. package/dist/checks/testing/data-entry-regression-required.d.ts +24 -0
  574. package/dist/checks/testing/data-entry-regression-required.d.ts.map +1 -0
  575. package/dist/checks/testing/data-entry-regression-required.js +378 -0
  576. package/dist/checks/testing/data-entry-regression-required.js.map +1 -0
  577. package/dist/checks/testing/e2e-best-practices.d.ts +24 -0
  578. package/dist/checks/testing/e2e-best-practices.d.ts.map +1 -0
  579. package/dist/checks/testing/e2e-best-practices.js +791 -0
  580. package/dist/checks/testing/e2e-best-practices.js.map +1 -0
  581. package/dist/checks/testing/e2e-flake-patterns.d.ts +26 -0
  582. package/dist/checks/testing/e2e-flake-patterns.d.ts.map +1 -0
  583. package/dist/checks/testing/e2e-flake-patterns.js +305 -0
  584. package/dist/checks/testing/e2e-flake-patterns.js.map +1 -0
  585. package/dist/checks/testing/e2e-redundant-visibility-checks.d.ts +25 -0
  586. package/dist/checks/testing/e2e-redundant-visibility-checks.d.ts.map +1 -0
  587. package/dist/checks/testing/e2e-redundant-visibility-checks.js +613 -0
  588. package/dist/checks/testing/e2e-redundant-visibility-checks.js.map +1 -0
  589. package/dist/checks/testing/e2e-slow-tests.d.ts +9 -0
  590. package/dist/checks/testing/e2e-slow-tests.d.ts.map +1 -0
  591. package/dist/checks/testing/e2e-slow-tests.js +142 -0
  592. package/dist/checks/testing/e2e-slow-tests.js.map +1 -0
  593. package/dist/checks/testing/e2e-timeouts.d.ts +9 -0
  594. package/dist/checks/testing/e2e-timeouts.d.ts.map +1 -0
  595. package/dist/checks/testing/e2e-timeouts.js +82 -0
  596. package/dist/checks/testing/e2e-timeouts.js.map +1 -0
  597. package/dist/checks/testing/integration-e2e-depth.d.ts +20 -0
  598. package/dist/checks/testing/integration-e2e-depth.d.ts.map +1 -0
  599. package/dist/checks/testing/integration-e2e-depth.js +575 -0
  600. package/dist/checks/testing/integration-e2e-depth.js.map +1 -0
  601. package/dist/checks/testing/playwright-feature-coverage-gaps.d.ts +31 -0
  602. package/dist/checks/testing/playwright-feature-coverage-gaps.d.ts.map +1 -0
  603. package/dist/checks/testing/playwright-feature-coverage-gaps.js +1582 -0
  604. package/dist/checks/testing/playwright-feature-coverage-gaps.js.map +1 -0
  605. package/dist/checks/testing/playwright-mock-inventory.d.ts +24 -0
  606. package/dist/checks/testing/playwright-mock-inventory.d.ts.map +1 -0
  607. package/dist/checks/testing/playwright-mock-inventory.js +380 -0
  608. package/dist/checks/testing/playwright-mock-inventory.js.map +1 -0
  609. package/dist/checks/testing/test-coverage-threshold.d.ts +25 -0
  610. package/dist/checks/testing/test-coverage-threshold.d.ts.map +1 -0
  611. package/dist/checks/testing/test-coverage-threshold.js +166 -0
  612. package/dist/checks/testing/test-coverage-threshold.js.map +1 -0
  613. package/dist/checks/testing/test-flakiness-score.d.ts +27 -0
  614. package/dist/checks/testing/test-flakiness-score.d.ts.map +1 -0
  615. package/dist/checks/testing/test-flakiness-score.js +358 -0
  616. package/dist/checks/testing/test-flakiness-score.js.map +1 -0
  617. package/dist/checks/testing/test-patterns.d.ts +16 -0
  618. package/dist/checks/testing/test-patterns.d.ts.map +1 -0
  619. package/dist/checks/testing/test-patterns.js +156 -0
  620. package/dist/checks/testing/test-patterns.js.map +1 -0
  621. package/dist/checks/workflows/a-plus-rating-validation.d.ts +42 -0
  622. package/dist/checks/workflows/a-plus-rating-validation.d.ts.map +1 -0
  623. package/dist/checks/workflows/a-plus-rating-validation.js +527 -0
  624. package/dist/checks/workflows/a-plus-rating-validation.js.map +1 -0
  625. package/dist/checks/workflows/affected.d.ts +14 -0
  626. package/dist/checks/workflows/affected.d.ts.map +1 -0
  627. package/dist/checks/workflows/affected.js +126 -0
  628. package/dist/checks/workflows/affected.js.map +1 -0
  629. package/dist/checks/workflows/ai.d.ts +6 -0
  630. package/dist/checks/workflows/ai.d.ts.map +1 -0
  631. package/dist/checks/workflows/ai.js +42 -0
  632. package/dist/checks/workflows/ai.js.map +1 -0
  633. package/dist/checks/workflows/all.d.ts +31 -0
  634. package/dist/checks/workflows/all.d.ts.map +1 -0
  635. package/dist/checks/workflows/all.js +2688 -0
  636. package/dist/checks/workflows/all.js.map +1 -0
  637. package/dist/checks/workflows/commit.d.ts +19 -0
  638. package/dist/checks/workflows/commit.d.ts.map +1 -0
  639. package/dist/checks/workflows/commit.js +207 -0
  640. package/dist/checks/workflows/commit.js.map +1 -0
  641. package/dist/checks/workflows/critical.d.ts +9 -0
  642. package/dist/checks/workflows/critical.d.ts.map +1 -0
  643. package/dist/checks/workflows/critical.js +213 -0
  644. package/dist/checks/workflows/critical.js.map +1 -0
  645. package/dist/checks/workflows/database-id-validation.d.ts +9 -0
  646. package/dist/checks/workflows/database-id-validation.d.ts.map +1 -0
  647. package/dist/checks/workflows/database-id-validation.js +13 -0
  648. package/dist/checks/workflows/database-id-validation.js.map +1 -0
  649. package/dist/checks/workflows/deploy.d.ts +20 -0
  650. package/dist/checks/workflows/deploy.d.ts.map +1 -0
  651. package/dist/checks/workflows/deploy.js +107 -0
  652. package/dist/checks/workflows/deploy.js.map +1 -0
  653. package/dist/checks/workflows/deployment-readiness.d.ts +12 -0
  654. package/dist/checks/workflows/deployment-readiness.d.ts.map +1 -0
  655. package/dist/checks/workflows/deployment-readiness.js +403 -0
  656. package/dist/checks/workflows/deployment-readiness.js.map +1 -0
  657. package/dist/checks/workflows/dev.d.ts +19 -0
  658. package/dist/checks/workflows/dev.d.ts.map +1 -0
  659. package/dist/checks/workflows/dev.js +88 -0
  660. package/dist/checks/workflows/dev.js.map +1 -0
  661. package/dist/checks/workflows/development.d.ts +9 -0
  662. package/dist/checks/workflows/development.d.ts.map +1 -0
  663. package/dist/checks/workflows/development.js +65 -0
  664. package/dist/checks/workflows/development.js.map +1 -0
  665. package/dist/checks/workflows/enterprise.d.ts +10 -0
  666. package/dist/checks/workflows/enterprise.d.ts.map +1 -0
  667. package/dist/checks/workflows/enterprise.js +359 -0
  668. package/dist/checks/workflows/enterprise.js.map +1 -0
  669. package/dist/checks/workflows/images.d.ts +6 -0
  670. package/dist/checks/workflows/images.d.ts.map +1 -0
  671. package/dist/checks/workflows/images.js +58 -0
  672. package/dist/checks/workflows/images.js.map +1 -0
  673. package/dist/checks/workflows/naming.d.ts +19 -0
  674. package/dist/checks/workflows/naming.d.ts.map +1 -0
  675. package/dist/checks/workflows/naming.js +42 -0
  676. package/dist/checks/workflows/naming.js.map +1 -0
  677. package/dist/checks/workflows/performance.d.ts +8 -0
  678. package/dist/checks/workflows/performance.d.ts.map +1 -0
  679. package/dist/checks/workflows/performance.js +77 -0
  680. package/dist/checks/workflows/performance.js.map +1 -0
  681. package/dist/checks/workflows/pre-deploy.d.ts +6 -0
  682. package/dist/checks/workflows/pre-deploy.d.ts.map +1 -0
  683. package/dist/checks/workflows/pre-deploy.js +41 -0
  684. package/dist/checks/workflows/pre-deploy.js.map +1 -0
  685. package/dist/checks/workflows/security.d.ts +8 -0
  686. package/dist/checks/workflows/security.d.ts.map +1 -0
  687. package/dist/checks/workflows/security.js +71 -0
  688. package/dist/checks/workflows/security.js.map +1 -0
  689. package/dist/checks/workflows/supercatch.d.ts +8 -0
  690. package/dist/checks/workflows/supercatch.d.ts.map +1 -0
  691. package/dist/checks/workflows/supercatch.js +127 -0
  692. package/dist/checks/workflows/supercatch.js.map +1 -0
  693. package/dist/checks/workflows/ui-quality.d.ts +9 -0
  694. package/dist/checks/workflows/ui-quality.d.ts.map +1 -0
  695. package/dist/checks/workflows/ui-quality.js +264 -0
  696. package/dist/checks/workflows/ui-quality.js.map +1 -0
  697. package/dist/checks/workflows/ui-uniformity.d.ts +18 -0
  698. package/dist/checks/workflows/ui-uniformity.d.ts.map +1 -0
  699. package/dist/checks/workflows/ui-uniformity.js +265 -0
  700. package/dist/checks/workflows/ui-uniformity.js.map +1 -0
  701. package/dist/checks/workflows/vercel.d.ts +16 -0
  702. package/dist/checks/workflows/vercel.d.ts.map +1 -0
  703. package/dist/checks/workflows/vercel.js +173 -0
  704. package/dist/checks/workflows/vercel.js.map +1 -0
  705. package/dist/utils/validation-helpers.d.ts +43 -0
  706. package/dist/utils/validation-helpers.d.ts.map +1 -0
  707. package/dist/utils/validation-helpers.js +370 -0
  708. package/dist/utils/validation-helpers.js.map +1 -0
  709. package/package.json +1 -1
@@ -0,0 +1,699 @@
1
+ #!/usr/bin/env tsx
2
+ "use strict";
3
+ /**
4
+ * Database Preflight Checks
5
+ * Comprehensive database validation for SuperCatch platform
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ const dotenv_1 = require("dotenv");
42
+ const console_chars_1 = require("../../utils/console-chars");
43
+ const file_scanner_1 = require("../../utils/file-scanner");
44
+ const preflight_runner_1 = require("../../utils/preflight-runner");
45
+ // Load environment variables from .env.local
46
+ (0, dotenv_1.config)({ path: ".env.local" });
47
+ // Helper function to find and read Prisma schema
48
+ async function findAndReadSchema(scanner) {
49
+ // Try scanner first
50
+ let schemaFile = await scanner.findFiles(/prisma\/schema\.prisma$/);
51
+ if (schemaFile.length > 0) {
52
+ const content = await scanner.readFileContent(schemaFile[0].path);
53
+ if (content) {
54
+ return { content, path: schemaFile[0].path };
55
+ }
56
+ }
57
+ // Try alternative paths
58
+ const { readFile } = await Promise.resolve().then(() => __importStar(require("fs/promises")));
59
+ const { join } = await Promise.resolve().then(() => __importStar(require("path")));
60
+ const possiblePaths = [
61
+ "prisma/schema.prisma",
62
+ "../../../prisma/schema.prisma",
63
+ join(process.cwd(), "prisma/schema.prisma"),
64
+ ];
65
+ for (const path of possiblePaths) {
66
+ try {
67
+ const content = await readFile(path, "utf-8");
68
+ return { content, path };
69
+ }
70
+ catch (error) {
71
+ // Continue to next path
72
+ }
73
+ }
74
+ return null;
75
+ }
76
+ function extractModelBlocks(schema) {
77
+ const models = [];
78
+ const lines = schema.split("\n");
79
+ let currentName = null;
80
+ let braceDepth = 0;
81
+ let buffer = [];
82
+ for (const line of lines) {
83
+ if (currentName === null) {
84
+ const match = line.match(/^\s*model\s+(\w+)\s*\{/);
85
+ if (match) {
86
+ currentName = match[1];
87
+ braceDepth = (line.match(/\{/g) || []).length - (line.match(/\}/g) || []).length;
88
+ const afterBraceIndex = line.indexOf("{") + 1;
89
+ const afterBrace = line.slice(afterBraceIndex).trim();
90
+ if (afterBrace) {
91
+ buffer.push(afterBrace);
92
+ }
93
+ }
94
+ continue;
95
+ }
96
+ braceDepth += (line.match(/\{/g) || []).length;
97
+ braceDepth -= (line.match(/\}/g) || []).length;
98
+ if (braceDepth <= 0) {
99
+ models.push({ name: currentName, block: buffer.join("\n") });
100
+ currentName = null;
101
+ buffer = [];
102
+ braceDepth = 0;
103
+ continue;
104
+ }
105
+ buffer.push(line);
106
+ }
107
+ return models;
108
+ }
109
+ function isAnalyticsTimeSeriesModel(model) {
110
+ if (model.name.startsWith("Analytics")) {
111
+ return true;
112
+ }
113
+ const mapMatch = model.block.match(/@@map\("([^"]+)"\)/);
114
+ return Boolean(mapMatch && mapMatch[1]?.startsWith("analytics_"));
115
+ }
116
+ function validateAnalyticsModel(model) {
117
+ const violations = [];
118
+ const lines = model.block.split("\n");
119
+ for (const rawLine of lines) {
120
+ const line = rawLine.trim();
121
+ if (!line || line.startsWith("@@") || line.startsWith("//")) {
122
+ continue;
123
+ }
124
+ const fieldMatch = line.match(/^(\w+)/);
125
+ if (!fieldMatch) {
126
+ continue;
127
+ }
128
+ const fieldName = fieldMatch[1];
129
+ // Skip Prisma directives that might slip through
130
+ if (fieldName.startsWith("@")) {
131
+ continue;
132
+ }
133
+ // Check for snake_case field names (should use camelCase)
134
+ if (fieldName.includes("_")) {
135
+ violations.push(`Analytics model ${model.name}.${fieldName} should use camelCase field names.`);
136
+ }
137
+ // NOTE: @map() annotations are NOT required - Prisma handles snake_case mapping automatically
138
+ }
139
+ return violations;
140
+ }
141
+ async function runDatabasePreflights() {
142
+ const runner = new preflight_runner_1.PreflightRunner(true);
143
+ const scanner = new file_scanner_1.FileScanner();
144
+ // Database Connection (Schema-based validation only)
145
+ runner.addCheck((0, preflight_runner_1.createCheck)("Database Configuration", "Validate database configuration and environment variables", async () => {
146
+ const errors = [];
147
+ const warnings = [];
148
+ const info = [];
149
+ // Check for DATABASE_URL - warning only since schema validation works without it
150
+ if (!process.env.DATABASE_URL) {
151
+ warnings.push("DATABASE_URL environment variable is not set - database connectivity not verified");
152
+ info.push(`${console_chars_1.emoji.info} Schema validation will still run without database connection`);
153
+ }
154
+ else {
155
+ info.push("${chars.check} DATABASE_URL environment variable is configured");
156
+ }
157
+ // Check for SHADOW_DATABASE_URL (optional but recommended)
158
+ if (!process.env.SHADOW_DATABASE_URL) {
159
+ warnings.push("SHADOW_DATABASE_URL not set - migrations may be slower");
160
+ }
161
+ else {
162
+ info.push("✓ SHADOW_DATABASE_URL environment variable is configured");
163
+ }
164
+ return {
165
+ passed: true, // Always pass - missing DATABASE_URL is a warning, not an error
166
+ errors,
167
+ warnings,
168
+ info,
169
+ };
170
+ }, true));
171
+ // Prisma Schema Validation
172
+ runner.addCheck((0, preflight_runner_1.createCheck)("Prisma Schema Validation", "Validate Prisma schema structure and conventions", async () => {
173
+ const errors = [];
174
+ const warnings = [];
175
+ const info = [];
176
+ const schemaResult = await findAndReadSchema(scanner);
177
+ if (!schemaResult) {
178
+ errors.push("Prisma schema file not found");
179
+ return { passed: false, errors, warnings };
180
+ }
181
+ const { content, path } = schemaResult;
182
+ info.push(`✓ Found Prisma schema at: ${path}`);
183
+ if (!content) {
184
+ errors.push("Could not read Prisma schema file");
185
+ return { passed: false, errors, warnings };
186
+ }
187
+ // Check for required configurations
188
+ if (!content.includes("generator client")) {
189
+ errors.push("Missing Prisma client generator");
190
+ }
191
+ else {
192
+ info.push("${chars.check} Prisma client generator configured");
193
+ }
194
+ if (!content.includes("datasource db")) {
195
+ errors.push("Missing database datasource");
196
+ }
197
+ else {
198
+ info.push("✓ Database datasource configured");
199
+ }
200
+ // Check for SuperCatch-specific core models (current Prisma model names)
201
+ const requiredCoreModels = [
202
+ "User",
203
+ "Store",
204
+ "Listing",
205
+ "Order",
206
+ "SportsCard",
207
+ "RecognitionJob",
208
+ ];
209
+ const requiredCatalogModels = [
210
+ "VideoGame",
211
+ "TcgCard",
212
+ "Autograph",
213
+ "Ticket",
214
+ "Memorabilia",
215
+ "NonSportsCard",
216
+ ];
217
+ const requiredJobModels = ["JobsIntegration", "jobsImport", "jobsExport"];
218
+ const hasModel = (modelName) => new RegExp(`model\\s+${modelName}\\b`).test(content);
219
+ // Check core business models
220
+ for (const model of requiredCoreModels) {
221
+ if (hasModel(model)) {
222
+ info.push(`${console_chars_1.chars.check} Core model ${model} found`);
223
+ }
224
+ else {
225
+ errors.push(`Critical model ${model} not found - required for SuperCatch functionality`);
226
+ }
227
+ }
228
+ // Check catalog models
229
+ let catalogModelsFound = 0;
230
+ for (const model of requiredCatalogModels) {
231
+ if (hasModel(model)) {
232
+ info.push(`${console_chars_1.chars.check} Catalog model ${model} found`);
233
+ catalogModelsFound++;
234
+ }
235
+ }
236
+ if (catalogModelsFound === 0) {
237
+ warnings.push("No catalog models found - may be expected for minimal deployment");
238
+ }
239
+ else {
240
+ info.push(`${console_chars_1.chars.check} Found ${catalogModelsFound}/${requiredCatalogModels.length} catalog models`);
241
+ }
242
+ // Check job models
243
+ let jobModelsFound = 0;
244
+ for (const model of requiredJobModels) {
245
+ if (hasModel(model)) {
246
+ info.push(`${console_chars_1.chars.check} Job model ${model} found`);
247
+ jobModelsFound++;
248
+ }
249
+ }
250
+ if (jobModelsFound === 0) {
251
+ warnings.push("No job models found - integrations may not be available");
252
+ }
253
+ else {
254
+ info.push(`${console_chars_1.chars.check} Found ${jobModelsFound}/${requiredJobModels.length} job models`);
255
+ }
256
+ // Check for proper ID strategy (Crockford Base32)
257
+ // NOTE: Analytics models may use cuid() for simplicity - that's acceptable
258
+ const idPattern = /@id @default\(cuid\(\)\)/g;
259
+ const cuidMatches = content.match(idPattern);
260
+ if (cuidMatches && cuidMatches.length > 0) {
261
+ // Downgrade from error to warning - analytics models may use cuid() for simplicity
262
+ warnings.push(`Found ${cuidMatches.length} CUID usage(s) - core models should use Crockford Base32 (analytics models may use cuid)`);
263
+ }
264
+ else {
265
+ info.push("${chars.check} No CUID usage detected");
266
+ }
267
+ // Check for proper indexing
268
+ if (content.includes("@@index")) {
269
+ info.push("✓ Database indexes configured");
270
+ }
271
+ else {
272
+ warnings.push("No database indexes found - consider adding for performance");
273
+ }
274
+ // Enforce analytics time-series naming conventions
275
+ const parsedModels = extractModelBlocks(content);
276
+ const analyticsModels = parsedModels.filter(isAnalyticsTimeSeriesModel);
277
+ if (analyticsModels.length > 0) {
278
+ info.push(`✓ Found ${analyticsModels.length} analytics time-series model(s)`);
279
+ let analyticsViolations = 0;
280
+ for (const model of analyticsModels) {
281
+ const violations = validateAnalyticsModel(model);
282
+ analyticsViolations += violations.length;
283
+ if (violations.length > 0) {
284
+ errors.push(...violations);
285
+ }
286
+ }
287
+ if (analyticsViolations === 0) {
288
+ info.push("${chars.check} Analytics models use proper camelCase field naming");
289
+ }
290
+ }
291
+ // NOTE: @@map() and @map() are NOT required - Prisma handles table/column naming automatically
292
+ // We only validate that model names follow PascalCase convention
293
+ const scalarTypes = new Set([
294
+ "String",
295
+ "Int",
296
+ "Float",
297
+ "Decimal",
298
+ "Boolean",
299
+ "DateTime",
300
+ "Json",
301
+ "Bytes",
302
+ "BigInt",
303
+ ]);
304
+ // Validate model naming conventions (PascalCase)
305
+ for (const model of parsedModels) {
306
+ // Check model name is PascalCase
307
+ if (!/^[A-Z][a-zA-Z0-9]*$/.test(model.name)) {
308
+ warnings.push(`Model ${model.name} should use PascalCase naming`);
309
+ }
310
+ }
311
+ info.push("${chars.check} Prisma models validated (@@map/@map not required)");
312
+ return { passed: errors.length === 0, errors, warnings, info };
313
+ }));
314
+ // Migration Status
315
+ runner.addCheck((0, preflight_runner_1.createCheck)("Migration Status", "Check database migration status", async () => {
316
+ const errors = [];
317
+ const warnings = [];
318
+ const info = [];
319
+ try {
320
+ const { execSync } = await Promise.resolve().then(() => __importStar(require("child_process")));
321
+ // Check migration status (requires shadow database in some environments)
322
+ const output = execSync("npx prisma migrate status", {
323
+ encoding: "utf-8",
324
+ stdio: "pipe",
325
+ });
326
+ if (output.includes("Database is up to date")) {
327
+ info.push("✓ Database migrations are up to date");
328
+ }
329
+ else if (output.includes("pending migration")) {
330
+ warnings.push("Pending database migrations detected");
331
+ }
332
+ }
333
+ catch (error) {
334
+ // Migration status check failed - this is normal in production environments
335
+ // without shadow database access. Skip warning in production.
336
+ const isProduction = process.env.NODE_ENV === "production" || process.env.VERCEL_ENV === "production";
337
+ if (!isProduction) {
338
+ info.push(`${console_chars_1.emoji.info} Migration status check skipped (requires shadow database)`);
339
+ }
340
+ }
341
+ return { passed: errors.length === 0, errors, warnings, info };
342
+ }));
343
+ // Database Constraints
344
+ runner.addCheck((0, preflight_runner_1.createCheck)("Database Constraints", "Validate database constraints and relationships", async () => {
345
+ const errors = [];
346
+ const warnings = [];
347
+ const info = [];
348
+ const schemaResult = await findAndReadSchema(scanner);
349
+ if (!schemaResult) {
350
+ return { passed: true, errors, warnings }; // Already checked in schema validation
351
+ }
352
+ const { content } = schemaResult;
353
+ // Check for foreign key relationships
354
+ const relationPattern = /@relation/g;
355
+ const relations = content.match(relationPattern);
356
+ if (relations) {
357
+ info.push(`${console_chars_1.chars.check} Found ${relations.length} database relationships`);
358
+ }
359
+ // Check for unique constraints
360
+ const uniquePattern = /@unique/g;
361
+ const uniqueConstraints = content.match(uniquePattern);
362
+ if (uniqueConstraints) {
363
+ info.push(`${console_chars_1.chars.check} Found ${uniqueConstraints.length} unique constraints`);
364
+ }
365
+ // Check for required fields
366
+ const requiredFields = content.match(/\s+\w+\s+\w+(?!\?)/g);
367
+ if (requiredFields) {
368
+ info.push(`${console_chars_1.chars.check} Found required field constraints`);
369
+ }
370
+ return { passed: errors.length === 0, errors, warnings, info };
371
+ }));
372
+ // Database Model/Table Name Consistency
373
+ runner.addCheck((0, preflight_runner_1.createCheck)("Database Model/Table Name Consistency", "Validate that code uses correct Prisma model names matching database tables", async () => {
374
+ const errors = [];
375
+ const warnings = [];
376
+ const info = [];
377
+ // Get Prisma schema to extract actual model names
378
+ const schemaResult = await findAndReadSchema(scanner);
379
+ if (!schemaResult) {
380
+ errors.push("Prisma schema file not found");
381
+ return { passed: false, errors, warnings };
382
+ }
383
+ const { content: schemaContent } = schemaResult;
384
+ // Extract actual model names from schema
385
+ const modelMatches = schemaContent.match(/^model\s+(\w+)\s*{/gm);
386
+ const actualModels = modelMatches
387
+ ? modelMatches.map((match) => match.match(/model\s+(\w+)/)?.[1]).filter(Boolean)
388
+ : [];
389
+ info.push(`${console_chars_1.chars.check} Found ${actualModels.length} models in schema: ${actualModels.join(", ")}`);
390
+ // Check TypeScript/JavaScript files for incorrect model usage
391
+ const codeFiles = await scanner.findFiles(/\.(ts|tsx|js|jsx)$/);
392
+ let totalViolations = 0;
393
+ for (const file of codeFiles) {
394
+ // Skip node_modules and other irrelevant directories
395
+ const pathLower = file.path.toLowerCase().replace(/\\/g, "/");
396
+ if (pathLower.includes("node_modules") ||
397
+ pathLower.includes(".next") ||
398
+ pathLower.includes("dist") ||
399
+ pathLower.includes(".git") ||
400
+ pathLower.includes("tests/") ||
401
+ pathLower.includes("__tests__/") ||
402
+ pathLower.includes(".test.") ||
403
+ pathLower.includes(".spec.") ||
404
+ pathLower.includes("scripts/") ||
405
+ pathLower.includes("docs/") ||
406
+ pathLower.includes("docs\\") ||
407
+ pathLower.includes(".kiro/steering-archive/") ||
408
+ pathLower.includes(".kiro\\steering-archive\\") ||
409
+ pathLower.includes(".kiro/steering/") ||
410
+ pathLower.includes(".kiro\\steering\\") ||
411
+ pathLower.includes("backups/") ||
412
+ pathLower.includes("backups\\")) {
413
+ continue;
414
+ }
415
+ const content = await scanner.readFileContent(file.path);
416
+ if (!content)
417
+ continue;
418
+ // Check for old incorrect model names that should be corrected to current schema names
419
+ const incorrectPatterns = [
420
+ {
421
+ incorrect: "prisma.cardMasterCatalog",
422
+ correct: "prisma.card",
423
+ description: "Card catalog model",
424
+ },
425
+ {
426
+ incorrect: "prisma.cardBrand",
427
+ correct: "prisma.brand",
428
+ description: "Card brand model",
429
+ },
430
+ {
431
+ incorrect: "prisma.cardSeries",
432
+ correct: "prisma.series",
433
+ description: "Card series model",
434
+ },
435
+ ];
436
+ for (const pattern of incorrectPatterns) {
437
+ // Create a more precise regex that matches the exact model name, not partial matches
438
+ const escapedPattern = pattern.incorrect.replace(".", "\\.");
439
+ const regex = new RegExp(`\\b${escapedPattern}\\b(?!_)`, "g");
440
+ const matches = content.match(regex);
441
+ if (matches) {
442
+ // Filter out matches that are actually correct (like prisma.userCollections containing "user")
443
+ const actualMatches = matches.filter((match) => {
444
+ const lines = content.split("\n");
445
+ for (const line of lines) {
446
+ if (line.includes(match)) {
447
+ // Skip if it's part of a longer valid model name
448
+ if (line.includes(`${match}_`) ||
449
+ line.includes("userCollections") ||
450
+ line.includes("userCollectionItems") ||
451
+ line.includes("userWishlistItems") ||
452
+ line.includes("seller_shipping_rules") ||
453
+ line.includes("authStores") ||
454
+ line.includes("authUser") ||
455
+ line.includes("coreListings") ||
456
+ line.includes("coreOrders") ||
457
+ line.includes("coreOrderItems") ||
458
+ line.includes("catalog_cards") ||
459
+ line.includes("catalogRecognitionJobs") ||
460
+ line.includes("jobsIntegration")) {
461
+ return false;
462
+ }
463
+ }
464
+ }
465
+ return true;
466
+ });
467
+ if (actualMatches.length > 0) {
468
+ totalViolations += actualMatches.length;
469
+ errors.push(`${file.path}: Found ${actualMatches.length} usage(s) of '${pattern.incorrect}' - should be '${pattern.correct}' (${pattern.description})`);
470
+ }
471
+ }
472
+ }
473
+ // Check for any prisma.modelName that doesn't exist in schema
474
+ const prismaUsageRegex = /prisma\.([a-zA-Z_][a-zA-Z0-9_]*)/g;
475
+ let match;
476
+ while ((match = prismaUsageRegex.exec(content)) !== null) {
477
+ const modelName = match[1] || "";
478
+ // Skip known valid patterns that aren't models
479
+ if ([
480
+ "$connect",
481
+ "$disconnect",
482
+ "$transaction",
483
+ "$executeRaw",
484
+ "$queryRaw",
485
+ "$executeRawUnsafe",
486
+ "$queryRawUnsafe",
487
+ ].includes(modelName)) {
488
+ continue;
489
+ }
490
+ // Prisma generates camelCase model names in code, so check both PascalCase and camelCase
491
+ const pascalCase = modelName[0].toUpperCase() + modelName.slice(1);
492
+ const camelCase = modelName[0].toLowerCase() + modelName.slice(1);
493
+ if (!actualModels.includes(modelName) &&
494
+ !actualModels.includes(pascalCase) &&
495
+ !actualModels.includes(camelCase)) {
496
+ errors.push(`${file.path}: Uses 'prisma.${modelName}' but model '${modelName}' not found in schema. Available models: ${actualModels.join(", ")}`);
497
+ totalViolations++;
498
+ }
499
+ }
500
+ }
501
+ if (totalViolations === 0) {
502
+ info.push("${chars.check} All Prisma model usage matches schema definitions");
503
+ }
504
+ else {
505
+ errors.push(`Found ${totalViolations} total model name violations across ${errors.length} files`);
506
+ }
507
+ return { passed: errors.length === 0, errors, warnings, info };
508
+ }, true));
509
+ // SuperCatch-Specific Database Checks
510
+ runner.addCheck((0, preflight_runner_1.createCheck)("SuperCatch Database Rules", "Validate SuperCatch-specific database patterns and table organization", async () => {
511
+ const errors = [];
512
+ const warnings = [];
513
+ const info = [];
514
+ const schemaResult = await findAndReadSchema(scanner);
515
+ if (!schemaResult) {
516
+ return { passed: true, errors, warnings };
517
+ }
518
+ const { content } = schemaResult;
519
+ const hasModel = (modelName) => new RegExp(`model\\s+${modelName}\\b`).test(content);
520
+ // Check for proper domain organization using current model names
521
+ const modelGroups = {
522
+ "Core commerce": {
523
+ models: [
524
+ "Listing",
525
+ "Order",
526
+ "OrderItem",
527
+ "DuplicateListing",
528
+ "ListingHistory",
529
+ "PriceHistory",
530
+ ],
531
+ critical: true,
532
+ },
533
+ Catalog: {
534
+ models: [
535
+ "Card",
536
+ "VideoGame",
537
+ "TcgCard",
538
+ "Autograph",
539
+ "Ticket",
540
+ "Memorabilia",
541
+ "RecognitionJob",
542
+ ],
543
+ critical: true,
544
+ },
545
+ Authentication: {
546
+ models: [
547
+ "User",
548
+ "Seller",
549
+ "Account",
550
+ "Organization",
551
+ "Session",
552
+ "VerificationToken",
553
+ "StoreNotification",
554
+ ],
555
+ critical: true,
556
+ },
557
+ Collections: {
558
+ models: [
559
+ "UserCollection",
560
+ "UserCollectionItem",
561
+ "UserWishlistItem",
562
+ "UserSavedSearch",
563
+ "userRecentlyViewed",
564
+ ],
565
+ },
566
+ Reference: {
567
+ models: [
568
+ "Brand",
569
+ "Series",
570
+ "Material",
571
+ "Language",
572
+ "Country",
573
+ "GradingCompany",
574
+ "League",
575
+ "Team",
576
+ "Size",
577
+ ],
578
+ },
579
+ Jobs: {
580
+ models: [
581
+ "JobsIntegration",
582
+ "JobsIntegrationConfig",
583
+ "jobsIntegrationHistory",
584
+ "JobsIntegrationOauth",
585
+ "jobsImport",
586
+ "jobsExport",
587
+ ],
588
+ },
589
+ Analytics: {
590
+ models: ["AnalyticsListingViewsTs", "AnalyticsSearchQueriesTs"],
591
+ },
592
+ System: {
593
+ models: [
594
+ "SystemDuplicateReport",
595
+ "systemImageUsageTracking",
596
+ "SystemBrandCache",
597
+ "SystemSetting",
598
+ "SystemAuditLog",
599
+ ],
600
+ },
601
+ Email: {
602
+ models: ["EmailTemplate"],
603
+ },
604
+ };
605
+ let totalModelsFound = 0;
606
+ let totalModelsExpected = 0;
607
+ for (const [groupName, group] of Object.entries(modelGroups)) {
608
+ const foundInGroup = group.models.filter(hasModel);
609
+ totalModelsExpected += group.models.length;
610
+ totalModelsFound += foundInGroup.length;
611
+ if (foundInGroup.length > 0) {
612
+ info.push(`${console_chars_1.chars.check} ${groupName}: ${foundInGroup.length}/${group.models.length} models present`);
613
+ }
614
+ else if (group.critical) {
615
+ warnings.push(`No ${groupName.toLowerCase()} models found - critical for SuperCatch functionality`);
616
+ }
617
+ else {
618
+ info.push(`${console_chars_1.chars.bullet} ${groupName}: 0/${group.models.length} models detected`);
619
+ }
620
+ }
621
+ info.push(`${console_chars_1.chars.check} Total tracked Prisma models: ${totalModelsFound}/${totalModelsExpected}`);
622
+ // Check for proper indexing patterns
623
+ const criticalIndexes = [
624
+ "idx_listing_status",
625
+ "idx_listing_seller",
626
+ "idx_user_email",
627
+ "idx_recognition_status",
628
+ ];
629
+ let indexesFound = 0;
630
+ for (const index of criticalIndexes) {
631
+ if (content.includes(index)) {
632
+ indexesFound++;
633
+ }
634
+ }
635
+ if (indexesFound > 0) {
636
+ info.push(`${console_chars_1.chars.check} Critical indexes: ${indexesFound}/${criticalIndexes.length} found`);
637
+ }
638
+ else {
639
+ warnings.push("No critical database indexes found - performance may be impacted");
640
+ }
641
+ // Check for duplicate prevention patterns
642
+ const uniqueConstraints = content.match(/@@unique/g);
643
+ if (uniqueConstraints && uniqueConstraints.length > 0) {
644
+ info.push(`${console_chars_1.chars.check} Found ${uniqueConstraints.length} unique constraints for duplicate prevention`);
645
+ }
646
+ else {
647
+ warnings.push("No unique constraints found - consider adding for duplicate prevention");
648
+ }
649
+ // Check for proper enum usage
650
+ const enumPattern = /enum\s+(\w+)/g;
651
+ const enums = content.match(enumPattern);
652
+ if (enums && enums.length > 0) {
653
+ info.push(`${console_chars_1.chars.check} Found ${enums.length} enum definitions for type safety`);
654
+ }
655
+ else {
656
+ warnings.push("No enum definitions found - consider adding for type safety");
657
+ }
658
+ return { passed: errors.length === 0, errors, warnings, info };
659
+ }));
660
+ // Database Performance
661
+ runner.addCheck((0, preflight_runner_1.createCheck)("Database Performance", "Check for performance optimization patterns", async () => {
662
+ const errors = [];
663
+ const warnings = [];
664
+ const info = [];
665
+ const schemaResult = await findAndReadSchema(scanner);
666
+ if (!schemaResult) {
667
+ return { passed: true, errors, warnings };
668
+ }
669
+ const { content } = schemaResult;
670
+ // Check for indexes on frequently queried fields
671
+ const indexPatterns = ["status", "category", "createdAt", "updatedAt", "userId", "storeId"];
672
+ for (const field of indexPatterns) {
673
+ if (content.includes(`@@index([${field}])`) || content.includes(`@@index(${field})`)) {
674
+ info.push(`${console_chars_1.chars.check} Index found for ${field}`);
675
+ }
676
+ }
677
+ // Check for composite indexes
678
+ if (content.includes("@@index([") && content.includes(",")) {
679
+ info.push("${chars.check} Composite indexes configured");
680
+ }
681
+ else {
682
+ warnings.push("Consider adding composite indexes for complex queries");
683
+ }
684
+ return { passed: errors.length === 0, errors, warnings, info };
685
+ }));
686
+ const result = await runner.runAll();
687
+ if (!result.passed) {
688
+ console.log(`\n${console_chars_1.emoji.bell} Database preflight checks failed!`);
689
+ process.exit(1);
690
+ }
691
+ console.log(`\n${console_chars_1.emoji.database} All database preflight checks passed!`);
692
+ return result;
693
+ }
694
+ // Run if called directly
695
+ if (require.main === module) {
696
+ runDatabasePreflights().catch(console.error);
697
+ }
698
+ exports.default = runDatabasePreflights;
699
+ //# sourceMappingURL=database.js.map