@nordcraft/search 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/README.md +5 -0
  2. package/dist/problems.worker.js +181 -0
  3. package/dist/problems.worker.js.map +1 -0
  4. package/dist/rules/actions/createActionNameRule.js +22 -0
  5. package/dist/rules/actions/createActionNameRule.js.map +1 -0
  6. package/dist/rules/actions/createActionNameRule.test.js +97 -0
  7. package/dist/rules/actions/createActionNameRule.test.js.map +1 -0
  8. package/dist/rules/actions/legacyActionRule.js +21 -0
  9. package/dist/rules/actions/legacyActionRule.js.map +1 -0
  10. package/dist/rules/actions/legacyActionRule.test.js +87 -0
  11. package/dist/rules/actions/legacyActionRule.test.js.map +1 -0
  12. package/dist/rules/actions/noReferenceProjectActionRule.js +40 -0
  13. package/dist/rules/actions/noReferenceProjectActionRule.js.map +1 -0
  14. package/dist/rules/actions/noReferenceProjectActionRule.test.js +119 -0
  15. package/dist/rules/actions/noReferenceProjectActionRule.test.js.map +1 -0
  16. package/dist/rules/actions/unknownProjectActionRule.js +18 -0
  17. package/dist/rules/actions/unknownProjectActionRule.js.map +1 -0
  18. package/dist/rules/actions/unknownProjectActionRule.test.js +111 -0
  19. package/dist/rules/actions/unknownProjectActionRule.test.js.map +1 -0
  20. package/dist/rules/apis/invalidApiParserModeRule.js +22 -0
  21. package/dist/rules/apis/invalidApiParserModeRule.js.map +1 -0
  22. package/dist/rules/apis/invalidApiParserModeRule.test.js +82 -0
  23. package/dist/rules/apis/invalidApiParserModeRule.test.js.map +1 -0
  24. package/dist/rules/apis/legacyApiRule.js +13 -0
  25. package/dist/rules/apis/legacyApiRule.js.map +1 -0
  26. package/dist/rules/apis/legacyApiRule.test.js +89 -0
  27. package/dist/rules/apis/legacyApiRule.test.js.map +1 -0
  28. package/dist/rules/apis/noReferenceApiInputRule.js +38 -0
  29. package/dist/rules/apis/noReferenceApiInputRule.js.map +1 -0
  30. package/dist/rules/apis/noReferenceApiInputRule.test.js +146 -0
  31. package/dist/rules/apis/noReferenceApiInputRule.test.js.map +1 -0
  32. package/dist/rules/apis/noReferenceApiRule.js +35 -0
  33. package/dist/rules/apis/noReferenceApiRule.js.map +1 -0
  34. package/dist/rules/apis/noReferenceApiRule.test.js +151 -0
  35. package/dist/rules/apis/noReferenceApiRule.test.js.map +1 -0
  36. package/dist/rules/apis/unknownApiInputRule.js +23 -0
  37. package/dist/rules/apis/unknownApiInputRule.js.map +1 -0
  38. package/dist/rules/apis/unknownApiInputRule.test.js +78 -0
  39. package/dist/rules/apis/unknownApiInputRule.test.js.map +1 -0
  40. package/dist/rules/apis/unknownApiRule.js +28 -0
  41. package/dist/rules/apis/unknownApiRule.js.map +1 -0
  42. package/dist/rules/apis/unknownApiRule.test.js +148 -0
  43. package/dist/rules/apis/unknownApiRule.test.js.map +1 -0
  44. package/dist/rules/attributes/noReferenceAttributeRule.js +29 -0
  45. package/dist/rules/attributes/noReferenceAttributeRule.js.map +1 -0
  46. package/dist/rules/attributes/noReferenceAttributeRule.test.js +127 -0
  47. package/dist/rules/attributes/noReferenceAttributeRule.test.js.map +1 -0
  48. package/dist/rules/attributes/unknownAttributeRule.js +19 -0
  49. package/dist/rules/attributes/unknownAttributeRule.js.map +1 -0
  50. package/dist/rules/attributes/unknownAttributeRule.test.js +85 -0
  51. package/dist/rules/attributes/unknownAttributeRule.test.js.map +1 -0
  52. package/dist/rules/components/noReferenceComponentRule.js +27 -0
  53. package/dist/rules/components/noReferenceComponentRule.js.map +1 -0
  54. package/dist/rules/components/noReferenceComponentRule.test.js +130 -0
  55. package/dist/rules/components/noReferenceComponentRule.test.js.map +1 -0
  56. package/dist/rules/components/unknownComponentRule.js +19 -0
  57. package/dist/rules/components/unknownComponentRule.js.map +1 -0
  58. package/dist/rules/components/unknownComponentRule.test.js +107 -0
  59. package/dist/rules/components/unknownComponentRule.test.js.map +1 -0
  60. package/dist/rules/context/noContextConsumersRule.js +29 -0
  61. package/dist/rules/context/noContextConsumersRule.js.map +1 -0
  62. package/dist/rules/context/noContextConsumersRule.test.js +224 -0
  63. package/dist/rules/context/noContextConsumersRule.test.js.map +1 -0
  64. package/dist/rules/context/unknownContextFormulaRule.js +22 -0
  65. package/dist/rules/context/unknownContextFormulaRule.js.map +1 -0
  66. package/dist/rules/context/unknownContextFormulaRule.test.js +86 -0
  67. package/dist/rules/context/unknownContextFormulaRule.test.js.map +1 -0
  68. package/dist/rules/context/unknownContextProviderFormulaRule.js +28 -0
  69. package/dist/rules/context/unknownContextProviderFormulaRule.js.map +1 -0
  70. package/dist/rules/context/unknownContextProviderFormulaRule.test.js +165 -0
  71. package/dist/rules/context/unknownContextProviderFormulaRule.test.js.map +1 -0
  72. package/dist/rules/context/unknownContextProviderRule.js +27 -0
  73. package/dist/rules/context/unknownContextProviderRule.js.map +1 -0
  74. package/dist/rules/context/unknownContextProviderRule.test.js +72 -0
  75. package/dist/rules/context/unknownContextProviderRule.test.js.map +1 -0
  76. package/dist/rules/dom/createRequiredDirectChildRule.js +30 -0
  77. package/dist/rules/dom/createRequiredDirectChildRule.js.map +1 -0
  78. package/dist/rules/dom/createRequiredDirectChildRule.test.js +113 -0
  79. package/dist/rules/dom/createRequiredDirectChildRule.test.js.map +1 -0
  80. package/dist/rules/dom/createRequiredDirectParentRule.js +28 -0
  81. package/dist/rules/dom/createRequiredDirectParentRule.js.map +1 -0
  82. package/dist/rules/dom/createRequiredDirectParentRule.test.js +115 -0
  83. package/dist/rules/dom/createRequiredDirectParentRule.test.js.map +1 -0
  84. package/dist/rules/dom/createRequiredElementAttributeRule.js +17 -0
  85. package/dist/rules/dom/createRequiredElementAttributeRule.js.map +1 -0
  86. package/dist/rules/dom/createRequiredElementAttributeRule.test.js +36 -0
  87. package/dist/rules/dom/createRequiredElementAttributeRule.test.js.map +1 -0
  88. package/dist/rules/dom/createRequiredMetaTagRule.js +23 -0
  89. package/dist/rules/dom/createRequiredMetaTagRule.js.map +1 -0
  90. package/dist/rules/dom/createRequiredMetaTagRule.test.js +70 -0
  91. package/dist/rules/dom/createRequiredMetaTagRule.test.js.map +1 -0
  92. package/dist/rules/dom/imageWithoutDimensionRule.js +40 -0
  93. package/dist/rules/dom/imageWithoutDimensionRule.js.map +1 -0
  94. package/dist/rules/dom/imageWithoutDimensionRule.test.js +146 -0
  95. package/dist/rules/dom/imageWithoutDimensionRule.test.js.map +1 -0
  96. package/dist/rules/dom/nonEmptyVoidElementRule.js +20 -0
  97. package/dist/rules/dom/nonEmptyVoidElementRule.js.map +1 -0
  98. package/dist/rules/dom/nonEmptyVoidElementRule.test.js +75 -0
  99. package/dist/rules/dom/nonEmptyVoidElementRule.test.js.map +1 -0
  100. package/dist/rules/duplicateRouteRule.js +65 -0
  101. package/dist/rules/duplicateRouteRule.js.map +1 -0
  102. package/dist/rules/duplicateRouteRule.test.js +200 -0
  103. package/dist/rules/duplicateRouteRule.test.js.map +1 -0
  104. package/dist/rules/events/duplicateEventTriggerRule.js +21 -0
  105. package/dist/rules/events/duplicateEventTriggerRule.js.map +1 -0
  106. package/dist/rules/events/duplicateEventTriggerRule.test.js +91 -0
  107. package/dist/rules/events/duplicateEventTriggerRule.test.js.map +1 -0
  108. package/dist/rules/events/noReferenceEventRule.js +39 -0
  109. package/dist/rules/events/noReferenceEventRule.js.map +1 -0
  110. package/dist/rules/events/noReferenceEventRule.test.js +141 -0
  111. package/dist/rules/events/noReferenceEventRule.test.js.map +1 -0
  112. package/dist/rules/events/unknownEventRule.js +24 -0
  113. package/dist/rules/events/unknownEventRule.js.map +1 -0
  114. package/dist/rules/events/unknownEventRule.test.js +230 -0
  115. package/dist/rules/events/unknownEventRule.test.js.map +1 -0
  116. package/dist/rules/events/unknownTriggerEventRule.js +16 -0
  117. package/dist/rules/events/unknownTriggerEventRule.js.map +1 -0
  118. package/dist/rules/events/unknownTriggerEventRule.test.js +110 -0
  119. package/dist/rules/events/unknownTriggerEventRule.test.js.map +1 -0
  120. package/dist/rules/formulas/legacyFormulaRule.js +142 -0
  121. package/dist/rules/formulas/legacyFormulaRule.js.map +1 -0
  122. package/dist/rules/formulas/legacyFormulaRule.test.js +310 -0
  123. package/dist/rules/formulas/legacyFormulaRule.test.js.map +1 -0
  124. package/dist/rules/formulas/noReferenceComponentFormulaRule.js +57 -0
  125. package/dist/rules/formulas/noReferenceComponentFormulaRule.js.map +1 -0
  126. package/dist/rules/formulas/noReferenceComponentFormulaRule.test.js +322 -0
  127. package/dist/rules/formulas/noReferenceComponentFormulaRule.test.js.map +1 -0
  128. package/dist/rules/formulas/noReferenceProjectFormulaRule.js +99 -0
  129. package/dist/rules/formulas/noReferenceProjectFormulaRule.js.map +1 -0
  130. package/dist/rules/formulas/noReferenceProjectFormulaRule.test.js +269 -0
  131. package/dist/rules/formulas/noReferenceProjectFormulaRule.test.js.map +1 -0
  132. package/dist/rules/formulas/unknownComponentFormulaInputRule.js +32 -0
  133. package/dist/rules/formulas/unknownComponentFormulaInputRule.js.map +1 -0
  134. package/dist/rules/formulas/unknownComponentFormulaInputRule.test.js +131 -0
  135. package/dist/rules/formulas/unknownComponentFormulaInputRule.test.js.map +1 -0
  136. package/dist/rules/formulas/unknownFormulaRule.js +17 -0
  137. package/dist/rules/formulas/unknownFormulaRule.js.map +1 -0
  138. package/dist/rules/formulas/unknownFormulaRule.test.js +91 -0
  139. package/dist/rules/formulas/unknownFormulaRule.test.js.map +1 -0
  140. package/dist/rules/formulas/unknownProjectFormulaInputRule.js +26 -0
  141. package/dist/rules/formulas/unknownProjectFormulaInputRule.js.map +1 -0
  142. package/dist/rules/formulas/unknownProjectFormulaInputRule.test.js +102 -0
  143. package/dist/rules/formulas/unknownProjectFormulaInputRule.test.js.map +1 -0
  144. package/dist/rules/formulas/unknownProjectFormulaRule.js +18 -0
  145. package/dist/rules/formulas/unknownProjectFormulaRule.js.map +1 -0
  146. package/dist/rules/formulas/unknownProjectFormulaRule.test.js +116 -0
  147. package/dist/rules/formulas/unknownProjectFormulaRule.test.js.map +1 -0
  148. package/dist/rules/formulas/unknownRepeatIndexFormulaRule.js +38 -0
  149. package/dist/rules/formulas/unknownRepeatIndexFormulaRule.js.map +1 -0
  150. package/dist/rules/formulas/unknownRepeatIndexFormulaRule.test.js +132 -0
  151. package/dist/rules/formulas/unknownRepeatIndexFormulaRule.test.js.map +1 -0
  152. package/dist/rules/formulas/unknownRepeatItemFormulaRule.js +38 -0
  153. package/dist/rules/formulas/unknownRepeatItemFormulaRule.js.map +1 -0
  154. package/dist/rules/formulas/unknownRepeatItemFormulaRule.test.js +132 -0
  155. package/dist/rules/formulas/unknownRepeatItemFormulaRule.test.js.map +1 -0
  156. package/dist/rules/logic/noUnnecessaryConditionFalsy.js +14 -0
  157. package/dist/rules/logic/noUnnecessaryConditionFalsy.js.map +1 -0
  158. package/dist/rules/logic/noUnnecessaryConditionFalsy.test.js +94 -0
  159. package/dist/rules/logic/noUnnecessaryConditionFalsy.test.js.map +1 -0
  160. package/dist/rules/logic/noUnnecessaryConditionTruthy.js +18 -0
  161. package/dist/rules/logic/noUnnecessaryConditionTruthy.js.map +1 -0
  162. package/dist/rules/logic/noUnnecessaryConditionTruthy.test.js +118 -0
  163. package/dist/rules/logic/noUnnecessaryConditionTruthy.test.js.map +1 -0
  164. package/dist/rules/requireExtensionRule.js +16 -0
  165. package/dist/rules/requireExtensionRule.js.map +1 -0
  166. package/dist/rules/requireExtensionRule.test.js +67 -0
  167. package/dist/rules/requireExtensionRule.test.js.map +1 -0
  168. package/dist/rules/slots/unknownClassnameRule.js +15 -0
  169. package/dist/rules/slots/unknownClassnameRule.js.map +1 -0
  170. package/dist/rules/slots/unknownClassnameRule.test.js +86 -0
  171. package/dist/rules/slots/unknownClassnameRule.test.js.map +1 -0
  172. package/dist/rules/slots/unknownComponentSlotRule.js +42 -0
  173. package/dist/rules/slots/unknownComponentSlotRule.js.map +1 -0
  174. package/dist/rules/slots/unknownComponentSlotRule.test.js +162 -0
  175. package/dist/rules/slots/unknownComponentSlotRule.test.js.map +1 -0
  176. package/dist/rules/unknownCookieRule.js +27 -0
  177. package/dist/rules/unknownCookieRule.js.map +1 -0
  178. package/dist/rules/unknownCookieRule.test.js +105 -0
  179. package/dist/rules/unknownCookieRule.test.js.map +1 -0
  180. package/dist/rules/urlParameters/duplicateUrlParameterRule.js +27 -0
  181. package/dist/rules/urlParameters/duplicateUrlParameterRule.js.map +1 -0
  182. package/dist/rules/urlParameters/duplicateUrlParameterRule.test.js +126 -0
  183. package/dist/rules/urlParameters/duplicateUrlParameterRule.test.js.map +1 -0
  184. package/dist/rules/urlParameters/unknownSetUrlParameterRule.js +23 -0
  185. package/dist/rules/urlParameters/unknownSetUrlParameterRule.js.map +1 -0
  186. package/dist/rules/urlParameters/unknownSetUrlParameterRule.test.js +151 -0
  187. package/dist/rules/urlParameters/unknownSetUrlParameterRule.test.js.map +1 -0
  188. package/dist/rules/urlParameters/unknownUrlParameterRule.js +20 -0
  189. package/dist/rules/urlParameters/unknownUrlParameterRule.js.map +1 -0
  190. package/dist/rules/urlParameters/unknownUrlParameterRule.test.js +92 -0
  191. package/dist/rules/urlParameters/unknownUrlParameterRule.test.js.map +1 -0
  192. package/dist/rules/variables/noReferenceVariableRule.js +22 -0
  193. package/dist/rules/variables/noReferenceVariableRule.js.map +1 -0
  194. package/dist/rules/variables/noReferenceVariableRule.test.js +87 -0
  195. package/dist/rules/variables/noReferenceVariableRule.test.js.map +1 -0
  196. package/dist/rules/variables/unknownVariableRule.js +19 -0
  197. package/dist/rules/variables/unknownVariableRule.js.map +1 -0
  198. package/dist/rules/variables/unknownVariableRule.test.js +84 -0
  199. package/dist/rules/variables/unknownVariableRule.test.js.map +1 -0
  200. package/dist/rules/variables/unknownVariableSetterRule.js +16 -0
  201. package/dist/rules/variables/unknownVariableSetterRule.js.map +1 -0
  202. package/dist/rules/variables/unknownVariableSetterRule.test.js +98 -0
  203. package/dist/rules/variables/unknownVariableSetterRule.test.js.map +1 -0
  204. package/dist/rules/workflows/duplicateWorkflowParameterRule.js +20 -0
  205. package/dist/rules/workflows/duplicateWorkflowParameterRule.js.map +1 -0
  206. package/dist/rules/workflows/duplicateWorkflowParameterRule.test.js +99 -0
  207. package/dist/rules/workflows/duplicateWorkflowParameterRule.test.js.map +1 -0
  208. package/dist/rules/workflows/noReferenceComponentWorkflowRule.js +57 -0
  209. package/dist/rules/workflows/noReferenceComponentWorkflowRule.js.map +1 -0
  210. package/dist/rules/workflows/noReferenceComponentWorkflowRule.test.js +261 -0
  211. package/dist/rules/workflows/noReferenceComponentWorkflowRule.test.js.map +1 -0
  212. package/dist/rules/workflows/unknownContextProviderWorkflowRule.js +28 -0
  213. package/dist/rules/workflows/unknownContextProviderWorkflowRule.js.map +1 -0
  214. package/dist/rules/workflows/unknownContextProviderWorkflowRule.test.js +137 -0
  215. package/dist/rules/workflows/unknownContextProviderWorkflowRule.test.js.map +1 -0
  216. package/dist/rules/workflows/unknownContextWorkflowRule.js +22 -0
  217. package/dist/rules/workflows/unknownContextWorkflowRule.js.map +1 -0
  218. package/dist/rules/workflows/unknownContextWorkflowRule.test.js +85 -0
  219. package/dist/rules/workflows/unknownContextWorkflowRule.test.js.map +1 -0
  220. package/dist/rules/workflows/unknownTriggerWorkflowParameterRule.js +43 -0
  221. package/dist/rules/workflows/unknownTriggerWorkflowParameterRule.js.map +1 -0
  222. package/dist/rules/workflows/unknownTriggerWorkflowParameterRule.test.js +466 -0
  223. package/dist/rules/workflows/unknownTriggerWorkflowParameterRule.test.js.map +1 -0
  224. package/dist/rules/workflows/unknownTriggerWorkflowRule.js +18 -0
  225. package/dist/rules/workflows/unknownTriggerWorkflowRule.js.map +1 -0
  226. package/dist/rules/workflows/unknownTriggerWorkflowRule.test.js +98 -0
  227. package/dist/rules/workflows/unknownTriggerWorkflowRule.test.js.map +1 -0
  228. package/dist/rules/workflows/unknownWorkflowParameterRule.js +31 -0
  229. package/dist/rules/workflows/unknownWorkflowParameterRule.js.map +1 -0
  230. package/dist/rules/workflows/unknownWorkflowParameterRule.test.js +109 -0
  231. package/dist/rules/workflows/unknownWorkflowParameterRule.test.js.map +1 -0
  232. package/dist/search.worker.js +10 -0
  233. package/dist/search.worker.js.map +1 -0
  234. package/dist/searchProject.js +368 -0
  235. package/dist/searchProject.js.map +1 -0
  236. package/dist/util/helpers.js +34 -0
  237. package/dist/util/helpers.js.map +1 -0
  238. package/package.json +21 -0
  239. package/src/problems.worker.ts +225 -0
  240. package/src/rules/actions/createActionNameRule.test.ts +100 -0
  241. package/src/rules/actions/createActionNameRule.ts +38 -0
  242. package/src/rules/actions/legacyActionRule.test.ts +91 -0
  243. package/src/rules/actions/legacyActionRule.ts +26 -0
  244. package/src/rules/actions/noReferenceProjectActionRule.test.ts +130 -0
  245. package/src/rules/actions/noReferenceProjectActionRule.ts +47 -0
  246. package/src/rules/actions/unknownProjectActionRule.test.ts +117 -0
  247. package/src/rules/actions/unknownProjectActionRule.ts +23 -0
  248. package/src/rules/apis/invalidApiParserModeRule.test.ts +89 -0
  249. package/src/rules/apis/invalidApiParserModeRule.ts +26 -0
  250. package/src/rules/apis/legacyApiRule.test.ts +96 -0
  251. package/src/rules/apis/legacyApiRule.ts +16 -0
  252. package/src/rules/apis/noReferenceApiInputRule.test.ts +159 -0
  253. package/src/rules/apis/noReferenceApiInputRule.ts +42 -0
  254. package/src/rules/apis/noReferenceApiRule.test.ts +164 -0
  255. package/src/rules/apis/noReferenceApiRule.ts +42 -0
  256. package/src/rules/apis/unknownApiInputRule.test.ts +85 -0
  257. package/src/rules/apis/unknownApiInputRule.ts +33 -0
  258. package/src/rules/apis/unknownApiRule.test.ts +159 -0
  259. package/src/rules/apis/unknownApiRule.ts +31 -0
  260. package/src/rules/attributes/noReferenceAttributeRule.test.ts +138 -0
  261. package/src/rules/attributes/noReferenceAttributeRule.ts +32 -0
  262. package/src/rules/attributes/unknownAttributeRule.test.ts +92 -0
  263. package/src/rules/attributes/unknownAttributeRule.ts +25 -0
  264. package/src/rules/components/noReferenceComponentRule.test.ts +140 -0
  265. package/src/rules/components/noReferenceComponentRule.ts +37 -0
  266. package/src/rules/components/unknownComponentRule.test.ts +114 -0
  267. package/src/rules/components/unknownComponentRule.ts +24 -0
  268. package/src/rules/context/noContextConsumersRule.test.ts +239 -0
  269. package/src/rules/context/noContextConsumersRule.ts +39 -0
  270. package/src/rules/context/unknownContextFormulaRule.test.ts +93 -0
  271. package/src/rules/context/unknownContextFormulaRule.ts +30 -0
  272. package/src/rules/context/unknownContextProviderFormulaRule.test.ts +174 -0
  273. package/src/rules/context/unknownContextProviderFormulaRule.ts +35 -0
  274. package/src/rules/context/unknownContextProviderRule.test.ts +79 -0
  275. package/src/rules/context/unknownContextProviderRule.ts +30 -0
  276. package/src/rules/dom/createRequiredDirectChildRule.test.ts +119 -0
  277. package/src/rules/dom/createRequiredDirectChildRule.ts +43 -0
  278. package/src/rules/dom/createRequiredDirectParentRule.test.ts +124 -0
  279. package/src/rules/dom/createRequiredDirectParentRule.ts +41 -0
  280. package/src/rules/dom/createRequiredElementAttributeRule.test.ts +39 -0
  281. package/src/rules/dom/createRequiredElementAttributeRule.ts +27 -0
  282. package/src/rules/dom/createRequiredMetaTagRule.test.ts +76 -0
  283. package/src/rules/dom/createRequiredMetaTagRule.ts +33 -0
  284. package/src/rules/dom/imageWithoutDimensionRule.test.ts +161 -0
  285. package/src/rules/dom/imageWithoutDimensionRule.ts +50 -0
  286. package/src/rules/dom/nonEmptyVoidElementRule.test.ts +82 -0
  287. package/src/rules/dom/nonEmptyVoidElementRule.ts +23 -0
  288. package/src/rules/duplicateRouteRule.test.ts +209 -0
  289. package/src/rules/duplicateRouteRule.ts +83 -0
  290. package/src/rules/events/duplicateEventTriggerRule.test.ts +97 -0
  291. package/src/rules/events/duplicateEventTriggerRule.ts +23 -0
  292. package/src/rules/events/noReferenceEventRule.test.ts +147 -0
  293. package/src/rules/events/noReferenceEventRule.ts +46 -0
  294. package/src/rules/events/unknownEventRule.test.ts +237 -0
  295. package/src/rules/events/unknownEventRule.ts +32 -0
  296. package/src/rules/events/unknownTriggerEventRule.test.ts +117 -0
  297. package/src/rules/events/unknownTriggerEventRule.ts +20 -0
  298. package/src/rules/formulas/legacyFormulaRule.test.ts +329 -0
  299. package/src/rules/formulas/legacyFormulaRule.ts +158 -0
  300. package/src/rules/formulas/noReferenceComponentFormulaRule.test.ts +343 -0
  301. package/src/rules/formulas/noReferenceComponentFormulaRule.ts +72 -0
  302. package/src/rules/formulas/noReferenceProjectFormulaRule.test.ts +290 -0
  303. package/src/rules/formulas/noReferenceProjectFormulaRule.ts +120 -0
  304. package/src/rules/formulas/unknownComponentFormulaInputRule.test.ts +140 -0
  305. package/src/rules/formulas/unknownComponentFormulaInputRule.ts +38 -0
  306. package/src/rules/formulas/unknownFormulaRule.test.ts +98 -0
  307. package/src/rules/formulas/unknownFormulaRule.ts +21 -0
  308. package/src/rules/formulas/unknownProjectFormulaInputRule.test.ts +111 -0
  309. package/src/rules/formulas/unknownProjectFormulaInputRule.ts +32 -0
  310. package/src/rules/formulas/unknownProjectFormulaRule.test.ts +125 -0
  311. package/src/rules/formulas/unknownProjectFormulaRule.ts +23 -0
  312. package/src/rules/formulas/unknownRepeatIndexFormulaRule.test.ts +138 -0
  313. package/src/rules/formulas/unknownRepeatIndexFormulaRule.ts +46 -0
  314. package/src/rules/formulas/unknownRepeatItemFormulaRule.test.ts +138 -0
  315. package/src/rules/formulas/unknownRepeatItemFormulaRule.ts +46 -0
  316. package/src/rules/logic/noUnnecessaryConditionFalsy.test.ts +101 -0
  317. package/src/rules/logic/noUnnecessaryConditionFalsy.ts +21 -0
  318. package/src/rules/logic/noUnnecessaryConditionTruthy.test.ts +125 -0
  319. package/src/rules/logic/noUnnecessaryConditionTruthy.ts +25 -0
  320. package/src/rules/requireExtensionRule.test.ts +73 -0
  321. package/src/rules/requireExtensionRule.ts +21 -0
  322. package/src/rules/slots/unknownClassnameRule.test.ts +93 -0
  323. package/src/rules/slots/unknownClassnameRule.ts +20 -0
  324. package/src/rules/slots/unknownComponentSlotRule.test.ts +169 -0
  325. package/src/rules/slots/unknownComponentSlotRule.ts +50 -0
  326. package/src/rules/unknownCookieRule.test.ts +111 -0
  327. package/src/rules/unknownCookieRule.ts +34 -0
  328. package/src/rules/urlParameters/duplicateUrlParameterRule.test.ts +134 -0
  329. package/src/rules/urlParameters/duplicateUrlParameterRule.ts +30 -0
  330. package/src/rules/urlParameters/unknownSetUrlParameterRule.test.ts +162 -0
  331. package/src/rules/urlParameters/unknownSetUrlParameterRule.ts +34 -0
  332. package/src/rules/urlParameters/unknownUrlParameterRule.test.ts +99 -0
  333. package/src/rules/urlParameters/unknownUrlParameterRule.ts +28 -0
  334. package/src/rules/variables/noReferenceVariableRule.test.ts +94 -0
  335. package/src/rules/variables/noReferenceVariableRule.ts +36 -0
  336. package/src/rules/variables/unknownVariableRule.test.ts +91 -0
  337. package/src/rules/variables/unknownVariableRule.ts +25 -0
  338. package/src/rules/variables/unknownVariableSetterRule.test.ts +105 -0
  339. package/src/rules/variables/unknownVariableSetterRule.ts +20 -0
  340. package/src/rules/workflows/duplicateWorkflowParameterRule.test.ts +105 -0
  341. package/src/rules/workflows/duplicateWorkflowParameterRule.ts +23 -0
  342. package/src/rules/workflows/noReferenceComponentWorkflowRule.test.ts +279 -0
  343. package/src/rules/workflows/noReferenceComponentWorkflowRule.ts +77 -0
  344. package/src/rules/workflows/unknownContextProviderWorkflowRule.test.ts +146 -0
  345. package/src/rules/workflows/unknownContextProviderWorkflowRule.ts +35 -0
  346. package/src/rules/workflows/unknownContextWorkflowRule.test.ts +92 -0
  347. package/src/rules/workflows/unknownContextWorkflowRule.ts +30 -0
  348. package/src/rules/workflows/unknownTriggerWorkflowParameterRule.test.ts +484 -0
  349. package/src/rules/workflows/unknownTriggerWorkflowParameterRule.ts +54 -0
  350. package/src/rules/workflows/unknownTriggerWorkflowRule.test.ts +104 -0
  351. package/src/rules/workflows/unknownTriggerWorkflowRule.ts +22 -0
  352. package/src/rules/workflows/unknownWorkflowParameterRule.test.ts +115 -0
  353. package/src/rules/workflows/unknownWorkflowParameterRule.ts +38 -0
  354. package/src/search.worker.ts +49 -0
  355. package/src/searchProject.ts +484 -0
  356. package/src/types.d.ts +312 -0
  357. package/src/util/helpers.ts +44 -0
@@ -0,0 +1,31 @@
1
+ export const unknownWorkflowParameterRule = {
2
+ code: 'unknown workflow parameter',
3
+ level: 'error',
4
+ category: 'Unknown Reference',
5
+ visit: (report, args) => {
6
+ const { path, value, nodeType } = args;
7
+ if (nodeType !== 'formula' ||
8
+ value.type !== 'path' ||
9
+ // We want a path that looks like ['components', 'componentName', 'workflows', 'workflowName', ...]
10
+ path.length < 4 ||
11
+ path[2] !== 'workflows' ||
12
+ // The path formula would usually look like ['Parameters', 'parameterName']
13
+ value.path[0] !== 'Parameters' ||
14
+ value.path.length < 2) {
15
+ return;
16
+ }
17
+ const component = args.component;
18
+ if (!component) {
19
+ return;
20
+ }
21
+ const [_components, _componentName, _workflows, workflowName] = path;
22
+ const [_Parameters, parameterName] = value.path;
23
+ const workflowParameters = new Set(Object.values(component.workflows?.[workflowName]?.parameters ?? {}).map((p) => p.name));
24
+ if (!workflowParameters.has(parameterName)) {
25
+ report(path, {
26
+ parameter: parameterName,
27
+ });
28
+ }
29
+ },
30
+ };
31
+ //# sourceMappingURL=unknownWorkflowParameterRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknownWorkflowParameterRule.js","sourceRoot":"","sources":["../../../src/rules/workflows/unknownWorkflowParameterRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GAAgC;IACvE,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACtC,IACE,QAAQ,KAAK,SAAS;YACtB,KAAK,CAAC,IAAI,KAAK,MAAM;YACrB,mGAAmG;YACnG,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;YACvB,2EAA2E;YAC3E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;YAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;QACpE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;QAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CACtE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,CACF,CAAA;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,EAAE;gBACX,SAAS,EAAE,aAAa;aACzB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,109 @@
1
+ import { searchProject } from '../../searchProject';
2
+ import { unknownWorkflowParameterRule } from './unknownWorkflowParameterRule';
3
+ describe('unknownWorkflowParameterRule', () => {
4
+ test('should detect unknown workflow parameters', () => {
5
+ const problems = Array.from(searchProject({
6
+ files: {
7
+ components: {
8
+ myComponent: {
9
+ name: 'myComponent',
10
+ nodes: {},
11
+ formulas: {},
12
+ apis: {},
13
+ attributes: {},
14
+ variables: {},
15
+ workflows: {
16
+ ['my-workflow']: {
17
+ name: 'my-workflow',
18
+ parameters: [
19
+ {
20
+ name: 'parameter',
21
+ testValue: 4,
22
+ },
23
+ ],
24
+ actions: [
25
+ {
26
+ name: '@toddle/logToConsole',
27
+ label: 'Log to console',
28
+ arguments: [
29
+ {
30
+ name: 'Label',
31
+ formula: { type: 'value', value: 'first p' },
32
+ },
33
+ {
34
+ name: 'Data',
35
+ formula: {
36
+ path: ['Parameters', 'unknownParameter'],
37
+ type: 'path',
38
+ },
39
+ },
40
+ ],
41
+ },
42
+ ],
43
+ '@toddle/metadata': {
44
+ comments: null,
45
+ },
46
+ },
47
+ },
48
+ },
49
+ },
50
+ },
51
+ rules: [unknownWorkflowParameterRule],
52
+ }));
53
+ expect(problems).toHaveLength(1);
54
+ expect(problems[0].code).toBe('unknown workflow parameter');
55
+ expect(problems[0].details).toEqual({ parameter: 'unknownParameter' });
56
+ });
57
+ test('should not detect known workflow parameters', () => {
58
+ const problems = Array.from(searchProject({
59
+ files: {
60
+ components: {
61
+ myComponent: {
62
+ name: 'myComponent',
63
+ nodes: {},
64
+ formulas: {},
65
+ apis: {},
66
+ attributes: {},
67
+ variables: {},
68
+ workflows: {
69
+ ['my-workflow']: {
70
+ name: 'my-workflow',
71
+ parameters: [
72
+ {
73
+ name: 'parameter',
74
+ testValue: 4,
75
+ },
76
+ ],
77
+ actions: [
78
+ {
79
+ name: '@toddle/logToConsole',
80
+ label: 'Log to console',
81
+ arguments: [
82
+ {
83
+ name: 'Label',
84
+ formula: { type: 'value', value: 'first p' },
85
+ },
86
+ {
87
+ name: 'Data',
88
+ formula: {
89
+ path: ['Parameters', 'parameter'],
90
+ type: 'path',
91
+ },
92
+ },
93
+ ],
94
+ },
95
+ ],
96
+ '@toddle/metadata': {
97
+ comments: null,
98
+ },
99
+ },
100
+ },
101
+ },
102
+ },
103
+ },
104
+ rules: [unknownWorkflowParameterRule],
105
+ }));
106
+ expect(problems).toHaveLength(0);
107
+ });
108
+ });
109
+ //# sourceMappingURL=unknownWorkflowParameterRule.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknownWorkflowParameterRule.test.js","sourceRoot":"","sources":["../../../src/rules/workflows/unknownWorkflowParameterRule.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Similar to problems with using rules and returning paths, but for searching the toddle file format instead of searching for problems.
3
+ *
4
+ * Great for finding freeform text anywhere in a project, or references, dependencies etc.
5
+ */
6
+ onmessage = (_event) => {
7
+ throw new Error('Not yet implemented');
8
+ };
9
+ export {};
10
+ //# sourceMappingURL=search.worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.worker.js","sourceRoot":"","sources":["../src/search.worker.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,SAAS,GAAG,CACV,MAIE,EACF,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;AACxC,CAAC,CAAA"}
@@ -0,0 +1,368 @@
1
+ import { isLegacyApi } from '@nordcraft/core/dist/api/api';
2
+ import { ToddleComponent } from '@nordcraft/core/dist/component/ToddleComponent';
3
+ import { isToddleFormula } from '@nordcraft/core/dist/formula/formulaTypes';
4
+ import { ToddleFormula } from '@nordcraft/core/dist/formula/ToddleFormula';
5
+ import { ToddleApiService } from '@nordcraft/ssr/dist/ToddleApiService';
6
+ import { ToddleRoute } from '@nordcraft/ssr/dist/ToddleRoute';
7
+ import { shouldSearchPath } from './util/helpers';
8
+ /**
9
+ * Search a project by applying rules to all nodes in the project and returning reported results.
10
+ *
11
+ * @param files All files to check against
12
+ * @param rules All rules to check against
13
+ * @param pathsToVisit Only visit specific paths. All subpaths are visited as well. For example, ['components', 'test'] would visit everything under the test component. Defaults is `[]` which means all paths are visited.
14
+ * @returns A generator that yields results as they are found
15
+ */
16
+ export function* searchProject({ files, rules, pathsToVisit = [], state, }) {
17
+ const memos = new Map();
18
+ const memo = (key, fn) => {
19
+ const stringKey = Array.isArray(key) ? key.join('/') : key;
20
+ if (memos.has(stringKey)) {
21
+ return memos.get(stringKey);
22
+ }
23
+ const result = fn();
24
+ memos.set(stringKey, result);
25
+ return result;
26
+ };
27
+ for (const key in files.components) {
28
+ const component = files.components[key];
29
+ if (component) {
30
+ yield* visitNode({
31
+ nodeType: 'component',
32
+ value: component,
33
+ path: ['components', key],
34
+ rules,
35
+ files,
36
+ pathsToVisit,
37
+ memo,
38
+ }, state);
39
+ }
40
+ }
41
+ for (const key in files.formulas) {
42
+ yield* visitNode({
43
+ nodeType: 'project-formula',
44
+ value: files.formulas[key],
45
+ path: ['formulas', key],
46
+ rules,
47
+ files,
48
+ pathsToVisit,
49
+ memo,
50
+ }, state);
51
+ }
52
+ for (const key in files.actions) {
53
+ yield* visitNode({
54
+ nodeType: 'project-action',
55
+ value: files.actions[key],
56
+ path: ['actions', key],
57
+ rules,
58
+ files,
59
+ pathsToVisit,
60
+ memo,
61
+ }, state);
62
+ }
63
+ for (const key in files.themes) {
64
+ yield* visitNode({
65
+ nodeType: 'project-theme',
66
+ value: files.themes[key],
67
+ path: ['themes', key],
68
+ rules,
69
+ files,
70
+ pathsToVisit,
71
+ memo,
72
+ }, state);
73
+ }
74
+ if (files.services) {
75
+ for (const key in files.services) {
76
+ yield* visitNode({
77
+ nodeType: 'api-service',
78
+ value: files.services[key],
79
+ path: ['services', key],
80
+ rules,
81
+ files,
82
+ pathsToVisit,
83
+ memo,
84
+ }, state);
85
+ }
86
+ }
87
+ if (files.routes) {
88
+ for (const key in files.routes) {
89
+ yield* visitNode({
90
+ nodeType: 'project-route',
91
+ value: files.routes[key],
92
+ routeName: key,
93
+ path: ['routes', key],
94
+ rules,
95
+ files,
96
+ pathsToVisit,
97
+ memo,
98
+ }, state);
99
+ }
100
+ }
101
+ yield* visitNode({
102
+ nodeType: 'project-config',
103
+ value: files.config,
104
+ path: ['config'],
105
+ rules,
106
+ files,
107
+ pathsToVisit,
108
+ memo,
109
+ }, state);
110
+ }
111
+ function* visitNode(args, state) {
112
+ const { rules, pathsToVisit, ...data } = args;
113
+ const { files, value, path, memo, nodeType } = data;
114
+ if (!shouldSearchPath(data.path, pathsToVisit)) {
115
+ return;
116
+ }
117
+ const results = [];
118
+ for (const rule of rules) {
119
+ rule.visit((path, details) => {
120
+ results.push({
121
+ code: rule.code,
122
+ category: rule.category,
123
+ level: rule.level,
124
+ path,
125
+ details,
126
+ });
127
+ }, data, state);
128
+ }
129
+ for (const result of results) {
130
+ yield result;
131
+ }
132
+ switch (nodeType) {
133
+ case 'component': {
134
+ const component = new ToddleComponent({
135
+ component: value,
136
+ packageName: undefined,
137
+ getComponent: (name) => files.components[name],
138
+ globalFormulas: {
139
+ formulas: files.formulas,
140
+ packages: files.packages,
141
+ },
142
+ });
143
+ for (const key in value.attributes) {
144
+ yield* visitNode({
145
+ nodeType: 'component-attribute',
146
+ value: value.attributes[key],
147
+ path: [...path, 'attributes', key],
148
+ rules,
149
+ files,
150
+ pathsToVisit,
151
+ memo,
152
+ component,
153
+ }, state);
154
+ }
155
+ for (const key in value.variables) {
156
+ yield* visitNode({
157
+ nodeType: 'component-variable',
158
+ value: value.variables[key],
159
+ path: [...path, 'variables', key],
160
+ rules,
161
+ files,
162
+ pathsToVisit,
163
+ memo,
164
+ component,
165
+ }, state);
166
+ }
167
+ for (const key in value.apis) {
168
+ const api = value.apis[key];
169
+ yield* visitNode({
170
+ nodeType: 'component-api',
171
+ value: api,
172
+ component,
173
+ path: [...path, 'apis', key],
174
+ rules,
175
+ files,
176
+ pathsToVisit,
177
+ memo,
178
+ }, state);
179
+ if (!isLegacyApi(api)) {
180
+ for (const [inputKey, input] of Object.entries(api.inputs)) {
181
+ yield* visitNode({
182
+ nodeType: 'component-api-input',
183
+ value: input,
184
+ api,
185
+ component,
186
+ path: [...path, 'apis', key, 'inputs', inputKey],
187
+ rules,
188
+ files,
189
+ pathsToVisit,
190
+ memo,
191
+ }, state);
192
+ }
193
+ }
194
+ }
195
+ for (const key in value.formulas) {
196
+ yield* visitNode({
197
+ nodeType: 'component-formula',
198
+ value: value.formulas[key],
199
+ path: [...path, 'formulas', key],
200
+ rules,
201
+ files,
202
+ pathsToVisit,
203
+ memo,
204
+ component,
205
+ }, state);
206
+ }
207
+ for (const key in value.workflows) {
208
+ yield* visitNode({
209
+ nodeType: 'component-workflow',
210
+ value: value.workflows[key],
211
+ path: [...path, 'workflows', key],
212
+ rules,
213
+ files,
214
+ pathsToVisit,
215
+ memo,
216
+ component,
217
+ }, state);
218
+ }
219
+ for (let i = 0; i < (value.events ?? []).length; i++) {
220
+ const event = value.events?.[i];
221
+ if (event) {
222
+ yield* visitNode({
223
+ nodeType: 'component-event',
224
+ path: [...path, 'events', i],
225
+ rules,
226
+ files,
227
+ pathsToVisit,
228
+ memo,
229
+ value: { component, event },
230
+ }, state);
231
+ }
232
+ }
233
+ for (const key in value.contexts) {
234
+ yield* visitNode({
235
+ nodeType: 'component-context',
236
+ value: value.contexts[key],
237
+ path: [...path, 'contexts', key],
238
+ rules,
239
+ files,
240
+ pathsToVisit,
241
+ memo,
242
+ }, state);
243
+ }
244
+ for (const key in value.nodes) {
245
+ yield* visitNode({
246
+ nodeType: 'component-node',
247
+ value: value.nodes[key],
248
+ path: [...path, 'nodes', key],
249
+ rules,
250
+ files,
251
+ pathsToVisit,
252
+ memo,
253
+ component,
254
+ }, state);
255
+ }
256
+ for (const [formulaPath, formula] of component.formulasInComponent()) {
257
+ yield* visitNode({
258
+ nodeType: 'formula',
259
+ value: formula,
260
+ path: [...path, ...formulaPath],
261
+ rules,
262
+ files,
263
+ pathsToVisit,
264
+ memo,
265
+ component,
266
+ }, state);
267
+ }
268
+ for (const [actionPath, action] of component.actionModelsInComponent()) {
269
+ yield* visitNode({
270
+ nodeType: 'action-model',
271
+ value: action,
272
+ path: [...path, ...actionPath],
273
+ rules,
274
+ files,
275
+ pathsToVisit,
276
+ memo,
277
+ component,
278
+ }, state);
279
+ }
280
+ break;
281
+ }
282
+ case 'project-formula':
283
+ if (isToddleFormula(value)) {
284
+ const formula = new ToddleFormula({
285
+ formula: value.formula,
286
+ globalFormulas: {
287
+ formulas: files.formulas,
288
+ packages: files.packages,
289
+ },
290
+ });
291
+ formula.formulasInFormula();
292
+ for (const [formulaPath, f] of formula.formulasInFormula()) {
293
+ yield* visitNode({
294
+ nodeType: 'formula',
295
+ value: f,
296
+ path: [...path, ...formulaPath],
297
+ rules,
298
+ files,
299
+ pathsToVisit,
300
+ memo,
301
+ }, state);
302
+ }
303
+ }
304
+ break;
305
+ case 'component-node':
306
+ if (value.type === 'element') {
307
+ const variants = value.variants;
308
+ if (variants) {
309
+ for (let i = 0; i < variants.length; i++) {
310
+ const variant = variants[i];
311
+ yield* visitNode({
312
+ nodeType: 'style-variant',
313
+ value: { variant, element: value },
314
+ path: [...path, 'variants', i],
315
+ rules,
316
+ files,
317
+ pathsToVisit,
318
+ memo,
319
+ }, state);
320
+ }
321
+ }
322
+ }
323
+ break;
324
+ case 'api-service': {
325
+ const apiService = new ToddleApiService({
326
+ service: value,
327
+ globalFormulas: {
328
+ formulas: files.formulas,
329
+ packages: files.packages,
330
+ },
331
+ });
332
+ for (const [formulaPath, formula] of apiService.formulasInService()) {
333
+ yield* visitNode({
334
+ nodeType: 'formula',
335
+ value: formula,
336
+ path: [...path, ...formulaPath],
337
+ rules,
338
+ files,
339
+ pathsToVisit,
340
+ memo,
341
+ }, state);
342
+ }
343
+ break;
344
+ }
345
+ case 'project-route': {
346
+ const projectRoute = new ToddleRoute({
347
+ route: value,
348
+ globalFormulas: {
349
+ formulas: files.formulas,
350
+ packages: files.packages,
351
+ },
352
+ });
353
+ for (const [formulaPath, formula] of projectRoute.formulasInRoute()) {
354
+ yield* visitNode({
355
+ nodeType: 'formula',
356
+ value: formula,
357
+ path: [...path, ...formulaPath],
358
+ rules,
359
+ files,
360
+ pathsToVisit,
361
+ memo,
362
+ }, state);
363
+ }
364
+ break;
365
+ }
366
+ }
367
+ }
368
+ //# sourceMappingURL=searchProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchProject.js","sourceRoot":"","sources":["../src/searchProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export function shouldSearchPath(path, pathsToVisit = []) {
2
+ return (pathsToVisit.length === 0 ||
3
+ pathsToVisit.some((pathToVisit) => pathToVisit.every((p1, i) => path[i] === p1)));
4
+ }
5
+ export const isLegacyAction = (model) => {
6
+ switch (model.type) {
7
+ case 'Custom':
8
+ case undefined:
9
+ // Legacy action has no version, while newer ones have a version 2+
10
+ return !model.version && LEGACY_CUSTOM_ACTIONS.has(model.name);
11
+ }
12
+ return false;
13
+ };
14
+ const LEGACY_CUSTOM_ACTIONS = new Set([
15
+ 'If',
16
+ 'PreventDefault',
17
+ 'StopPropagation',
18
+ 'Copy To Clipboard',
19
+ 'CopyToClipboard',
20
+ 'UpdateVariable',
21
+ 'Update Variable',
22
+ 'Update URL parameter',
23
+ 'updateUrlParameters',
24
+ 'UpdateQueryParam',
25
+ 'Update Query',
26
+ 'Fetch',
27
+ 'SetTimeout',
28
+ 'SetInterval',
29
+ 'FocusElement',
30
+ 'Debug',
31
+ 'GoToURL',
32
+ 'TriggerEvent',
33
+ ]);
34
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/util/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,IAAyB,EACzB,eAA2B,EAAE;IAE7B,OAAO,CACL,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAChC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAC7C,CACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAkB,EAAE,EAAE;IACnD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,mEAAmE;YACnE,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,IAAI;IACJ,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,cAAc;IACd,OAAO;IACP,YAAY;IACZ,aAAa;IACb,cAAc;IACd,OAAO;IACP,SAAS;IACT,cAAc;CACf,CAAC,CAAA"}
package/package.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@nordcraft/search",
3
+ "description": "Used for searching and reporting linting problems in toddle projects.",
4
+ "type": "module",
5
+ "license": "Apache-2.0",
6
+ "homepage": "https://github.com/nordcraftengine/nordcraft",
7
+ "dependencies": {
8
+ "@nordcraft/ssr": "1.0.0"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "npm-publish": "bun run build && bun publish --access public",
13
+ "typecheck": "tsc --noEmit",
14
+ "watch": "tsc -w",
15
+ "test": "bun test",
16
+ "test:watch": "bun test --watch",
17
+ "test:watch:only": "bun test --watch --only"
18
+ },
19
+ "files": ["dist", "src"],
20
+ "version": "1.0.0"
21
+ }