@memberjunction/react-linter 0.0.1 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/dist/component-linter.d.ts +77 -0
  2. package/dist/component-linter.d.ts.map +1 -0
  3. package/dist/component-linter.js +1206 -0
  4. package/dist/component-linter.js.map +1 -0
  5. package/dist/control-flow-analyzer.d.ts +184 -0
  6. package/dist/control-flow-analyzer.d.ts.map +1 -0
  7. package/dist/control-flow-analyzer.js +798 -0
  8. package/dist/control-flow-analyzer.js.map +1 -0
  9. package/dist/index.d.ts +6 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +8 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/library-lint-cache.d.ts +50 -0
  14. package/dist/library-lint-cache.d.ts.map +1 -0
  15. package/dist/library-lint-cache.js +173 -0
  16. package/dist/library-lint-cache.js.map +1 -0
  17. package/dist/lint-rule.d.ts +70 -0
  18. package/dist/lint-rule.d.ts.map +1 -0
  19. package/dist/lint-rule.js +30 -0
  20. package/dist/lint-rule.js.map +1 -0
  21. package/dist/lint-utils.d.ts +131 -0
  22. package/dist/lint-utils.d.ts.map +1 -0
  23. package/dist/lint-utils.js +358 -0
  24. package/dist/lint-utils.js.map +1 -0
  25. package/dist/linter-options.d.ts +51 -0
  26. package/dist/linter-options.d.ts.map +1 -0
  27. package/dist/linter-options.js +2 -0
  28. package/dist/linter-options.js.map +1 -0
  29. package/dist/prop-value-extractor.d.ts +147 -0
  30. package/dist/prop-value-extractor.d.ts.map +1 -0
  31. package/dist/prop-value-extractor.js +472 -0
  32. package/dist/prop-value-extractor.js.map +1 -0
  33. package/dist/runtime-rules/ai-tools-availability-check.d.ts +9 -0
  34. package/dist/runtime-rules/ai-tools-availability-check.d.ts.map +1 -0
  35. package/dist/runtime-rules/ai-tools-availability-check.js +223 -0
  36. package/dist/runtime-rules/ai-tools-availability-check.js.map +1 -0
  37. package/dist/runtime-rules/callback-event-validation.d.ts +22 -0
  38. package/dist/runtime-rules/callback-event-validation.d.ts.map +1 -0
  39. package/dist/runtime-rules/callback-event-validation.js +561 -0
  40. package/dist/runtime-rules/callback-event-validation.js.map +1 -0
  41. package/dist/runtime-rules/chart-field-validation.d.ts +10 -0
  42. package/dist/runtime-rules/chart-field-validation.d.ts.map +1 -0
  43. package/dist/runtime-rules/chart-field-validation.js +270 -0
  44. package/dist/runtime-rules/chart-field-validation.js.map +1 -0
  45. package/dist/runtime-rules/child-component-prop-validation.d.ts +11 -0
  46. package/dist/runtime-rules/child-component-prop-validation.d.ts.map +1 -0
  47. package/dist/runtime-rules/child-component-prop-validation.js +443 -0
  48. package/dist/runtime-rules/child-component-prop-validation.js.map +1 -0
  49. package/dist/runtime-rules/component-name-mismatch.d.ts +19 -0
  50. package/dist/runtime-rules/component-name-mismatch.d.ts.map +1 -0
  51. package/dist/runtime-rules/component-name-mismatch.js +82 -0
  52. package/dist/runtime-rules/component-name-mismatch.js.map +1 -0
  53. package/dist/runtime-rules/component-not-in-dependencies.d.ts +20 -0
  54. package/dist/runtime-rules/component-not-in-dependencies.d.ts.map +1 -0
  55. package/dist/runtime-rules/component-not-in-dependencies.js +92 -0
  56. package/dist/runtime-rules/component-not-in-dependencies.js.map +1 -0
  57. package/dist/runtime-rules/component-props-validation.d.ts +25 -0
  58. package/dist/runtime-rules/component-props-validation.d.ts.map +1 -0
  59. package/dist/runtime-rules/component-props-validation.js +228 -0
  60. package/dist/runtime-rules/component-props-validation.js.map +1 -0
  61. package/dist/runtime-rules/component-usage-without-destructuring.d.ts +20 -0
  62. package/dist/runtime-rules/component-usage-without-destructuring.d.ts.map +1 -0
  63. package/dist/runtime-rules/component-usage-without-destructuring.js +124 -0
  64. package/dist/runtime-rules/component-usage-without-destructuring.js.map +1 -0
  65. package/dist/runtime-rules/data-result-validation.d.ts +9 -0
  66. package/dist/runtime-rules/data-result-validation.d.ts.map +1 -0
  67. package/dist/runtime-rules/data-result-validation.js +763 -0
  68. package/dist/runtime-rules/data-result-validation.js.map +1 -0
  69. package/dist/runtime-rules/datagrid-field-validation.d.ts +10 -0
  70. package/dist/runtime-rules/datagrid-field-validation.d.ts.map +1 -0
  71. package/dist/runtime-rules/datagrid-field-validation.js +249 -0
  72. package/dist/runtime-rules/datagrid-field-validation.js.map +1 -0
  73. package/dist/runtime-rules/dependency-shadowing.d.ts +20 -0
  74. package/dist/runtime-rules/dependency-shadowing.d.ts.map +1 -0
  75. package/dist/runtime-rules/dependency-shadowing.js +147 -0
  76. package/dist/runtime-rules/dependency-shadowing.js.map +1 -0
  77. package/dist/runtime-rules/entity-field-access-validation.d.ts +12 -0
  78. package/dist/runtime-rules/entity-field-access-validation.d.ts.map +1 -0
  79. package/dist/runtime-rules/entity-field-access-validation.js +304 -0
  80. package/dist/runtime-rules/entity-field-access-validation.js.map +1 -0
  81. package/dist/runtime-rules/event-parameter-validation.d.ts +22 -0
  82. package/dist/runtime-rules/event-parameter-validation.d.ts.map +1 -0
  83. package/dist/runtime-rules/event-parameter-validation.js +406 -0
  84. package/dist/runtime-rules/event-parameter-validation.js.map +1 -0
  85. package/dist/runtime-rules/index.d.ts +61 -0
  86. package/dist/runtime-rules/index.d.ts.map +1 -0
  87. package/dist/runtime-rules/index.js +62 -0
  88. package/dist/runtime-rules/index.js.map +1 -0
  89. package/dist/runtime-rules/library-variable-names.d.ts +24 -0
  90. package/dist/runtime-rules/library-variable-names.d.ts.map +1 -0
  91. package/dist/runtime-rules/library-variable-names.js +88 -0
  92. package/dist/runtime-rules/library-variable-names.js.map +1 -0
  93. package/dist/runtime-rules/no-child-implementation.d.ts +18 -0
  94. package/dist/runtime-rules/no-child-implementation.d.ts.map +1 -0
  95. package/dist/runtime-rules/no-child-implementation.js +57 -0
  96. package/dist/runtime-rules/no-child-implementation.js.map +1 -0
  97. package/dist/runtime-rules/no-data-prop.d.ts +22 -0
  98. package/dist/runtime-rules/no-data-prop.d.ts.map +1 -0
  99. package/dist/runtime-rules/no-data-prop.js +111 -0
  100. package/dist/runtime-rules/no-data-prop.js.map +1 -0
  101. package/dist/runtime-rules/no-export-statements.d.ts +18 -0
  102. package/dist/runtime-rules/no-export-statements.d.ts.map +1 -0
  103. package/dist/runtime-rules/no-export-statements.js +143 -0
  104. package/dist/runtime-rules/no-export-statements.js.map +1 -0
  105. package/dist/runtime-rules/no-iife-wrapper.d.ts +18 -0
  106. package/dist/runtime-rules/no-iife-wrapper.d.ts.map +1 -0
  107. package/dist/runtime-rules/no-iife-wrapper.js +217 -0
  108. package/dist/runtime-rules/no-iife-wrapper.js.map +1 -0
  109. package/dist/runtime-rules/no-import-statements.d.ts +18 -0
  110. package/dist/runtime-rules/no-import-statements.d.ts.map +1 -0
  111. package/dist/runtime-rules/no-import-statements.js +65 -0
  112. package/dist/runtime-rules/no-import-statements.js.map +1 -0
  113. package/dist/runtime-rules/no-react-destructuring.d.ts +18 -0
  114. package/dist/runtime-rules/no-react-destructuring.d.ts.map +1 -0
  115. package/dist/runtime-rules/no-react-destructuring.js +60 -0
  116. package/dist/runtime-rules/no-react-destructuring.js.map +1 -0
  117. package/dist/runtime-rules/no-require-statements.d.ts +18 -0
  118. package/dist/runtime-rules/no-require-statements.d.ts.map +1 -0
  119. package/dist/runtime-rules/no-require-statements.js +109 -0
  120. package/dist/runtime-rules/no-require-statements.js.map +1 -0
  121. package/dist/runtime-rules/no-return-component.d.ts +18 -0
  122. package/dist/runtime-rules/no-return-component.d.ts.map +1 -0
  123. package/dist/runtime-rules/no-return-component.js +106 -0
  124. package/dist/runtime-rules/no-return-component.js.map +1 -0
  125. package/dist/runtime-rules/no-unwrap-utility-libs.d.ts +20 -0
  126. package/dist/runtime-rules/no-unwrap-utility-libs.d.ts.map +1 -0
  127. package/dist/runtime-rules/no-unwrap-utility-libs.js +75 -0
  128. package/dist/runtime-rules/no-unwrap-utility-libs.js.map +1 -0
  129. package/dist/runtime-rules/no-use-reducer.d.ts +19 -0
  130. package/dist/runtime-rules/no-use-reducer.d.ts.map +1 -0
  131. package/dist/runtime-rules/no-use-reducer.js +78 -0
  132. package/dist/runtime-rules/no-use-reducer.js.map +1 -0
  133. package/dist/runtime-rules/no-window-access.d.ts +23 -0
  134. package/dist/runtime-rules/no-window-access.d.ts.map +1 -0
  135. package/dist/runtime-rules/no-window-access.js +136 -0
  136. package/dist/runtime-rules/no-window-access.js.map +1 -0
  137. package/dist/runtime-rules/noisy-settings-updates.d.ts +18 -0
  138. package/dist/runtime-rules/noisy-settings-updates.d.ts.map +1 -0
  139. package/dist/runtime-rules/noisy-settings-updates.js +110 -0
  140. package/dist/runtime-rules/noisy-settings-updates.js.map +1 -0
  141. package/dist/runtime-rules/overflow-hidden-on-layout-container.d.ts +30 -0
  142. package/dist/runtime-rules/overflow-hidden-on-layout-container.d.ts.map +1 -0
  143. package/dist/runtime-rules/overflow-hidden-on-layout-container.js +220 -0
  144. package/dist/runtime-rules/overflow-hidden-on-layout-container.js.map +1 -0
  145. package/dist/runtime-rules/pass-standard-props.d.ts +19 -0
  146. package/dist/runtime-rules/pass-standard-props.d.ts.map +1 -0
  147. package/dist/runtime-rules/pass-standard-props.js +82 -0
  148. package/dist/runtime-rules/pass-standard-props.js.map +1 -0
  149. package/dist/runtime-rules/prefer-async-await.d.ts +17 -0
  150. package/dist/runtime-rules/prefer-async-await.d.ts.map +1 -0
  151. package/dist/runtime-rules/prefer-async-await.js +52 -0
  152. package/dist/runtime-rules/prefer-async-await.js.map +1 -0
  153. package/dist/runtime-rules/prefer-jsx-syntax.d.ts +17 -0
  154. package/dist/runtime-rules/prefer-jsx-syntax.d.ts.map +1 -0
  155. package/dist/runtime-rules/prefer-jsx-syntax.js +51 -0
  156. package/dist/runtime-rules/prefer-jsx-syntax.js.map +1 -0
  157. package/dist/runtime-rules/prop-state-sync.d.ts +19 -0
  158. package/dist/runtime-rules/prop-state-sync.d.ts.map +1 -0
  159. package/dist/runtime-rules/prop-state-sync.js +76 -0
  160. package/dist/runtime-rules/prop-state-sync.js.map +1 -0
  161. package/dist/runtime-rules/property-name-consistency.d.ts +20 -0
  162. package/dist/runtime-rules/property-name-consistency.d.ts.map +1 -0
  163. package/dist/runtime-rules/property-name-consistency.js +172 -0
  164. package/dist/runtime-rules/property-name-consistency.js.map +1 -0
  165. package/dist/runtime-rules/query-result-field-access-validation.d.ts +10 -0
  166. package/dist/runtime-rules/query-result-field-access-validation.d.ts.map +1 -0
  167. package/dist/runtime-rules/query-result-field-access-validation.js +304 -0
  168. package/dist/runtime-rules/query-result-field-access-validation.js.map +1 -0
  169. package/dist/runtime-rules/react-component-naming.d.ts +19 -0
  170. package/dist/runtime-rules/react-component-naming.d.ts.map +1 -0
  171. package/dist/runtime-rules/react-component-naming.js +72 -0
  172. package/dist/runtime-rules/react-component-naming.js.map +1 -0
  173. package/dist/runtime-rules/react-hooks-rules.d.ts +27 -0
  174. package/dist/runtime-rules/react-hooks-rules.d.ts.map +1 -0
  175. package/dist/runtime-rules/react-hooks-rules.js +223 -0
  176. package/dist/runtime-rules/react-hooks-rules.js.map +1 -0
  177. package/dist/runtime-rules/required-queries-not-called.d.ts +19 -0
  178. package/dist/runtime-rules/required-queries-not-called.d.ts.map +1 -0
  179. package/dist/runtime-rules/required-queries-not-called.js +146 -0
  180. package/dist/runtime-rules/required-queries-not-called.js.map +1 -0
  181. package/dist/runtime-rules/runquery-call-validation.d.ts +11 -0
  182. package/dist/runtime-rules/runquery-call-validation.d.ts.map +1 -0
  183. package/dist/runtime-rules/runquery-call-validation.js +886 -0
  184. package/dist/runtime-rules/runquery-call-validation.js.map +1 -0
  185. package/dist/runtime-rules/runview-call-validation.d.ts +10 -0
  186. package/dist/runtime-rules/runview-call-validation.d.ts.map +1 -0
  187. package/dist/runtime-rules/runview-call-validation.js +336 -0
  188. package/dist/runtime-rules/runview-call-validation.js.map +1 -0
  189. package/dist/runtime-rules/saved-user-settings-pattern.d.ts +19 -0
  190. package/dist/runtime-rules/saved-user-settings-pattern.d.ts.map +1 -0
  191. package/dist/runtime-rules/saved-user-settings-pattern.js +90 -0
  192. package/dist/runtime-rules/saved-user-settings-pattern.js.map +1 -0
  193. package/dist/runtime-rules/search-availability-check.d.ts +9 -0
  194. package/dist/runtime-rules/search-availability-check.d.ts.map +1 -0
  195. package/dist/runtime-rules/search-availability-check.js +220 -0
  196. package/dist/runtime-rules/search-availability-check.js.map +1 -0
  197. package/dist/runtime-rules/search-call-validation.d.ts +9 -0
  198. package/dist/runtime-rules/search-call-validation.d.ts.map +1 -0
  199. package/dist/runtime-rules/search-call-validation.js +336 -0
  200. package/dist/runtime-rules/search-call-validation.js.map +1 -0
  201. package/dist/runtime-rules/server-reload-on-client-operation.d.ts +18 -0
  202. package/dist/runtime-rules/server-reload-on-client-operation.d.ts.map +1 -0
  203. package/dist/runtime-rules/server-reload-on-client-operation.js +107 -0
  204. package/dist/runtime-rules/server-reload-on-client-operation.js.map +1 -0
  205. package/dist/runtime-rules/single-function-only.d.ts +18 -0
  206. package/dist/runtime-rules/single-function-only.d.ts.map +1 -0
  207. package/dist/runtime-rules/single-function-only.js +103 -0
  208. package/dist/runtime-rules/single-function-only.js.map +1 -0
  209. package/dist/runtime-rules/string-replace-all-occurrences.d.ts +19 -0
  210. package/dist/runtime-rules/string-replace-all-occurrences.d.ts.map +1 -0
  211. package/dist/runtime-rules/string-replace-all-occurrences.js +109 -0
  212. package/dist/runtime-rules/string-replace-all-occurrences.js.map +1 -0
  213. package/dist/runtime-rules/string-template-validation.d.ts +22 -0
  214. package/dist/runtime-rules/string-template-validation.d.ts.map +1 -0
  215. package/dist/runtime-rules/string-template-validation.js +163 -0
  216. package/dist/runtime-rules/string-template-validation.js.map +1 -0
  217. package/dist/runtime-rules/styles-validation.d.ts +10 -0
  218. package/dist/runtime-rules/styles-validation.d.ts.map +1 -0
  219. package/dist/runtime-rules/styles-validation.js +153 -0
  220. package/dist/runtime-rules/styles-validation.js.map +1 -0
  221. package/dist/runtime-rules/type-inference-errors.d.ts +23 -0
  222. package/dist/runtime-rules/type-inference-errors.d.ts.map +1 -0
  223. package/dist/runtime-rules/type-inference-errors.js +53 -0
  224. package/dist/runtime-rules/type-inference-errors.js.map +1 -0
  225. package/dist/runtime-rules/type-mismatch-operation.d.ts +23 -0
  226. package/dist/runtime-rules/type-mismatch-operation.d.ts.map +1 -0
  227. package/dist/runtime-rules/type-mismatch-operation.js +145 -0
  228. package/dist/runtime-rules/type-mismatch-operation.js.map +1 -0
  229. package/dist/runtime-rules/undefined-component-usage.d.ts +20 -0
  230. package/dist/runtime-rules/undefined-component-usage.d.ts.map +1 -0
  231. package/dist/runtime-rules/undefined-component-usage.js +138 -0
  232. package/dist/runtime-rules/undefined-component-usage.js.map +1 -0
  233. package/dist/runtime-rules/undefined-jsx-component.d.ts +25 -0
  234. package/dist/runtime-rules/undefined-jsx-component.d.ts.map +1 -0
  235. package/dist/runtime-rules/undefined-jsx-component.js +269 -0
  236. package/dist/runtime-rules/undefined-jsx-component.js.map +1 -0
  237. package/dist/runtime-rules/unsafe-array-operations.d.ts +25 -0
  238. package/dist/runtime-rules/unsafe-array-operations.d.ts.map +1 -0
  239. package/dist/runtime-rules/unsafe-array-operations.js +347 -0
  240. package/dist/runtime-rules/unsafe-array-operations.js.map +1 -0
  241. package/dist/runtime-rules/unsafe-formatting-methods.d.ts +24 -0
  242. package/dist/runtime-rules/unsafe-formatting-methods.d.ts.map +1 -0
  243. package/dist/runtime-rules/unsafe-formatting-methods.js +277 -0
  244. package/dist/runtime-rules/unsafe-formatting-methods.js.map +1 -0
  245. package/dist/runtime-rules/unused-component-dependencies.d.ts +19 -0
  246. package/dist/runtime-rules/unused-component-dependencies.d.ts.map +1 -0
  247. package/dist/runtime-rules/unused-component-dependencies.js +90 -0
  248. package/dist/runtime-rules/unused-component-dependencies.js.map +1 -0
  249. package/dist/runtime-rules/unused-libraries.d.ts +19 -0
  250. package/dist/runtime-rules/unused-libraries.d.ts.map +1 -0
  251. package/dist/runtime-rules/unused-libraries.js +127 -0
  252. package/dist/runtime-rules/unused-libraries.js.map +1 -0
  253. package/dist/runtime-rules/use-function-declaration.d.ts +18 -0
  254. package/dist/runtime-rules/use-function-declaration.d.ts.map +1 -0
  255. package/dist/runtime-rules/use-function-declaration.js +127 -0
  256. package/dist/runtime-rules/use-function-declaration.js.map +1 -0
  257. package/dist/runtime-rules/use-unwrap-components.d.ts +19 -0
  258. package/dist/runtime-rules/use-unwrap-components.d.ts.map +1 -0
  259. package/dist/runtime-rules/use-unwrap-components.js +84 -0
  260. package/dist/runtime-rules/use-unwrap-components.js.map +1 -0
  261. package/dist/runtime-rules/useeffect-unstable-dependencies.d.ts +23 -0
  262. package/dist/runtime-rules/useeffect-unstable-dependencies.d.ts.map +1 -0
  263. package/dist/runtime-rules/useeffect-unstable-dependencies.js +215 -0
  264. package/dist/runtime-rules/useeffect-unstable-dependencies.js.map +1 -0
  265. package/dist/runtime-rules/utilities-api-validation.d.ts +24 -0
  266. package/dist/runtime-rules/utilities-api-validation.d.ts.map +1 -0
  267. package/dist/runtime-rules/utilities-api-validation.js +121 -0
  268. package/dist/runtime-rules/utilities-api-validation.js.map +1 -0
  269. package/dist/runtime-rules/utilities-no-direct-instantiation.d.ts +20 -0
  270. package/dist/runtime-rules/utilities-no-direct-instantiation.d.ts.map +1 -0
  271. package/dist/runtime-rules/utilities-no-direct-instantiation.js +58 -0
  272. package/dist/runtime-rules/utilities-no-direct-instantiation.js.map +1 -0
  273. package/dist/runtime-rules/validate-component-references.d.ts +19 -0
  274. package/dist/runtime-rules/validate-component-references.d.ts.map +1 -0
  275. package/dist/runtime-rules/validate-component-references.js +255 -0
  276. package/dist/runtime-rules/validate-component-references.js.map +1 -0
  277. package/dist/schema-validation/component-prop-rule.d.ts +131 -0
  278. package/dist/schema-validation/component-prop-rule.d.ts.map +1 -0
  279. package/dist/schema-validation/component-prop-rule.js +625 -0
  280. package/dist/schema-validation/component-prop-rule.js.map +1 -0
  281. package/dist/schema-validation/index.d.ts +26 -0
  282. package/dist/schema-validation/index.d.ts.map +1 -0
  283. package/dist/schema-validation/index.js +26 -0
  284. package/dist/schema-validation/index.js.map +1 -0
  285. package/dist/schema-validation/semantic-validators/index.d.ts +23 -0
  286. package/dist/schema-validation/semantic-validators/index.d.ts.map +1 -0
  287. package/dist/schema-validation/semantic-validators/index.js +23 -0
  288. package/dist/schema-validation/semantic-validators/index.js.map +1 -0
  289. package/dist/schema-validation/semantic-validators/required-when-validator.d.ts +43 -0
  290. package/dist/schema-validation/semantic-validators/required-when-validator.d.ts.map +1 -0
  291. package/dist/schema-validation/semantic-validators/required-when-validator.js +94 -0
  292. package/dist/schema-validation/semantic-validators/required-when-validator.js.map +1 -0
  293. package/dist/schema-validation/semantic-validators/semantic-validator-registry.d.ts +122 -0
  294. package/dist/schema-validation/semantic-validators/semantic-validator-registry.d.ts.map +1 -0
  295. package/dist/schema-validation/semantic-validators/semantic-validator-registry.js +166 -0
  296. package/dist/schema-validation/semantic-validators/semantic-validator-registry.js.map +1 -0
  297. package/dist/schema-validation/semantic-validators/semantic-validator.d.ts +260 -0
  298. package/dist/schema-validation/semantic-validators/semantic-validator.d.ts.map +1 -0
  299. package/dist/schema-validation/semantic-validators/semantic-validator.js +301 -0
  300. package/dist/schema-validation/semantic-validators/semantic-validator.js.map +1 -0
  301. package/dist/schema-validation/semantic-validators/sql-where-clause-validator.d.ts +115 -0
  302. package/dist/schema-validation/semantic-validators/sql-where-clause-validator.d.ts.map +1 -0
  303. package/dist/schema-validation/semantic-validators/sql-where-clause-validator.js +381 -0
  304. package/dist/schema-validation/semantic-validators/sql-where-clause-validator.js.map +1 -0
  305. package/dist/schema-validation/semantic-validators/subset-of-entity-fields-validator.d.ts +60 -0
  306. package/dist/schema-validation/semantic-validators/subset-of-entity-fields-validator.d.ts.map +1 -0
  307. package/dist/schema-validation/semantic-validators/subset-of-entity-fields-validator.js +195 -0
  308. package/dist/schema-validation/semantic-validators/subset-of-entity-fields-validator.js.map +1 -0
  309. package/dist/schema-validation/semantic-validators/validation-context.d.ts +335 -0
  310. package/dist/schema-validation/semantic-validators/validation-context.d.ts.map +1 -0
  311. package/dist/schema-validation/semantic-validators/validation-context.js +13 -0
  312. package/dist/schema-validation/semantic-validators/validation-context.js.map +1 -0
  313. package/dist/styles-type-analyzer.d.ts +64 -0
  314. package/dist/styles-type-analyzer.d.ts.map +1 -0
  315. package/dist/styles-type-analyzer.js +242 -0
  316. package/dist/styles-type-analyzer.js.map +1 -0
  317. package/dist/type-context.d.ts +184 -0
  318. package/dist/type-context.d.ts.map +1 -0
  319. package/dist/type-context.js +415 -0
  320. package/dist/type-context.js.map +1 -0
  321. package/dist/type-inference-engine.d.ts +181 -0
  322. package/dist/type-inference-engine.d.ts.map +1 -0
  323. package/dist/type-inference-engine.js +1151 -0
  324. package/dist/type-inference-engine.js.map +1 -0
  325. package/dist/type-rules/type-compatibility-rule.d.ts +85 -0
  326. package/dist/type-rules/type-compatibility-rule.d.ts.map +1 -0
  327. package/dist/type-rules/type-compatibility-rule.js +211 -0
  328. package/dist/type-rules/type-compatibility-rule.js.map +1 -0
  329. package/package.json +35 -7
  330. package/README.md +0 -45
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runquery-call-validation.js","sourceRoot":"","sources":["../../src/runtime-rules/runquery-call-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as t from '@babel/types';
2
+ import { BaseLintRule } from '../lint-rule.js';
3
+ import { Violation } from '../component-linter.js';
4
+ import { ComponentSpec } from '@memberjunction/interactive-component-types';
5
+ export declare class RunViewCallValidationRule extends BaseLintRule {
6
+ get Name(): string;
7
+ get AppliesTo(): 'all' | 'child' | 'root';
8
+ Test(ast: t.File, _componentName: string, componentSpec?: ComponentSpec): Violation[];
9
+ }
10
+ //# sourceMappingURL=runview-call-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runview-call-validation.d.ts","sourceRoot":"","sources":["../../src/runtime-rules/runview-call-validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AA+O5E,qBACa,yBAA0B,SAAQ,YAAY;IACzD,IAAI,IAAI,WAAwC;IAChD,IAAI,SAAS,IAAI,KAAK,GAAG,OAAO,GAAG,MAAM,CAAkB;IAE3D,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,EAAE;CAkHtF"}
@@ -0,0 +1,336 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { traverse, isNullOrUndefined, isStringLike, isNumberLike, isArrayLike } from '../lint-utils.js';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import * as t from '@babel/types';
10
+ import { BaseLintRule } from '../lint-rule.js';
11
+ /**
12
+ * Rule: runview-call-validation
13
+ *
14
+ * Consolidates all RunView/RunViews CALL SITE validation into a single traversal.
15
+ * Absorbs checks from:
16
+ * - runview-runquery-valid-properties (RunView/RunViews portions)
17
+ * - runview-entity-validation (all)
18
+ *
19
+ * Checks:
20
+ * 1. Missing first parameter
21
+ * 2. RunViews: argument must be array (not single object)
22
+ * 3. RunView: argument must be object (allow Identifier — skip validation for variables)
23
+ * 4. Missing required EntityName property
24
+ * 5. Invalid property names with specific messages
25
+ * 6. Invalid property types (EntityName must be string, ExtraFilter string, Fields array, MaxRows number, etc.)
26
+ * 7. EntityName not found in componentSpec.dataRequirements.entities (medium severity)
27
+ *
28
+ * Severity: critical/medium
29
+ * Applies to: all components
30
+ */
31
+ /** Valid properties for RunView/RunViews */
32
+ const VALID_RUNVIEW_PROPS = new Set([
33
+ 'EntityName', 'ExtraFilter', 'OrderBy', 'Fields', 'MaxRows', 'StartRow', 'ResultType',
34
+ ]);
35
+ const DEFAULT_SUGGESTION = {
36
+ text: 'Use only valid properties for RunView/RunViews and RunQuery',
37
+ example: `// ❌ WRONG - Invalid properties on RunView:
38
+ await utilities.rv.RunView({
39
+ EntityName: 'MJ: AI Prompt Runs',
40
+ Parameters: { startDate, endDate }, // INVALID!
41
+ GroupBy: 'Status' // INVALID!
42
+ });
43
+
44
+ // ✅ CORRECT - Use ExtraFilter for WHERE clauses:
45
+ await utilities.rv.RunView({
46
+ EntityName: 'MJ: AI Prompt Runs',
47
+ ExtraFilter: \`RunAt >= '\${startDate.toISOString()}' AND RunAt <= '\${endDate.toISOString()}'\`,
48
+ OrderBy: 'RunAt DESC',
49
+ Fields: ['RunAt', 'Status', 'Success']
50
+ });
51
+
52
+ // ✅ For aggregations, use RunQuery with a pre-defined query:
53
+ await utilities.rq.RunQuery({
54
+ QueryName: 'Prompt Run Summary',
55
+ Parameters: { startDate, endDate } // Parameters ARE valid for RunQuery
56
+ });
57
+
58
+ // Valid RunView properties:
59
+ // - EntityName (required)
60
+ // - ExtraFilter, OrderBy, Fields, MaxRows, StartRow, ResultType (optional)
61
+
62
+ // Valid RunQuery properties:
63
+ // - QueryName (required)
64
+ // - CategoryPath, CategoryID, Parameters (optional)`,
65
+ };
66
+ // ── Helpers for invalid-property messages ────────────────────────────
67
+ function buildInvalidPropertyMessage(methodName, propName) {
68
+ const defaultMessage = `Invalid property '${propName}' on ${methodName}. Valid properties: ${Array.from(VALID_RUNVIEW_PROPS).join(', ')}`;
69
+ const defaultFix = `Remove '${propName}' property`;
70
+ switch (propName) {
71
+ case 'Parameters':
72
+ return {
73
+ message: `${methodName} does not support 'Parameters'. Use 'ExtraFilter' for WHERE clauses.`,
74
+ fix: `Replace 'Parameters' with 'ExtraFilter' and format as SQL WHERE clause`,
75
+ };
76
+ case 'ViewID':
77
+ case 'ViewName':
78
+ return {
79
+ message: `${methodName} property '${propName}' is not allowed in components. Use 'EntityName' instead.`,
80
+ fix: `Replace '${propName}' with 'EntityName' and specify the entity name`,
81
+ };
82
+ case 'UserSearchString':
83
+ return {
84
+ message: `${methodName} property 'UserSearchString' is not allowed in components. Use 'ExtraFilter' for filtering.`,
85
+ fix: `Remove 'UserSearchString' and use 'ExtraFilter' with appropriate WHERE clause`,
86
+ };
87
+ case 'ForceAuditLog':
88
+ case 'AuditLogDescription':
89
+ return {
90
+ message: `${methodName} property '${propName}' is not allowed in components.`,
91
+ fix: `Remove '${propName}' property`,
92
+ };
93
+ case 'GroupBy':
94
+ return {
95
+ message: `${methodName} does not support 'GroupBy'. Use RunQuery with a pre-defined query for aggregations.`,
96
+ fix: `Remove 'GroupBy' and use RunQuery instead for aggregated data`,
97
+ };
98
+ case 'Having':
99
+ return {
100
+ message: `${methodName} does not support 'Having'. Use RunQuery with a pre-defined query.`,
101
+ fix: `Remove 'Having' and use RunQuery instead`,
102
+ };
103
+ default:
104
+ return { message: defaultMessage, fix: defaultFix };
105
+ }
106
+ }
107
+ // ── Property type validation ─────────────────────────────────────────
108
+ function validatePropertyType(methodName, propName, value, prop, violations) {
109
+ if (propName === 'ExtraFilter' || propName === 'OrderBy' || propName === 'EntityName') {
110
+ const allowNullUndefined = propName === 'ExtraFilter' || propName === 'OrderBy';
111
+ if (!isStringLike(value) && !(allowNullUndefined && isNullOrUndefined(value))) {
112
+ const exampleMap = {
113
+ ExtraFilter: `"Status = 'Active' AND Type = 'Customer'"`,
114
+ OrderBy: `"CreatedAt DESC"`,
115
+ EntityName: `"Products"`,
116
+ };
117
+ violations.push({
118
+ rule: 'runview-call-validation',
119
+ severity: 'critical',
120
+ line: prop.loc?.start.line || 0,
121
+ column: prop.loc?.start.column || 0,
122
+ message: `${methodName} property '${propName}' must be a string, not ${t.isObjectExpression(value) ? 'an object' : t.isArrayExpression(value) ? 'an array' : 'a non-string value'}. Example: ${propName}: ${exampleMap[propName] || '""'}`,
123
+ code: `${propName}: ${value.type === 'ObjectExpression' ? '{...}' : value.type === 'ArrayExpression' ? '[...]' : '...'}`,
124
+ suggestion: DEFAULT_SUGGESTION,
125
+ });
126
+ }
127
+ }
128
+ else if (propName === 'Fields') {
129
+ if (!isArrayLike(value) && !isStringLike(value)) {
130
+ violations.push({
131
+ rule: 'runview-call-validation',
132
+ severity: 'critical',
133
+ line: prop.loc?.start.line || 0,
134
+ column: prop.loc?.start.column || 0,
135
+ message: `${methodName} property 'Fields' must be an array of field names or a comma-separated string. Example: Fields: ['ID', 'Name', 'Status'] or Fields: 'ID, Name, Status'`,
136
+ code: `Fields: ${value.type === 'ObjectExpression' ? '{...}' : '...'}`,
137
+ suggestion: DEFAULT_SUGGESTION,
138
+ });
139
+ }
140
+ }
141
+ else if (propName === 'MaxRows' || propName === 'StartRow') {
142
+ if (!isNumberLike(value)) {
143
+ violations.push({
144
+ rule: 'runview-call-validation',
145
+ severity: 'critical',
146
+ line: prop.loc?.start.line || 0,
147
+ column: prop.loc?.start.column || 0,
148
+ message: `${methodName} property '${propName}' must be a number. Example: ${propName}: ${propName === 'MaxRows' ? '100' : '0'}`,
149
+ code: `${propName}: ${value.type === 'StringLiteral' ? '"..."' : value.type === 'ObjectExpression' ? '{...}' : '...'}`,
150
+ suggestion: DEFAULT_SUGGESTION,
151
+ });
152
+ }
153
+ }
154
+ }
155
+ // ── Entity spec validation ───────────────────────────────────────────
156
+ function validateEntityAgainstSpec(config, componentSpec, violations) {
157
+ if (!componentSpec?.dataRequirements?.entities)
158
+ return;
159
+ const specEntityNames = componentSpec.dataRequirements.entities.map((e) => e.name);
160
+ if (specEntityNames.length === 0)
161
+ return;
162
+ let entityName = null;
163
+ for (const prop of config.properties) {
164
+ if (t.isObjectProperty(prop) && t.isIdentifier(prop.key) && prop.key.name === 'EntityName' && t.isStringLiteral(prop.value)) {
165
+ entityName = prop.value.value;
166
+ break;
167
+ }
168
+ }
169
+ if (entityName && !specEntityNames.includes(entityName)) {
170
+ violations.push({
171
+ rule: 'runview-call-validation',
172
+ severity: 'medium',
173
+ line: config.loc?.start.line || 0,
174
+ column: config.loc?.start.column || 0,
175
+ message: `Entity '${entityName}' not in component spec. Available entities: ${specEntityNames.join(', ')}`,
176
+ code: `EntityName: '${specEntityNames[0] || 'EntityFromSpec'}'`,
177
+ });
178
+ }
179
+ }
180
+ // ── Single config validation ─────────────────────────────────────────
181
+ function validateRunViewConfig(config, methodName, componentSpec, violations) {
182
+ let hasEntityName = false;
183
+ for (const prop of config.properties) {
184
+ if (!t.isObjectProperty(prop) || !t.isIdentifier(prop.key))
185
+ continue;
186
+ const propName = prop.key.name;
187
+ if (propName === 'EntityName')
188
+ hasEntityName = true;
189
+ if (!VALID_RUNVIEW_PROPS.has(propName)) {
190
+ const { message } = buildInvalidPropertyMessage(methodName, propName);
191
+ violations.push({
192
+ rule: 'runview-call-validation',
193
+ severity: 'critical',
194
+ line: prop.loc?.start.line || 0,
195
+ column: prop.loc?.start.column || 0,
196
+ message,
197
+ code: `${propName}: ...`,
198
+ suggestion: DEFAULT_SUGGESTION,
199
+ });
200
+ }
201
+ else {
202
+ validatePropertyType(methodName, propName, prop.value, prop, violations);
203
+ }
204
+ }
205
+ if (!hasEntityName) {
206
+ violations.push({
207
+ rule: 'runview-call-validation',
208
+ severity: 'critical',
209
+ line: config.loc?.start.line || 0,
210
+ column: config.loc?.start.column || 0,
211
+ message: `${methodName} requires 'EntityName' property. Add EntityName to identify what data to retrieve.`,
212
+ code: `${methodName}({ ... })`,
213
+ suggestion: DEFAULT_SUGGESTION,
214
+ });
215
+ }
216
+ validateEntityAgainstSpec(config, componentSpec, violations);
217
+ }
218
+ // ── Main Rule ────────────────────────────────────────────────────────
219
+ let RunViewCallValidationRule = class RunViewCallValidationRule extends BaseLintRule {
220
+ get Name() { return 'runview-call-validation'; }
221
+ get AppliesTo() { return 'all'; }
222
+ Test(ast, _componentName, componentSpec) {
223
+ const violations = [];
224
+ traverse(ast, {
225
+ CallExpression(path) {
226
+ const callee = path.node.callee;
227
+ if (!t.isMemberExpression(callee) ||
228
+ !t.isMemberExpression(callee.object) ||
229
+ !t.isIdentifier(callee.object.object) ||
230
+ callee.object.object.name !== 'utilities' ||
231
+ !t.isIdentifier(callee.object.property) ||
232
+ callee.object.property.name !== 'rv' ||
233
+ !t.isIdentifier(callee.property)) {
234
+ return;
235
+ }
236
+ const methodName = callee.property.name;
237
+ if (methodName !== 'RunView' && methodName !== 'RunViews')
238
+ return;
239
+ // Check 1: Missing first parameter
240
+ if (!path.node.arguments[0]) {
241
+ violations.push({
242
+ rule: 'runview-call-validation',
243
+ severity: 'critical',
244
+ line: path.node.loc?.start.line || 0,
245
+ column: path.node.loc?.start.column || 0,
246
+ message: `${methodName} requires a ${methodName === 'RunViews' ? 'array of RunViewParams objects' : 'RunViewParams object'} as the first parameter.`,
247
+ code: `${methodName}()`,
248
+ suggestion: DEFAULT_SUGGESTION,
249
+ });
250
+ return;
251
+ }
252
+ let configs = [];
253
+ if (methodName === 'RunViews') {
254
+ // Check 2: RunViews must receive an array
255
+ if (t.isArrayExpression(path.node.arguments[0])) {
256
+ configs = path.node.arguments[0].elements.filter((e) => t.isObjectExpression(e));
257
+ }
258
+ else {
259
+ violations.push({
260
+ rule: 'runview-call-validation',
261
+ severity: 'critical',
262
+ line: path.node.arguments[0].loc?.start.line || 0,
263
+ column: path.node.arguments[0].loc?.start.column || 0,
264
+ message: `RunViews expects an array of RunViewParams objects, not a ${t.isObjectExpression(path.node.arguments[0]) ? 'single object' : 'non-array'}.
265
+ Use: RunViews([
266
+ {
267
+ EntityName: 'Entity1',
268
+ ExtraFilter: 'IsActive = 1',
269
+ Fields: 'ID, Name',
270
+ StartRow: 0,
271
+ MaxRows: 50
272
+ },
273
+ {
274
+ EntityName: 'Entity2',
275
+ OrderBy: 'CreatedAt DESC',
276
+ StartRow: 0,
277
+ MaxRows: 100
278
+ }
279
+ ])
280
+ Each object supports: EntityName, ExtraFilter, Fields, OrderBy, MaxRows, StartRow, ResultType`,
281
+ code: path.toString().substring(0, 100),
282
+ suggestion: DEFAULT_SUGGESTION,
283
+ });
284
+ return;
285
+ }
286
+ }
287
+ else {
288
+ // Check 3: RunView must receive an object (allow Identifier for variables)
289
+ if (t.isObjectExpression(path.node.arguments[0])) {
290
+ configs = [path.node.arguments[0]];
291
+ }
292
+ else if (t.isIdentifier(path.node.arguments[0])) {
293
+ // Variable reference — can't statically validate, skip
294
+ return;
295
+ }
296
+ else {
297
+ const argType = t.isStringLiteral(path.node.arguments[0])
298
+ ? 'string'
299
+ : t.isArrayExpression(path.node.arguments[0])
300
+ ? 'array'
301
+ : 'non-object';
302
+ violations.push({
303
+ rule: 'runview-call-validation',
304
+ severity: 'critical',
305
+ line: path.node.arguments[0].loc?.start.line || 0,
306
+ column: path.node.arguments[0].loc?.start.column || 0,
307
+ message: `RunView expects a RunViewParams object, not ${argType === 'array' ? 'an' : 'a'} ${argType}.
308
+ Use: RunView({
309
+ EntityName: 'YourEntity',
310
+ ExtraFilter: 'Status = "Active"', // Optional WHERE clause
311
+ Fields: 'ID, Name, Status', // Optional columns to return
312
+ OrderBy: 'Name ASC', // Optional sort
313
+ StartRow: 0, // Optional offset (0-based)
314
+ MaxRows: 100 // Optional limit
315
+ })
316
+ Valid properties: EntityName, ExtraFilter, Fields, OrderBy, MaxRows, StartRow, ResultType`,
317
+ code: path.toString().substring(0, 100),
318
+ suggestion: DEFAULT_SUGGESTION,
319
+ });
320
+ return;
321
+ }
322
+ }
323
+ // Validate each config object
324
+ for (const config of configs) {
325
+ validateRunViewConfig(config, methodName, componentSpec, violations);
326
+ }
327
+ },
328
+ });
329
+ return violations;
330
+ }
331
+ };
332
+ RunViewCallValidationRule = __decorate([
333
+ RegisterClass(BaseLintRule, 'runview-call-validation')
334
+ ], RunViewCallValidationRule);
335
+ export { RunViewCallValidationRule };
336
+ //# sourceMappingURL=runview-call-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runview-call-validation.js","sourceRoot":"","sources":["../../src/runtime-rules/runview-call-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import * as t from '@babel/types';
2
+ import { BaseLintRule } from '../lint-rule.js';
3
+ import { Violation } from '../component-linter.js';
4
+ /**
5
+ * Rule: saved-user-settings-pattern
6
+ *
7
+ * Checks for improper onSaveUserSettings usage. Prevents saving ephemeral UI state
8
+ * (hover, dropdown, modal, loading, typing, draft, expanded, collapsed, focused)
9
+ * to savedUserSettings. Only important user preferences should be persisted.
10
+ *
11
+ * Severity: medium (pattern issue but not breaking)
12
+ * Applies to: all components
13
+ */
14
+ export declare class SavedUserSettingsPatternRule extends BaseLintRule {
15
+ get Name(): string;
16
+ get AppliesTo(): 'all' | 'child' | 'root';
17
+ Test(ast: t.File, componentName: string): Violation[];
18
+ }
19
+ //# sourceMappingURL=saved-user-settings-pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saved-user-settings-pattern.d.ts","sourceRoot":"","sources":["../../src/runtime-rules/saved-user-settings-pattern.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;;;;;;;GASG;AACH,qBACa,4BAA6B,SAAQ,YAAY;IAC5D,IAAI,IAAI,WAA4C;IACpD,IAAI,SAAS,IAAI,KAAK,GAAG,OAAO,GAAG,MAAM,CAAkB;IAE3D,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE;CAiEtD"}
@@ -0,0 +1,90 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { traverse } from '../lint-utils.js';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import * as t from '@babel/types';
10
+ import { BaseLintRule } from '../lint-rule.js';
11
+ /**
12
+ * Rule: saved-user-settings-pattern
13
+ *
14
+ * Checks for improper onSaveUserSettings usage. Prevents saving ephemeral UI state
15
+ * (hover, dropdown, modal, loading, typing, draft, expanded, collapsed, focused)
16
+ * to savedUserSettings. Only important user preferences should be persisted.
17
+ *
18
+ * Severity: medium (pattern issue but not breaking)
19
+ * Applies to: all components
20
+ */
21
+ let SavedUserSettingsPatternRule = class SavedUserSettingsPatternRule extends BaseLintRule {
22
+ get Name() { return 'saved-user-settings-pattern'; }
23
+ get AppliesTo() { return 'all'; }
24
+ Test(ast, componentName) {
25
+ const violations = [];
26
+ // Check for improper onSaveUserSettings usage
27
+ traverse(ast, {
28
+ CallExpression(path) {
29
+ const callee = path.node.callee;
30
+ // Check for onSaveUserSettings calls
31
+ if (t.isMemberExpression(callee) && t.isIdentifier(callee.object) && callee.object.name === 'onSaveUserSettings') {
32
+ // Check if saving ephemeral state
33
+ if (path.node.arguments.length > 0) {
34
+ const arg = path.node.arguments[0];
35
+ if (t.isObjectExpression(arg)) {
36
+ for (const prop of arg.properties) {
37
+ if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
38
+ const key = prop.key.name;
39
+ const ephemeralPatterns = ['hover', 'dropdown', 'modal', 'loading', 'typing', 'draft', 'expanded', 'collapsed', 'focused'];
40
+ if (ephemeralPatterns.some((pattern) => key.toLowerCase().includes(pattern))) {
41
+ violations.push({
42
+ rule: 'saved-user-settings-pattern',
43
+ severity: 'medium', // Pattern issue but not breaking
44
+ line: prop.loc?.start.line || 0,
45
+ column: prop.loc?.start.column || 0,
46
+ message: `Saving ephemeral UI state "${key}" to savedUserSettings. Only save important user preferences.`,
47
+ suggestion: {
48
+ text: 'Only save important user preferences, not ephemeral UI state',
49
+ example: `// ✅ SAVE these (important preferences):
50
+ - Selected items/tabs: selectedCustomerId, activeTab
51
+ - Sort preferences: sortBy, sortDirection
52
+ - Filter selections: activeFilters
53
+ - View preferences: viewMode, pageSize
54
+
55
+ // ❌ DON'T SAVE these (ephemeral UI):
56
+ - Hover states: hoveredItemId
57
+ - Dropdown states: isDropdownOpen
58
+ - Text being typed: searchDraft (save on submit)
59
+ - Loading states: isLoading
60
+
61
+ // Example:
62
+ const handleHover = (id) => {
63
+ setHoveredId(id); // Just local state
64
+ };
65
+
66
+ const handleSelect = (id) => {
67
+ setSelectedId(id);
68
+ onSaveUserSettings?.({ // Save important preference
69
+ ...savedUserSettings,
70
+ selectedId: id
71
+ });
72
+ };`,
73
+ },
74
+ });
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ },
82
+ });
83
+ return violations;
84
+ }
85
+ };
86
+ SavedUserSettingsPatternRule = __decorate([
87
+ RegisterClass(BaseLintRule, 'saved-user-settings-pattern')
88
+ ], SavedUserSettingsPatternRule);
89
+ export { SavedUserSettingsPatternRule };
90
+ //# sourceMappingURL=saved-user-settings-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saved-user-settings-pattern.js","sourceRoot":"","sources":["../../src/runtime-rules/saved-user-settings-pattern.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAY,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C;;;;;;;;;GASG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,YAAY;IAC5D,IAAI,IAAI,KAAK,OAAO,6BAA6B,CAAC,CAAC,CAAC;IACpD,IAAI,SAAS,KAA+B,OAAO,KAAK,CAAC,CAAC,CAAC;IAE3D,IAAI,CAAC,GAAW,EAAE,aAAqB;QACrC,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,8CAA8C;QAC9C,QAAQ,CAAC,GAAG,EAAE;YACZ,cAAc,CAAC,IAAgC;gBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEhC,qCAAqC;gBACrC,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBACjH,kCAAkC;oBAClC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gCAClC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oCACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oCAC1B,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oCAE3H,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;wCAC7E,UAAU,CAAC,IAAI,CAAC;4CACd,IAAI,EAAE,6BAA6B;4CACnC,QAAQ,EAAE,QAAQ,EAAE,iCAAiC;4CACrD,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;4CAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;4CACnC,OAAO,EAAE,8BAA8B,GAAG,+DAA+D;4CACzG,UAAU,EAAE;gDACV,IAAI,EAAE,8DAA8D;gDACpE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;GAuB9B;6CACoB;yCACF,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IAClB,CAAC;CACJ,CAAA;AArEY,4BAA4B;IADxC,aAAa,CAAC,YAAY,EAAE,6BAA6B,CAAC;GAC9C,4BAA4B,CAqExC"}
@@ -0,0 +1,9 @@
1
+ import * as t from '@babel/types';
2
+ import { BaseLintRule } from '../lint-rule.js';
3
+ import { Violation } from '../component-linter.js';
4
+ export declare class SearchAvailabilityCheckRule extends BaseLintRule {
5
+ get Name(): string;
6
+ get AppliesTo(): 'all' | 'child' | 'root';
7
+ Test(ast: t.File): Violation[];
8
+ }
9
+ //# sourceMappingURL=search-availability-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-availability-check.d.ts","sourceRoot":"","sources":["../../src/runtime-rules/search-availability-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAmLhD,qBACa,2BAA4B,SAAQ,YAAY;IAC3D,IAAI,IAAI,WAA0C;IAClD,IAAI,SAAS,IAAI,KAAK,GAAG,OAAO,GAAG,MAAM,CAAkB;IAE3D,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE;CAmD/B"}