@nordcraft/search 1.0.84 → 1.0.86

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 (248) hide show
  1. package/dist/rules/issues/actions/actionRules.index.js +4 -0
  2. package/dist/rules/issues/actions/actionRules.index.js.map +1 -1
  3. package/dist/rules/issues/actions/createActionNameRule.d.ts +5 -1
  4. package/dist/rules/issues/actions/createActionNameRule.js +6 -2
  5. package/dist/rules/issues/actions/createActionNameRule.js.map +1 -1
  6. package/dist/rules/issues/actions/duplicateActionArgumentNameRule.js +8 -1
  7. package/dist/rules/issues/actions/duplicateActionArgumentNameRule.js.map +1 -1
  8. package/dist/rules/issues/actions/legacyActionRule.js +18 -8
  9. package/dist/rules/issues/actions/legacyActionRule.js.map +1 -1
  10. package/dist/rules/issues/actions/noReferenceProjectActionRule.js +8 -1
  11. package/dist/rules/issues/actions/noReferenceProjectActionRule.js.map +1 -1
  12. package/dist/rules/issues/actions/unknownActionArgumentRule.js +23 -6
  13. package/dist/rules/issues/actions/unknownActionArgumentRule.js.map +1 -1
  14. package/dist/rules/issues/actions/unknownActionEventRule.js +11 -3
  15. package/dist/rules/issues/actions/unknownActionEventRule.js.map +1 -1
  16. package/dist/rules/issues/actions/unknownProjectActionRule.js +8 -1
  17. package/dist/rules/issues/actions/unknownProjectActionRule.js.map +1 -1
  18. package/dist/rules/issues/apis/invalidApiParserModeRule.js +8 -1
  19. package/dist/rules/issues/apis/invalidApiParserModeRule.js.map +1 -1
  20. package/dist/rules/issues/apis/invalidApiProxyBodySettingRule.js +8 -1
  21. package/dist/rules/issues/apis/invalidApiProxyBodySettingRule.js.map +1 -1
  22. package/dist/rules/issues/apis/invalidApiProxyCookieSettingRule.js +8 -1
  23. package/dist/rules/issues/apis/invalidApiProxyCookieSettingRule.js.map +1 -1
  24. package/dist/rules/issues/apis/legacyApiRule.js +8 -1
  25. package/dist/rules/issues/apis/legacyApiRule.js.map +1 -1
  26. package/dist/rules/issues/apis/noReferenceApiInputRule.js +8 -1
  27. package/dist/rules/issues/apis/noReferenceApiInputRule.js.map +1 -1
  28. package/dist/rules/issues/apis/noReferenceApiRule.js +8 -1
  29. package/dist/rules/issues/apis/noReferenceApiRule.js.map +1 -1
  30. package/dist/rules/issues/apis/noReferenceApiServiceRule.js +9 -1
  31. package/dist/rules/issues/apis/noReferenceApiServiceRule.js.map +1 -1
  32. package/dist/rules/issues/apis/unknownApiInputRule.js +8 -1
  33. package/dist/rules/issues/apis/unknownApiInputRule.js.map +1 -1
  34. package/dist/rules/issues/apis/unknownApiRule.js +16 -2
  35. package/dist/rules/issues/apis/unknownApiRule.js.map +1 -1
  36. package/dist/rules/issues/apis/unknownApiServiceRule.js +9 -1
  37. package/dist/rules/issues/apis/unknownApiServiceRule.js.map +1 -1
  38. package/dist/rules/issues/apis/unknownFetchInputRule.js +9 -1
  39. package/dist/rules/issues/apis/unknownFetchInputRule.js.map +1 -1
  40. package/dist/rules/issues/attributes/noReferenceAttributeInInstanceRule.js +9 -2
  41. package/dist/rules/issues/attributes/noReferenceAttributeInInstanceRule.js.map +1 -1
  42. package/dist/rules/issues/attributes/noReferenceAttributeRule.js +8 -1
  43. package/dist/rules/issues/attributes/noReferenceAttributeRule.js.map +1 -1
  44. package/dist/rules/issues/attributes/unknownAttributeRule.js +8 -1
  45. package/dist/rules/issues/attributes/unknownAttributeRule.js.map +1 -1
  46. package/dist/rules/issues/attributes/unknownComponentAttributeRule.js +9 -3
  47. package/dist/rules/issues/attributes/unknownComponentAttributeRule.js.map +1 -1
  48. package/dist/rules/issues/components/invalidComponentStructureRule.js +12 -4
  49. package/dist/rules/issues/components/invalidComponentStructureRule.js.map +1 -1
  50. package/dist/rules/issues/components/noReferenceComponentRule.js +8 -1
  51. package/dist/rules/issues/components/noReferenceComponentRule.js.map +1 -1
  52. package/dist/rules/issues/components/unknownComponentRule.js +8 -1
  53. package/dist/rules/issues/components/unknownComponentRule.js.map +1 -1
  54. package/dist/rules/issues/context/noContextConsumersRule.js +7 -1
  55. package/dist/rules/issues/context/noContextConsumersRule.js.map +1 -1
  56. package/dist/rules/issues/context/unknownContextFormulaRule.js +10 -3
  57. package/dist/rules/issues/context/unknownContextFormulaRule.js.map +1 -1
  58. package/dist/rules/issues/context/unknownContextProviderFormulaRule.js +10 -3
  59. package/dist/rules/issues/context/unknownContextProviderFormulaRule.js.map +1 -1
  60. package/dist/rules/issues/context/unknownContextProviderRule.js +8 -1
  61. package/dist/rules/issues/context/unknownContextProviderRule.js.map +1 -1
  62. package/dist/rules/issues/dom/createRequiredDirectChildRule.js +11 -4
  63. package/dist/rules/issues/dom/createRequiredDirectChildRule.js.map +1 -1
  64. package/dist/rules/issues/dom/createRequiredDirectParentRule.js +11 -4
  65. package/dist/rules/issues/dom/createRequiredDirectParentRule.js.map +1 -1
  66. package/dist/rules/issues/dom/createRequiredElementAttributeRule.js +8 -1
  67. package/dist/rules/issues/dom/createRequiredElementAttributeRule.js.map +1 -1
  68. package/dist/rules/issues/dom/createRequiredMetaTagRule.js +10 -1
  69. package/dist/rules/issues/dom/createRequiredMetaTagRule.js.map +1 -1
  70. package/dist/rules/issues/dom/elementWithoutInteractiveContentRule.js +16 -3
  71. package/dist/rules/issues/dom/elementWithoutInteractiveContentRule.js.map +1 -1
  72. package/dist/rules/issues/dom/imageWithoutDimensionRule.js +7 -1
  73. package/dist/rules/issues/dom/imageWithoutDimensionRule.js.map +1 -1
  74. package/dist/rules/issues/dom/nonEmptyVoidElementRule.js +8 -1
  75. package/dist/rules/issues/dom/nonEmptyVoidElementRule.js.map +1 -1
  76. package/dist/rules/issues/events/duplicateEventTriggerRule.js +8 -1
  77. package/dist/rules/issues/events/duplicateEventTriggerRule.js.map +1 -1
  78. package/dist/rules/issues/events/noReferenceEventRule.js +9 -1
  79. package/dist/rules/issues/events/noReferenceEventRule.js.map +1 -1
  80. package/dist/rules/issues/events/unknownEventRule.js +8 -1
  81. package/dist/rules/issues/events/unknownEventRule.js.map +1 -1
  82. package/dist/rules/issues/events/unknownTriggerEventRule.js +8 -1
  83. package/dist/rules/issues/events/unknownTriggerEventRule.js.map +1 -1
  84. package/dist/rules/issues/formulas/duplicateFormulaArgumentNameRule.js +8 -1
  85. package/dist/rules/issues/formulas/duplicateFormulaArgumentNameRule.js.map +1 -1
  86. package/dist/rules/issues/formulas/legacyFormulaRule.js +12 -5
  87. package/dist/rules/issues/formulas/legacyFormulaRule.js.map +1 -1
  88. package/dist/rules/issues/formulas/noReferenceComponentFormulaRule.js +14 -4
  89. package/dist/rules/issues/formulas/noReferenceComponentFormulaRule.js.map +1 -1
  90. package/dist/rules/issues/formulas/noReferenceProjectFormulaRule.js +8 -1
  91. package/dist/rules/issues/formulas/noReferenceProjectFormulaRule.js.map +1 -1
  92. package/dist/rules/issues/formulas/unknownComponentFormulaInputRule.js +8 -1
  93. package/dist/rules/issues/formulas/unknownComponentFormulaInputRule.js.map +1 -1
  94. package/dist/rules/issues/formulas/unknownFormulaRule.js +8 -1
  95. package/dist/rules/issues/formulas/unknownFormulaRule.js.map +1 -1
  96. package/dist/rules/issues/formulas/unknownProjectFormulaInputRule.js +8 -1
  97. package/dist/rules/issues/formulas/unknownProjectFormulaInputRule.js.map +1 -1
  98. package/dist/rules/issues/formulas/unknownProjectFormulaRule.js +8 -1
  99. package/dist/rules/issues/formulas/unknownProjectFormulaRule.js.map +1 -1
  100. package/dist/rules/issues/formulas/unknownRepeatIndexFormulaRule.js +14 -2
  101. package/dist/rules/issues/formulas/unknownRepeatIndexFormulaRule.js.map +1 -1
  102. package/dist/rules/issues/formulas/unknownRepeatItemFormulaRule.js +14 -2
  103. package/dist/rules/issues/formulas/unknownRepeatItemFormulaRule.js.map +1 -1
  104. package/dist/rules/issues/logic/noStaticNodeCondition.js +15 -3
  105. package/dist/rules/issues/logic/noStaticNodeCondition.js.map +1 -1
  106. package/dist/rules/issues/logic/noUnnecessaryConditionFalsy.js +7 -1
  107. package/dist/rules/issues/logic/noUnnecessaryConditionFalsy.js.map +1 -1
  108. package/dist/rules/issues/logic/noUnnecessaryConditionTruthy.js +7 -1
  109. package/dist/rules/issues/logic/noUnnecessaryConditionTruthy.js.map +1 -1
  110. package/dist/rules/issues/miscellaneous/noReferenceNodeRule.js +9 -1
  111. package/dist/rules/issues/miscellaneous/noReferenceNodeRule.js.map +1 -1
  112. package/dist/rules/issues/miscellaneous/requireExtensionRule.js +7 -1
  113. package/dist/rules/issues/miscellaneous/requireExtensionRule.js.map +1 -1
  114. package/dist/rules/issues/miscellaneous/unknownCookieRule.js +8 -1
  115. package/dist/rules/issues/miscellaneous/unknownCookieRule.js.map +1 -1
  116. package/dist/rules/issues/routing/duplicateRouteRule.js +16 -6
  117. package/dist/rules/issues/routing/duplicateRouteRule.js.map +1 -1
  118. package/dist/rules/issues/routing/duplicateUrlParameterRule.js +16 -2
  119. package/dist/rules/issues/routing/duplicateUrlParameterRule.js.map +1 -1
  120. package/dist/rules/issues/routing/unknownSetUrlParameterRule.js +8 -1
  121. package/dist/rules/issues/routing/unknownSetUrlParameterRule.js.map +1 -1
  122. package/dist/rules/issues/routing/unknownSetUrlParametersRule.js +8 -1
  123. package/dist/rules/issues/routing/unknownSetUrlParametersRule.js.map +1 -1
  124. package/dist/rules/issues/routing/unknownUrlParameterRule.js +8 -1
  125. package/dist/rules/issues/routing/unknownUrlParameterRule.js.map +1 -1
  126. package/dist/rules/issues/slots/unknownComponentSlotRule.js +8 -1
  127. package/dist/rules/issues/slots/unknownComponentSlotRule.js.map +1 -1
  128. package/dist/rules/issues/style/invalidStyleSyntaxRule.js +9 -1
  129. package/dist/rules/issues/style/invalidStyleSyntaxRule.js.map +1 -1
  130. package/dist/rules/issues/style/legacyStyleVariableRule.js +9 -3
  131. package/dist/rules/issues/style/legacyStyleVariableRule.js.map +1 -1
  132. package/dist/rules/issues/style/legacyThemeRule.js +7 -1
  133. package/dist/rules/issues/style/legacyThemeRule.js.map +1 -1
  134. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js +8 -1
  135. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js.map +1 -1
  136. package/dist/rules/issues/style/unknownCSSVariable.js +43 -45
  137. package/dist/rules/issues/style/unknownCSSVariable.js.map +1 -1
  138. package/dist/rules/issues/style/unknownClassnameRule.js +8 -1
  139. package/dist/rules/issues/style/unknownClassnameRule.js.map +1 -1
  140. package/dist/rules/issues/variables/noReferenceVariableRule.js +8 -1
  141. package/dist/rules/issues/variables/noReferenceVariableRule.js.map +1 -1
  142. package/dist/rules/issues/variables/unknownVariableRule.js +8 -1
  143. package/dist/rules/issues/variables/unknownVariableRule.js.map +1 -1
  144. package/dist/rules/issues/variables/unknownVariableSetterRule.js +8 -1
  145. package/dist/rules/issues/variables/unknownVariableSetterRule.js.map +1 -1
  146. package/dist/rules/issues/workflows/duplicateWorkflowParameterRule.js +8 -1
  147. package/dist/rules/issues/workflows/duplicateWorkflowParameterRule.js.map +1 -1
  148. package/dist/rules/issues/workflows/noPostNavigateAction.js +8 -1
  149. package/dist/rules/issues/workflows/noPostNavigateAction.js.map +1 -1
  150. package/dist/rules/issues/workflows/noReferenceComponentWorkflowRule.js +8 -1
  151. package/dist/rules/issues/workflows/noReferenceComponentWorkflowRule.js.map +1 -1
  152. package/dist/rules/issues/workflows/unknownContextProviderWorkflowRule.js +10 -3
  153. package/dist/rules/issues/workflows/unknownContextProviderWorkflowRule.js.map +1 -1
  154. package/dist/rules/issues/workflows/unknownContextWorkflowRule.js +10 -3
  155. package/dist/rules/issues/workflows/unknownContextWorkflowRule.js.map +1 -1
  156. package/dist/rules/issues/workflows/unknownTriggerWorkflowParameterRule.js +9 -2
  157. package/dist/rules/issues/workflows/unknownTriggerWorkflowParameterRule.js.map +1 -1
  158. package/dist/rules/issues/workflows/unknownTriggerWorkflowRule.js +7 -1
  159. package/dist/rules/issues/workflows/unknownTriggerWorkflowRule.js.map +1 -1
  160. package/dist/rules/issues/workflows/unknownWorkflowParameterRule.js +9 -2
  161. package/dist/rules/issues/workflows/unknownWorkflowParameterRule.js.map +1 -1
  162. package/dist/searchProject.js +2 -1
  163. package/dist/searchProject.js.map +1 -1
  164. package/dist/types.d.ts +12 -1
  165. package/package.json +3 -3
  166. package/src/rules/issues/actions/actionRules.index.ts +5 -0
  167. package/src/rules/issues/actions/createActionNameRule.ts +10 -1
  168. package/src/rules/issues/actions/duplicateActionArgumentNameRule.ts +8 -1
  169. package/src/rules/issues/actions/legacyActionRule.ts +10 -3
  170. package/src/rules/issues/actions/noReferenceProjectActionRule.ts +8 -1
  171. package/src/rules/issues/actions/unknownActionArgumentRule.ts +18 -9
  172. package/src/rules/issues/actions/unknownActionEventRule.ts +8 -4
  173. package/src/rules/issues/actions/unknownProjectActionRule.ts +8 -1
  174. package/src/rules/issues/apis/invalidApiParserModeRule.ts +8 -1
  175. package/src/rules/issues/apis/invalidApiProxyBodySettingRule.ts +8 -1
  176. package/src/rules/issues/apis/invalidApiProxyCookieSettingRule.ts +8 -1
  177. package/src/rules/issues/apis/legacyApiRule.ts +8 -1
  178. package/src/rules/issues/apis/noReferenceApiInputRule.ts +8 -1
  179. package/src/rules/issues/apis/noReferenceApiRule.ts +8 -1
  180. package/src/rules/issues/apis/noReferenceApiServiceRule.ts +9 -1
  181. package/src/rules/issues/apis/unknownApiInputRule.ts +8 -1
  182. package/src/rules/issues/apis/unknownApiRule.ts +16 -2
  183. package/src/rules/issues/apis/unknownApiServiceRule.ts +9 -5
  184. package/src/rules/issues/apis/unknownFetchInputRule.ts +9 -1
  185. package/src/rules/issues/attributes/noReferenceAttributeInInstanceRule.ts +9 -2
  186. package/src/rules/issues/attributes/noReferenceAttributeRule.ts +8 -1
  187. package/src/rules/issues/attributes/unknownAttributeRule.ts +8 -1
  188. package/src/rules/issues/attributes/unknownComponentAttributeRule.ts +9 -3
  189. package/src/rules/issues/components/invalidComponentStructureRule.ts +9 -5
  190. package/src/rules/issues/components/noReferenceComponentRule.ts +9 -1
  191. package/src/rules/issues/components/unknownComponentRule.ts +8 -1
  192. package/src/rules/issues/context/noContextConsumersRule.ts +8 -1
  193. package/src/rules/issues/context/unknownContextFormulaRule.ts +10 -3
  194. package/src/rules/issues/context/unknownContextProviderFormulaRule.ts +10 -3
  195. package/src/rules/issues/context/unknownContextProviderRule.ts +8 -1
  196. package/src/rules/issues/dom/createRequiredDirectChildRule.ts +11 -4
  197. package/src/rules/issues/dom/createRequiredDirectParentRule.ts +11 -4
  198. package/src/rules/issues/dom/createRequiredElementAttributeRule.ts +8 -1
  199. package/src/rules/issues/dom/createRequiredMetaTagRule.ts +14 -1
  200. package/src/rules/issues/dom/elementWithoutInteractiveContentRule.ts +26 -3
  201. package/src/rules/issues/dom/imageWithoutDimensionRule.ts +8 -1
  202. package/src/rules/issues/dom/nonEmptyVoidElementRule.ts +8 -1
  203. package/src/rules/issues/events/duplicateEventTriggerRule.ts +8 -1
  204. package/src/rules/issues/events/noReferenceEventRule.ts +9 -1
  205. package/src/rules/issues/events/unknownEventRule.ts +8 -1
  206. package/src/rules/issues/events/unknownTriggerEventRule.ts +8 -1
  207. package/src/rules/issues/formulas/duplicateFormulaArgumentNameRule.ts +8 -1
  208. package/src/rules/issues/formulas/legacyFormulaRule.ts +12 -7
  209. package/src/rules/issues/formulas/noReferenceComponentFormulaRule.ts +12 -5
  210. package/src/rules/issues/formulas/noReferenceProjectFormulaRule.ts +8 -1
  211. package/src/rules/issues/formulas/unknownComponentFormulaInputRule.ts +8 -1
  212. package/src/rules/issues/formulas/unknownFormulaRule.ts +8 -1
  213. package/src/rules/issues/formulas/unknownProjectFormulaInputRule.ts +8 -1
  214. package/src/rules/issues/formulas/unknownProjectFormulaRule.ts +8 -1
  215. package/src/rules/issues/formulas/unknownRepeatIndexFormulaRule.ts +14 -2
  216. package/src/rules/issues/formulas/unknownRepeatItemFormulaRule.ts +14 -2
  217. package/src/rules/issues/logic/noStaticNodeCondition.ts +15 -4
  218. package/src/rules/issues/logic/noUnnecessaryConditionFalsy.ts +8 -1
  219. package/src/rules/issues/logic/noUnnecessaryConditionTruthy.ts +8 -1
  220. package/src/rules/issues/miscellaneous/noReferenceNodeRule.ts +9 -1
  221. package/src/rules/issues/miscellaneous/requireExtensionRule.ts +8 -1
  222. package/src/rules/issues/miscellaneous/unknownCookieRule.ts +8 -1
  223. package/src/rules/issues/routing/duplicateRouteRule.ts +18 -6
  224. package/src/rules/issues/routing/duplicateUrlParameterRule.ts +16 -2
  225. package/src/rules/issues/routing/unknownSetUrlParameterRule.ts +8 -1
  226. package/src/rules/issues/routing/unknownSetUrlParametersRule.ts +8 -1
  227. package/src/rules/issues/routing/unknownUrlParameterRule.ts +8 -1
  228. package/src/rules/issues/slots/unknownComponentSlotRule.ts +8 -1
  229. package/src/rules/issues/style/invalidStyleSyntaxRule.ts +9 -1
  230. package/src/rules/issues/style/legacyStyleVariableRule.ts +9 -3
  231. package/src/rules/issues/style/legacyThemeRule.ts +7 -1
  232. package/src/rules/issues/style/noReferenceGlobalCSSVariable.ts +8 -1
  233. package/src/rules/issues/style/unknownCSSVariable.test.ts +45 -37
  234. package/src/rules/issues/style/unknownCSSVariable.ts +49 -52
  235. package/src/rules/issues/style/unknownClassnameRule.ts +8 -1
  236. package/src/rules/issues/variables/noReferenceVariableRule.ts +8 -1
  237. package/src/rules/issues/variables/unknownVariableRule.ts +8 -1
  238. package/src/rules/issues/variables/unknownVariableSetterRule.ts +8 -1
  239. package/src/rules/issues/workflows/duplicateWorkflowParameterRule.ts +8 -1
  240. package/src/rules/issues/workflows/noPostNavigateAction.ts +8 -1
  241. package/src/rules/issues/workflows/noReferenceComponentWorkflowRule.ts +8 -1
  242. package/src/rules/issues/workflows/unknownContextProviderWorkflowRule.ts +10 -3
  243. package/src/rules/issues/workflows/unknownContextWorkflowRule.ts +10 -3
  244. package/src/rules/issues/workflows/unknownTriggerWorkflowParameterRule.ts +9 -2
  245. package/src/rules/issues/workflows/unknownTriggerWorkflowRule.ts +7 -1
  246. package/src/rules/issues/workflows/unknownWorkflowParameterRule.ts +9 -2
  247. package/src/searchProject.ts +2 -1
  248. package/src/types.ts +12 -1
@@ -15,7 +15,14 @@ export const duplicateWorkflowParameterRule: Rule<{ parameter: string }> = {
15
15
  const parameterNames = new Set<string>()
16
16
  value.parameters.forEach((p, i) => {
17
17
  if (parameterNames.has(p.name)) {
18
- report([...path, 'parameters', i], { parameter: p.name })
18
+ report({
19
+ path: [...path, 'parameters', i],
20
+ info: {
21
+ title: 'Duplicate workflow parameter',
22
+ description: `Multiple parameters with the name **${p.name}** exist. Ensure parameter names are unique.`,
23
+ },
24
+ details: { parameter: p.name },
25
+ })
19
26
  }
20
27
  parameterNames.add(p.name)
21
28
  })
@@ -34,7 +34,14 @@ export const noPostNavigateAction: Rule<
34
34
  const actionIndex = Number(_actionIndex)
35
35
  if (actionIndex < actions.length - 1) {
36
36
  // If the action is not the last one in the array, report it
37
- report(path, undefined, ['delete-following-actions'])
37
+ report({
38
+ path,
39
+ info: {
40
+ title: 'Avoid actions after "Go to URL" action',
41
+ description: `The "Go to URL" action should be the last action in a workflow, as subsequent actions might not be evaluated before the browser navigates to the new URL.`,
42
+ },
43
+ fixes: ['delete-following-actions'],
44
+ })
38
45
  }
39
46
  },
40
47
  fixes: {
@@ -77,6 +77,13 @@ export const noReferenceComponentWorkflowRule: Rule<{
77
77
  }
78
78
  }
79
79
 
80
- report(path, { contextSubscribers, name: value.name })
80
+ report({
81
+ path,
82
+ info: {
83
+ title: 'Unused component workflow',
84
+ description: `**${value.name}** is never used by any workflow. Consider removing it.`,
85
+ },
86
+ details: { contextSubscribers, name: value.name },
87
+ })
81
88
  },
82
89
  }
@@ -25,9 +25,16 @@ export const unknownContextProviderWorkflowRule: Rule<{
25
25
  }
26
26
  for (const workflowName of value.workflows) {
27
27
  if (component.workflows?.[workflowName]?.exposeInContext !== true) {
28
- report(path, {
29
- providerName: value.componentName,
30
- workflowName,
28
+ report({
29
+ path,
30
+ info: {
31
+ title: 'Unknown context provider workflow',
32
+ description: `**${workflowName}** does not exist on the context provider **${value.componentName}**. Calling an unknown workflow will have no effect. Make sure to define it before using it.`,
33
+ },
34
+ details: {
35
+ providerName: value.componentName,
36
+ workflowName,
37
+ },
31
38
  })
32
39
  }
33
40
  }
@@ -22,9 +22,16 @@ export const unknownContextWorkflowRule: Rule<{
22
22
  return
23
23
  }
24
24
 
25
- report(path, {
26
- providerName: value.contextProvider,
27
- workflowName: value.workflow,
25
+ report({
26
+ path,
27
+ info: {
28
+ title: 'Unknown context workflow',
29
+ description: `**${value.workflow}** is not subscribed. Make sure to subscribe to it in the component context section before using it.`,
30
+ },
31
+ details: {
32
+ providerName: value.contextProvider,
33
+ workflowName: value.workflow,
34
+ },
28
35
  })
29
36
  },
30
37
  }
@@ -45,8 +45,15 @@ export const unknownTriggerWorkflowParameterRule: Rule<{ parameter: string }> =
45
45
  )
46
46
  Object.keys(value.parameters ?? {}).forEach((parameterKey) => {
47
47
  if (!workflowParameters.has(parameterKey)) {
48
- report([...path, 'parameters', parameterKey], {
49
- parameter: parameterKey,
48
+ report({
49
+ path: [...path, 'parameters', parameterKey],
50
+ info: {
51
+ title: `Unknown parameter in workflow`,
52
+ description: `The workflow parameter "${parameterKey}" is not a valid. It may have been removed from the workflow after it was set. This parameter can safely be removed.`,
53
+ },
54
+ details: {
55
+ parameter: parameterKey,
56
+ },
50
57
  })
51
58
  }
52
59
  })
@@ -16,7 +16,13 @@ export const unknownTriggerWorkflowRule: Rule<void> = {
16
16
 
17
17
  const workflow = args.component.workflows?.[value.workflow]
18
18
  if (!workflow) {
19
- report(path)
19
+ report({
20
+ path,
21
+ info: {
22
+ title: 'Unknown workflow trigger',
23
+ description: `This workflow does not exist and cannot be triggered.`,
24
+ },
25
+ })
20
26
  }
21
27
  },
22
28
  }
@@ -30,8 +30,15 @@ export const unknownWorkflowParameterRule: Rule<{ parameter: string }> = {
30
30
  ),
31
31
  )
32
32
  if (!workflowParameters.has(parameterName)) {
33
- report(path, {
34
- parameter: parameterName,
33
+ report({
34
+ path,
35
+ info: {
36
+ title: 'Unknown workflow parameter',
37
+ description: `**${parameterName}** does not exist in this workflow.`,
38
+ },
39
+ details: {
40
+ parameter: parameterName,
41
+ },
35
42
  })
36
43
  }
37
44
  },
@@ -272,7 +272,7 @@ function* visitNode({
272
272
  console.timeStamp(`Visiting rule ${rule.code}`)
273
273
  rule.visit(
274
274
  // Report callback used to report issues
275
- (path, details, fixes) => {
275
+ ({ path, details, fixes, info }) => {
276
276
  if (fixOptions) {
277
277
  // We're in "fix mode"
278
278
  if (
@@ -301,6 +301,7 @@ function* visitNode({
301
301
  path,
302
302
  details,
303
303
  fixes,
304
+ info,
304
305
  })
305
306
  }
306
307
  },
package/src/types.ts CHANGED
@@ -157,6 +157,7 @@ export type Result = {
157
157
  level: Level
158
158
  details?: any
159
159
  fixes?: FixType[]
160
+ info: ReportedIssueInfo
160
161
  }
161
162
 
162
163
  export interface ApplicationCookie {
@@ -460,6 +461,11 @@ export type FixType =
460
461
  | UnknownApiServiceRuleFix
461
462
  | UnknownComponentAttributeRuleFix
462
463
 
464
+ interface ReportedIssueInfo {
465
+ title: string
466
+ description: string
467
+ }
468
+
463
469
  export interface Rule<
464
470
  T = unknown,
465
471
  V extends NodeType = NodeType,
@@ -469,7 +475,12 @@ export interface Rule<
469
475
  code: Code
470
476
  level: Level
471
477
  visit: (
472
- report: (path: (string | number)[], details?: T, fixes?: FixType[]) => void,
478
+ report: (args: {
479
+ path: (string | number)[]
480
+ info: ReportedIssueInfo
481
+ details?: T
482
+ fixes?: FixType[]
483
+ }) => void,
473
484
  data: V,
474
485
  state?: ApplicationState | undefined,
475
486
  ) => void