@nordcraft/search 1.0.79 → 1.0.80

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 (140) hide show
  1. package/dist/rules/issues/actions/duplicateActionArgumentNameRule.test.js +3 -3
  2. package/dist/rules/issues/actions/duplicateActionArgumentNameRule.test.js.map +1 -1
  3. package/dist/rules/issues/actions/legacyActionRule.test.js +1 -1
  4. package/dist/rules/issues/actions/legacyActionRule.test.js.map +1 -1
  5. package/dist/rules/issues/actions/noReferenceProjectActionRule.test.js +1 -1
  6. package/dist/rules/issues/actions/noReferenceProjectActionRule.test.js.map +1 -1
  7. package/dist/rules/issues/actions/unknownActionArgumentRule.test.js +1 -1
  8. package/dist/rules/issues/actions/unknownActionArgumentRule.test.js.map +1 -1
  9. package/dist/rules/issues/actions/unknownActionEventRule.test.js +1 -1
  10. package/dist/rules/issues/actions/unknownActionEventRule.test.js.map +1 -1
  11. package/dist/rules/issues/actions/unknownProjectActionRule.test.js +1 -1
  12. package/dist/rules/issues/actions/unknownProjectActionRule.test.js.map +1 -1
  13. package/dist/rules/issues/apis/legacyApiRule.test.js +1 -1
  14. package/dist/rules/issues/apis/legacyApiRule.test.js.map +1 -1
  15. package/dist/rules/issues/apis/noReferenceApiRule.js +21 -1
  16. package/dist/rules/issues/apis/noReferenceApiRule.js.map +1 -1
  17. package/dist/rules/issues/apis/noReferenceApiRule.test.js +274 -0
  18. package/dist/rules/issues/apis/noReferenceApiRule.test.js.map +1 -1
  19. package/dist/rules/issues/context/noContextConsumersRule.test.js +3 -3
  20. package/dist/rules/issues/context/noContextConsumersRule.test.js.map +1 -1
  21. package/dist/rules/issues/context/unknownContextFormulaRule.test.js +1 -1
  22. package/dist/rules/issues/context/unknownContextFormulaRule.test.js.map +1 -1
  23. package/dist/rules/issues/context/unknownContextProviderFormulaRule.test.js +1 -1
  24. package/dist/rules/issues/context/unknownContextProviderFormulaRule.test.js.map +1 -1
  25. package/dist/rules/issues/context/unknownContextProviderRule.test.js +1 -1
  26. package/dist/rules/issues/context/unknownContextProviderRule.test.js.map +1 -1
  27. package/dist/rules/issues/dom/createRequiredDirectChildRule.test.js +1 -1
  28. package/dist/rules/issues/dom/createRequiredDirectChildRule.test.js.map +1 -1
  29. package/dist/rules/issues/dom/createRequiredDirectParentRule.test.js +1 -1
  30. package/dist/rules/issues/dom/createRequiredDirectParentRule.test.js.map +1 -1
  31. package/dist/rules/issues/dom/createRequiredElementAttributeRule.test.js +3 -3
  32. package/dist/rules/issues/dom/createRequiredElementAttributeRule.test.js.map +1 -1
  33. package/dist/rules/issues/dom/elementWithoutInteractiveContentRule.test.js +3 -3
  34. package/dist/rules/issues/dom/elementWithoutInteractiveContentRule.test.js.map +1 -1
  35. package/dist/rules/issues/dom/imageWithoutDimensionRule.test.js +4 -4
  36. package/dist/rules/issues/dom/imageWithoutDimensionRule.test.js.map +1 -1
  37. package/dist/rules/issues/dom/nonEmptyVoidElementRule.test.js +1 -1
  38. package/dist/rules/issues/dom/nonEmptyVoidElementRule.test.js.map +1 -1
  39. package/dist/rules/issues/events/duplicateEventTriggerRule.test.js +1 -1
  40. package/dist/rules/issues/events/duplicateEventTriggerRule.test.js.map +1 -1
  41. package/dist/rules/issues/formulas/duplicateFormulaArgumentNameRule.test.js +2 -2
  42. package/dist/rules/issues/formulas/duplicateFormulaArgumentNameRule.test.js.map +1 -1
  43. package/dist/rules/issues/formulas/noReferenceProjectFormulaRule.test.js +1 -1
  44. package/dist/rules/issues/formulas/noReferenceProjectFormulaRule.test.js.map +1 -1
  45. package/dist/rules/issues/formulas/unknownComponentFormulaInputRule.test.js +2 -2
  46. package/dist/rules/issues/formulas/unknownComponentFormulaInputRule.test.js.map +1 -1
  47. package/dist/rules/issues/formulas/unknownProjectFormulaInputRule.test.js +2 -2
  48. package/dist/rules/issues/formulas/unknownProjectFormulaInputRule.test.js.map +1 -1
  49. package/dist/rules/issues/formulas/unknownProjectFormulaRule.test.js +1 -1
  50. package/dist/rules/issues/formulas/unknownProjectFormulaRule.test.js.map +1 -1
  51. package/dist/rules/issues/formulas/unknownRepeatIndexFormulaRule.test.js +1 -1
  52. package/dist/rules/issues/formulas/unknownRepeatIndexFormulaRule.test.js.map +1 -1
  53. package/dist/rules/issues/formulas/unknownRepeatItemFormulaRule.test.js +1 -1
  54. package/dist/rules/issues/formulas/unknownRepeatItemFormulaRule.test.js.map +1 -1
  55. package/dist/rules/issues/logic/noStaticNodeCondition.test.js +1 -1
  56. package/dist/rules/issues/logic/noStaticNodeCondition.test.js.map +1 -1
  57. package/dist/rules/issues/logic/noUnnecessaryConditionFalsy.test.js +1 -1
  58. package/dist/rules/issues/logic/noUnnecessaryConditionFalsy.test.js.map +1 -1
  59. package/dist/rules/issues/logic/noUnnecessaryConditionTruthy.test.js +1 -1
  60. package/dist/rules/issues/logic/noUnnecessaryConditionTruthy.test.js.map +1 -1
  61. package/dist/rules/issues/miscellaneous/requireExtensionRule.test.js +1 -1
  62. package/dist/rules/issues/miscellaneous/requireExtensionRule.test.js.map +1 -1
  63. package/dist/rules/issues/miscellaneous/unknownCookieRule.test.js +1 -1
  64. package/dist/rules/issues/miscellaneous/unknownCookieRule.test.js.map +1 -1
  65. package/dist/rules/issues/routing/duplicateRouteRule.test.js +1 -1
  66. package/dist/rules/issues/routing/duplicateRouteRule.test.js.map +1 -1
  67. package/dist/rules/issues/routing/duplicateUrlParameterRule.test.js +1 -1
  68. package/dist/rules/issues/routing/duplicateUrlParameterRule.test.js.map +1 -1
  69. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js +32 -11
  70. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js.map +1 -1
  71. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.test.js +55 -1
  72. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.test.js.map +1 -1
  73. package/dist/rules/issues/style/styleRules.index.js +2 -0
  74. package/dist/rules/issues/style/styleRules.index.js.map +1 -1
  75. package/dist/rules/issues/style/unknownCSSVariable.js +78 -0
  76. package/dist/rules/issues/style/unknownCSSVariable.js.map +1 -0
  77. package/dist/rules/issues/style/unknownCSSVariable.test.js +337 -0
  78. package/dist/rules/issues/style/unknownCSSVariable.test.js.map +1 -0
  79. package/dist/rules/issues/workflows/duplicateWorkflowParameterRule.test.js +1 -1
  80. package/dist/rules/issues/workflows/duplicateWorkflowParameterRule.test.js.map +1 -1
  81. package/dist/rules/issues/workflows/noPostNavigateAction.test.js +1 -1
  82. package/dist/rules/issues/workflows/noPostNavigateAction.test.js.map +1 -1
  83. package/dist/rules/issues/workflows/unknownContextProviderWorkflowRule.test.js +1 -1
  84. package/dist/rules/issues/workflows/unknownContextProviderWorkflowRule.test.js.map +1 -1
  85. package/dist/rules/issues/workflows/unknownContextWorkflowRule.test.js +1 -1
  86. package/dist/rules/issues/workflows/unknownContextWorkflowRule.test.js.map +1 -1
  87. package/dist/rules/issues/workflows/unknownTriggerWorkflowParameterRule.test.js +3 -3
  88. package/dist/rules/issues/workflows/unknownTriggerWorkflowParameterRule.test.js.map +1 -1
  89. package/dist/rules/issues/workflows/unknownTriggerWorkflowRule.test.js +1 -1
  90. package/dist/rules/issues/workflows/unknownTriggerWorkflowRule.test.js.map +1 -1
  91. package/dist/rules/issues/workflows/unknownWorkflowParameterRule.test.js +1 -1
  92. package/dist/rules/issues/workflows/unknownWorkflowParameterRule.test.js.map +1 -1
  93. package/package.json +3 -3
  94. package/src/rules/issues/actions/duplicateActionArgumentNameRule.test.ts +3 -3
  95. package/src/rules/issues/actions/legacyActionRule.test.ts +1 -1
  96. package/src/rules/issues/actions/noReferenceProjectActionRule.test.ts +1 -1
  97. package/src/rules/issues/actions/unknownActionArgumentRule.test.ts +1 -1
  98. package/src/rules/issues/actions/unknownActionEventRule.test.ts +1 -1
  99. package/src/rules/issues/actions/unknownProjectActionRule.test.ts +1 -1
  100. package/src/rules/issues/apis/legacyApiRule.test.ts +1 -1
  101. package/src/rules/issues/apis/noReferenceApiRule.test.ts +283 -0
  102. package/src/rules/issues/apis/noReferenceApiRule.ts +29 -1
  103. package/src/rules/issues/context/noContextConsumersRule.test.ts +3 -3
  104. package/src/rules/issues/context/unknownContextFormulaRule.test.ts +1 -1
  105. package/src/rules/issues/context/unknownContextProviderFormulaRule.test.ts +1 -1
  106. package/src/rules/issues/context/unknownContextProviderRule.test.ts +1 -1
  107. package/src/rules/issues/dom/createRequiredDirectChildRule.test.ts +1 -1
  108. package/src/rules/issues/dom/createRequiredDirectParentRule.test.ts +1 -1
  109. package/src/rules/issues/dom/createRequiredElementAttributeRule.test.ts +3 -3
  110. package/src/rules/issues/dom/elementWithoutInteractiveContentRule.test.ts +3 -3
  111. package/src/rules/issues/dom/imageWithoutDimensionRule.test.ts +4 -4
  112. package/src/rules/issues/dom/nonEmptyVoidElementRule.test.ts +1 -1
  113. package/src/rules/issues/events/duplicateEventTriggerRule.test.ts +1 -1
  114. package/src/rules/issues/formulas/duplicateFormulaArgumentNameRule.test.ts +2 -2
  115. package/src/rules/issues/formulas/noReferenceProjectFormulaRule.test.ts +1 -1
  116. package/src/rules/issues/formulas/unknownComponentFormulaInputRule.test.ts +2 -2
  117. package/src/rules/issues/formulas/unknownProjectFormulaInputRule.test.ts +2 -2
  118. package/src/rules/issues/formulas/unknownProjectFormulaRule.test.ts +1 -1
  119. package/src/rules/issues/formulas/unknownRepeatIndexFormulaRule.test.ts +1 -1
  120. package/src/rules/issues/formulas/unknownRepeatItemFormulaRule.test.ts +1 -1
  121. package/src/rules/issues/logic/noStaticNodeCondition.test.ts +1 -1
  122. package/src/rules/issues/logic/noUnnecessaryConditionFalsy.test.ts +1 -1
  123. package/src/rules/issues/logic/noUnnecessaryConditionTruthy.test.ts +1 -1
  124. package/src/rules/issues/miscellaneous/requireExtensionRule.test.ts +1 -1
  125. package/src/rules/issues/miscellaneous/unknownCookieRule.test.ts +1 -1
  126. package/src/rules/issues/routing/duplicateRouteRule.test.ts +1 -1
  127. package/src/rules/issues/routing/duplicateUrlParameterRule.test.ts +1 -1
  128. package/src/rules/issues/style/noReferenceGlobalCSSVariable.test.ts +59 -1
  129. package/src/rules/issues/style/noReferenceGlobalCSSVariable.ts +38 -12
  130. package/src/rules/issues/style/styleRules.index.ts +2 -0
  131. package/src/rules/issues/style/unknownCSSVariable.test.ts +364 -0
  132. package/src/rules/issues/style/unknownCSSVariable.ts +101 -0
  133. package/src/rules/issues/workflows/duplicateWorkflowParameterRule.test.ts +1 -1
  134. package/src/rules/issues/workflows/noPostNavigateAction.test.ts +1 -1
  135. package/src/rules/issues/workflows/unknownContextProviderWorkflowRule.test.ts +1 -1
  136. package/src/rules/issues/workflows/unknownContextWorkflowRule.test.ts +1 -1
  137. package/src/rules/issues/workflows/unknownTriggerWorkflowParameterRule.test.ts +3 -3
  138. package/src/rules/issues/workflows/unknownTriggerWorkflowRule.test.ts +1 -1
  139. package/src/rules/issues/workflows/unknownWorkflowParameterRule.test.ts +1 -1
  140. package/src/types.d.ts +1 -0
@@ -93,7 +93,7 @@ describe('unknownTriggerWorkflowRule', () => {
93
93
  },
94
94
  rules: [unknownTriggerWorkflowRule],
95
95
  }));
96
- expect(problems).toHaveLength(0);
96
+ expect(problems).toBeEmpty();
97
97
  });
98
98
  });
99
99
  //# sourceMappingURL=unknownTriggerWorkflowRule.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unknownTriggerWorkflowRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/workflows/unknownTriggerWorkflowRule.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEzE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC;IAC3C,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,EAAE;gCACT,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,OAAO,EAAE,OAAO;wCAChB,OAAO,EAAE;4CACP;gDACE,IAAI,EAAE,iBAAiB;gDACvB,QAAQ,EAAE,kBAAkB;gDAC5B,UAAU,EAAE,EAAE;6CACf;yCACF;qCACF;iCACF;gCACD,GAAG,EAAE,KAAK;gCACV,QAAQ,EAAE,EAAE;gCACZ,KAAK,EAAE,EAAE;6BACV;yBACF;wBACD,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,EAAE;wBACb,SAAS,EAAE;4BACT,CAAC,aAAa,CAAC,EAAE;gCACf,OAAO,EAAE,EAAE;gCACX,IAAI,EAAE,aAAa;gCACnB,UAAU,EAAE,EAAE;6BACf;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE,CAAC,0BAA0B,CAAC;SACpC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAAA,CAC1D,CAAC,CAAA;IACF,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,EAAE;gCACT,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,OAAO,EAAE,OAAO;wCAChB,OAAO,EAAE;4CACP;gDACE,IAAI,EAAE,iBAAiB;gDACvB,QAAQ,EAAE,aAAa;gDACvB,UAAU,EAAE,EAAE;6CACf;yCACF;qCACF;iCACF;gCACD,GAAG,EAAE,KAAK;gCACV,QAAQ,EAAE,EAAE;gCACZ,KAAK,EAAE,EAAE;6BACV;yBACF;wBACD,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,EAAE;wBACb,SAAS,EAAE;4BACT,CAAC,aAAa,CAAC,EAAE;gCACf,OAAO,EAAE,EAAE;gCACX,IAAI,EAAE,aAAa;gCACnB,UAAU,EAAE,EAAE;6BACf;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE,CAAC,0BAA0B,CAAC;SACpC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAAA,CACjC,CAAC,CAAA;AAAA,CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"unknownTriggerWorkflowRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/workflows/unknownTriggerWorkflowRule.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEzE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC;IAC3C,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,EAAE;gCACT,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,OAAO,EAAE,OAAO;wCAChB,OAAO,EAAE;4CACP;gDACE,IAAI,EAAE,iBAAiB;gDACvB,QAAQ,EAAE,kBAAkB;gDAC5B,UAAU,EAAE,EAAE;6CACf;yCACF;qCACF;iCACF;gCACD,GAAG,EAAE,KAAK;gCACV,QAAQ,EAAE,EAAE;gCACZ,KAAK,EAAE,EAAE;6BACV;yBACF;wBACD,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,EAAE;wBACb,SAAS,EAAE;4BACT,CAAC,aAAa,CAAC,EAAE;gCACf,OAAO,EAAE,EAAE;gCACX,IAAI,EAAE,aAAa;gCACnB,UAAU,EAAE,EAAE;6BACf;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE,CAAC,0BAA0B,CAAC;SACpC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAAA,CAC1D,CAAC,CAAA;IACF,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE,EAAE;gCACT,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,OAAO,EAAE,OAAO;wCAChB,OAAO,EAAE;4CACP;gDACE,IAAI,EAAE,iBAAiB;gDACvB,QAAQ,EAAE,aAAa;gDACvB,UAAU,EAAE,EAAE;6CACf;yCACF;qCACF;iCACF;gCACD,GAAG,EAAE,KAAK;gCACV,QAAQ,EAAE,EAAE;gCACZ,KAAK,EAAE,EAAE;6BACV;yBACF;wBACD,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,EAAE;wBACb,SAAS,EAAE;4BACT,CAAC,aAAa,CAAC,EAAE;gCACf,OAAO,EAAE,EAAE;gCACX,IAAI,EAAE,aAAa;gCACnB,UAAU,EAAE,EAAE;6BACf;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE,CAAC,0BAA0B,CAAC;SACpC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;IAAA,CAC7B,CAAC,CAAA;AAAA,CACH,CAAC,CAAA"}
@@ -104,7 +104,7 @@ describe('unknownWorkflowParameterRule', () => {
104
104
  },
105
105
  rules: [unknownWorkflowParameterRule],
106
106
  }));
107
- expect(problems).toHaveLength(0);
107
+ expect(problems).toBeEmpty();
108
108
  });
109
109
  });
110
110
  //# sourceMappingURL=unknownWorkflowParameterRule.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unknownWorkflowParameterRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/workflows/unknownWorkflowParameterRule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unknownWorkflowParameterRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/workflows/unknownWorkflowParameterRule.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -10,8 +10,8 @@
10
10
  "directory": "packages/search"
11
11
  },
12
12
  "dependencies": {
13
- "@nordcraft/ssr": "1.0.79",
14
- "@nordcraft/core": "1.0.79",
13
+ "@nordcraft/ssr": "1.0.80",
14
+ "@nordcraft/core": "1.0.80",
15
15
  "jsondiffpatch": "0.7.3",
16
16
  "postcss": "8.5.6",
17
17
  "zod": "4.2.1"
@@ -26,5 +26,5 @@
26
26
  "test:watch:only": "bun test --watch --only"
27
27
  },
28
28
  "files": ["dist", "src"],
29
- "version": "1.0.79"
29
+ "version": "1.0.80"
30
30
  }
@@ -66,7 +66,7 @@ describe('duplicateActionArgumentNameRule', () => {
66
66
  rules: [duplicateActionArgumentNameRule],
67
67
  }),
68
68
  )
69
- expect(problems).toHaveLength(0)
69
+ expect(problems).toBeEmpty()
70
70
  })
71
71
 
72
72
  test('should not report when there are no arguments', () => {
@@ -88,7 +88,7 @@ describe('duplicateActionArgumentNameRule', () => {
88
88
  rules: [duplicateActionArgumentNameRule],
89
89
  }),
90
90
  )
91
- expect(problems).toHaveLength(0)
91
+ expect(problems).toBeEmpty()
92
92
  })
93
93
 
94
94
  test('should not report when arguments is undefined', () => {
@@ -109,7 +109,7 @@ describe('duplicateActionArgumentNameRule', () => {
109
109
  rules: [duplicateActionArgumentNameRule],
110
110
  }),
111
111
  )
112
- expect(problems).toHaveLength(0)
112
+ expect(problems).toBeEmpty()
113
113
  })
114
114
 
115
115
  test('should report multiple duplicates', () => {
@@ -93,7 +93,7 @@ describe('find legacyActions', () => {
93
93
  rules: [legacyActionRule],
94
94
  }),
95
95
  )
96
- expect(problems).toHaveLength(0)
96
+ expect(problems).toBeEmpty()
97
97
  })
98
98
  })
99
99
 
@@ -128,7 +128,7 @@ describe('find noReferenceProjectAction', () => {
128
128
  }),
129
129
  )
130
130
 
131
- expect(problems).toHaveLength(0)
131
+ expect(problems).toBeEmpty()
132
132
  })
133
133
  })
134
134
  })
@@ -150,7 +150,7 @@ describe('finds unknownActionArgumentRule', () => {
150
150
  }),
151
151
  )
152
152
 
153
- expect(problems).toHaveLength(0)
153
+ expect(problems).toBeEmpty()
154
154
  })
155
155
  })
156
156
 
@@ -148,7 +148,7 @@ describe('finds unknownActionEventRule', () => {
148
148
  }),
149
149
  )
150
150
 
151
- expect(problems).toHaveLength(0)
151
+ expect(problems).toBeEmpty()
152
152
  })
153
153
  })
154
154
 
@@ -113,6 +113,6 @@ describe('unknownProjectActionRule', () => {
113
113
  }),
114
114
  )
115
115
 
116
- expect(problems).toHaveLength(0)
116
+ expect(problems).toBeEmpty()
117
117
  })
118
118
  })
@@ -92,6 +92,6 @@ describe('legacyApi', () => {
92
92
  }),
93
93
  )
94
94
 
95
- expect(problems).toHaveLength(0)
95
+ expect(problems).toBeEmpty()
96
96
  })
97
97
  })
@@ -1,3 +1,4 @@
1
+ import { ApiMethod } from '@nordcraft/core/dist/api/apiTypes'
1
2
  import {
2
3
  pathFormula,
3
4
  valueFormula,
@@ -108,6 +109,7 @@ describe('find noReferenceApiRule', () => {
108
109
 
109
110
  expect(problems).toEqual([])
110
111
  })
112
+
111
113
  test('should not detect APIs with references from actions', () => {
112
114
  const problems = Array.from(
113
115
  searchProject({
@@ -164,6 +166,287 @@ describe('find noReferenceApiRule', () => {
164
166
 
165
167
  expect(problems).toEqual([])
166
168
  })
169
+
170
+ test('should not detect APIs when the API data is referenced in its events', () => {
171
+ const problems = Array.from(
172
+ searchProject({
173
+ files: {
174
+ formulas: {},
175
+ components: {
176
+ 'new-test': {
177
+ apis: {
178
+ 'Weather API': {
179
+ url: {
180
+ type: 'value',
181
+ value: 'https://nordcraft.com',
182
+ },
183
+ name: 'Weather API',
184
+ path: {
185
+ XYex4RxpjHs7jsyZx9223: {
186
+ index: 0,
187
+ formula: {
188
+ type: 'value',
189
+ value: '_api',
190
+ },
191
+ },
192
+ jY2URy9JhngGEewv_CjGI: {
193
+ index: 1,
194
+ formula: {
195
+ type: 'value',
196
+ value: 'weather',
197
+ },
198
+ },
199
+ },
200
+ type: 'http',
201
+ client: {
202
+ parserMode: 'auto',
203
+ onCompleted: {
204
+ actions: [
205
+ {
206
+ name: '@toddle/logToConsole',
207
+ arguments: [
208
+ {
209
+ name: 'Label',
210
+ formula: { type: 'value', value: '' },
211
+ },
212
+ {
213
+ name: 'Data',
214
+ formula: { type: 'path', path: ['Event'] },
215
+ },
216
+ ],
217
+ label: 'Log to console',
218
+ },
219
+ ],
220
+ trigger: 'success',
221
+ },
222
+ },
223
+ inputs: {},
224
+ method: ApiMethod.GET,
225
+ server: {
226
+ ssr: {
227
+ enabled: {
228
+ formula: {
229
+ type: 'value',
230
+ value: false,
231
+ },
232
+ },
233
+ },
234
+ proxy: {
235
+ enabled: {
236
+ formula: {
237
+ type: 'value',
238
+ value: false,
239
+ },
240
+ },
241
+ },
242
+ },
243
+ headers: {},
244
+ version: 2,
245
+ autoFetch: {
246
+ type: 'value',
247
+ value: true,
248
+ },
249
+ queryParams: {},
250
+ redirectRules: {},
251
+ },
252
+ },
253
+ name: 'new-test',
254
+ nodes: {},
255
+ events: [],
256
+ onLoad: null,
257
+ formulas: {},
258
+ variables: {
259
+ Untitled: {
260
+ initialValue: {
261
+ type: 'value',
262
+ value: null,
263
+ },
264
+ },
265
+ },
266
+ attributes: {},
267
+ },
268
+ },
269
+ },
270
+ rules: [noReferenceApiRule],
271
+ }),
272
+ )
273
+
274
+ expect(problems).toEqual([])
275
+ })
276
+
277
+ test('should list API as unused if the event reference is in a child action in an API event', () => {
278
+ const problems = Array.from(
279
+ searchProject({
280
+ files: {
281
+ formulas: {},
282
+ components: {
283
+ 'new-test': {
284
+ apis: {
285
+ 'Weather API': {
286
+ url: {
287
+ type: 'value',
288
+ value: 'https://nordcraft.com',
289
+ },
290
+ name: 'Weather API',
291
+ path: {
292
+ XYex4RxpjHs7jsyZx9223: {
293
+ index: 0,
294
+ formula: {
295
+ type: 'value',
296
+ value: '_api',
297
+ },
298
+ },
299
+ jY2URy9JhngGEewv_CjGI: {
300
+ index: 1,
301
+ formula: {
302
+ type: 'value',
303
+ value: 'weather',
304
+ },
305
+ },
306
+ },
307
+ type: 'http',
308
+ client: {
309
+ parserMode: 'auto',
310
+ onCompleted: {
311
+ actions: [
312
+ {
313
+ name: '@toddle/setCookie',
314
+ arguments: [
315
+ {
316
+ name: 'Name',
317
+ formula: null,
318
+ },
319
+ {
320
+ name: 'Value',
321
+ formula: {
322
+ type: 'value',
323
+ value: '',
324
+ },
325
+ },
326
+ {
327
+ name: 'Expires in',
328
+ formula: {
329
+ type: 'value',
330
+ value: null,
331
+ },
332
+ },
333
+ {
334
+ name: 'SameSite',
335
+ formula: {
336
+ type: 'value',
337
+ value: null,
338
+ },
339
+ },
340
+ {
341
+ name: 'Path',
342
+ formula: {
343
+ type: 'value',
344
+ value: null,
345
+ },
346
+ },
347
+ {
348
+ name: 'Include Subdomains',
349
+ formula: {
350
+ type: 'value',
351
+ value: null,
352
+ },
353
+ },
354
+ ],
355
+ label: 'Set cookie',
356
+ events: {
357
+ Success: {
358
+ actions: [
359
+ {
360
+ name: '@toddle/logToConsole',
361
+ arguments: [
362
+ {
363
+ name: 'Label',
364
+ formula: {
365
+ type: 'value',
366
+ value: 'test',
367
+ },
368
+ },
369
+ {
370
+ name: 'Data',
371
+ formula: {
372
+ type: 'path',
373
+ path: ['Event'],
374
+ },
375
+ },
376
+ ],
377
+ label: 'Log to console',
378
+ },
379
+ ],
380
+ },
381
+ Error: {
382
+ actions: [],
383
+ },
384
+ },
385
+ },
386
+ ],
387
+ trigger: 'success',
388
+ },
389
+ },
390
+ inputs: {},
391
+ method: ApiMethod.GET,
392
+ server: {
393
+ ssr: {
394
+ enabled: {
395
+ formula: {
396
+ type: 'value',
397
+ value: false,
398
+ },
399
+ },
400
+ },
401
+ proxy: {
402
+ enabled: {
403
+ formula: {
404
+ type: 'value',
405
+ value: false,
406
+ },
407
+ },
408
+ },
409
+ },
410
+ headers: {},
411
+ version: 2,
412
+ autoFetch: {
413
+ type: 'value',
414
+ value: true,
415
+ },
416
+ queryParams: {},
417
+ redirectRules: {},
418
+ },
419
+ },
420
+ name: 'new-test',
421
+ nodes: {},
422
+ events: [],
423
+ onLoad: null,
424
+ formulas: {},
425
+ variables: {
426
+ Untitled: {
427
+ initialValue: {
428
+ type: 'value',
429
+ value: null,
430
+ },
431
+ },
432
+ },
433
+ attributes: {},
434
+ },
435
+ },
436
+ },
437
+ rules: [noReferenceApiRule],
438
+ }),
439
+ )
440
+
441
+ expect(problems).toHaveLength(1)
442
+ expect(problems[0].code).toBe('no-reference api')
443
+ expect(problems[0].path).toEqual([
444
+ 'components',
445
+ 'new-test',
446
+ 'apis',
447
+ 'Weather API',
448
+ ])
449
+ })
167
450
  })
168
451
 
169
452
  describe('fix noReferenceApiRule', () => {
@@ -1,3 +1,4 @@
1
+ import { isDefined } from '@nordcraft/core/dist/utils/util'
1
2
  import type { Rule } from '../../../types'
2
3
  import { removeFromPathFix } from '../../../util/removeUnused.fix'
3
4
 
@@ -19,13 +20,40 @@ export const noReferenceApiRule: Rule<void> = {
19
20
  `componentApiReferences/${component.name}]`,
20
21
  () => {
21
22
  const usedApis = new Set<string>()
22
- for (const { formula } of component.formulasInComponent()) {
23
+ for (const { formula, path } of component.formulasInComponent()) {
24
+ const [
25
+ apis,
26
+ apiName,
27
+ client,
28
+ eventName,
29
+ _actions,
30
+ _actionIndex,
31
+ ...remainingPath
32
+ ] = path
23
33
  if (
24
34
  formula.type === 'path' &&
25
35
  formula.path[0] === 'Apis' &&
26
36
  typeof formula.path[1] === 'string'
27
37
  ) {
28
38
  usedApis.add(formula.path[1])
39
+ } else if (
40
+ // If an event is declared that references the API event's "Event"
41
+ // then we consider that a reference to the API - even if it's
42
+ // in a console log action or similar.
43
+ formula.type === 'path' &&
44
+ formula.path[0] === 'Event' &&
45
+ typeof apis === 'string' &&
46
+ apis.toLocaleLowerCase() === 'apis' &&
47
+ typeof apiName === 'string' &&
48
+ client === 'client' &&
49
+ typeof eventName === 'string' &&
50
+ ['onCompleted', 'onFailed', 'onMessage'].includes(eventName) &&
51
+ // Event references in child actions should not count as API references
52
+ isDefined(remainingPath) &&
53
+ Array.isArray(remainingPath) &&
54
+ !remainingPath.includes('actions')
55
+ ) {
56
+ usedApis.add(apiName)
29
57
  }
30
58
  }
31
59
  for (const [, action] of component.actionModelsInComponent()) {
@@ -122,7 +122,7 @@ describe('noContextConsumersRule', () => {
122
122
  }),
123
123
  )
124
124
 
125
- expect(problems).toHaveLength(0)
125
+ expect(problems).toBeEmpty()
126
126
  })
127
127
  test('should not detect component with exposed workflows/formulas when a slot exists', () => {
128
128
  const problems = Array.from(
@@ -177,7 +177,7 @@ describe('noContextConsumersRule', () => {
177
177
  }),
178
178
  )
179
179
 
180
- expect(problems).toHaveLength(0)
180
+ expect(problems).toBeEmpty()
181
181
  })
182
182
  test('should not detect component with exposed workflows/formulas when a child component exists', () => {
183
183
  const problems = Array.from(
@@ -235,6 +235,6 @@ describe('noContextConsumersRule', () => {
235
235
  }),
236
236
  )
237
237
 
238
- expect(problems).toHaveLength(0)
238
+ expect(problems).toBeEmpty()
239
239
  })
240
240
  })
@@ -89,6 +89,6 @@ describe('unknownContextFormulaRule', () => {
89
89
  }),
90
90
  )
91
91
 
92
- expect(problems).toHaveLength(0)
92
+ expect(problems).toBeEmpty()
93
93
  })
94
94
  })
@@ -170,6 +170,6 @@ describe('unknownContextFormulaProviderRule', () => {
170
170
  }),
171
171
  )
172
172
 
173
- expect(problems).toHaveLength(0)
173
+ expect(problems).toBeEmpty()
174
174
  })
175
175
  })
@@ -75,6 +75,6 @@ describe('unknownContextProviderRule', () => {
75
75
  }),
76
76
  )
77
77
 
78
- expect(problems).toHaveLength(0)
78
+ expect(problems).toBeEmpty()
79
79
  })
80
80
  })
@@ -115,6 +115,6 @@ describe('createRequiredDirectChildRule', () => {
115
115
  }),
116
116
  )
117
117
 
118
- expect(problems).toHaveLength(0)
118
+ expect(problems).toBeEmpty()
119
119
  })
120
120
  })
@@ -120,6 +120,6 @@ describe('createRequiredDirectParentRule', () => {
120
120
  }),
121
121
  )
122
122
 
123
- expect(problems).toHaveLength(0)
123
+ expect(problems).toBeEmpty()
124
124
  })
125
125
  })
@@ -119,7 +119,7 @@ describe('requiredElementAttributeRule', () => {
119
119
  }),
120
120
  )
121
121
 
122
- expect(problems).toHaveLength(0)
122
+ expect(problems).toBeEmpty()
123
123
  })
124
124
  test('should not detect issues when elements have all required attributes', () => {
125
125
  const problems = Array.from(
@@ -155,7 +155,7 @@ describe('requiredElementAttributeRule', () => {
155
155
  }),
156
156
  )
157
157
 
158
- expect(problems).toHaveLength(0)
158
+ expect(problems).toBeEmpty()
159
159
  })
160
160
 
161
161
  test('should report if attribute is false or null, as such attributes are not rendered', () => {
@@ -256,6 +256,6 @@ describe('requiredElementAttributeRule', () => {
256
256
  }),
257
257
  )
258
258
 
259
- expect(problems).toHaveLength(0)
259
+ expect(problems).toBeEmpty()
260
260
  })
261
261
  })
@@ -216,7 +216,7 @@ describe('elementWithoutInteractiveContentRule', () => {
216
216
  rules: [elementWithoutInteractiveContentRule],
217
217
  }),
218
218
  )
219
- expect(problems).toHaveLength(0)
219
+ expect(problems).toBeEmpty()
220
220
  })
221
221
  test('should detect invalid children when negative attribute requirement is met', () => {
222
222
  const problems = Array.from(
@@ -265,7 +265,7 @@ describe('elementWithoutInteractiveContentRule', () => {
265
265
  rules: [elementWithoutInteractiveContentRule],
266
266
  }),
267
267
  )
268
- expect(problems).toHaveLength(0)
268
+ expect(problems).toBeEmpty()
269
269
  })
270
270
  test('should detect invalid label in button element in nested component', () => {
271
271
  const problems = Array.from(
@@ -396,6 +396,6 @@ describe('elementWithoutInteractiveContentRule', () => {
396
396
  }),
397
397
  )
398
398
 
399
- expect(problems).toHaveLength(0)
399
+ expect(problems).toBeEmpty()
400
400
  })
401
401
  })
@@ -77,7 +77,7 @@ describe('imageWithoutDimensionRule', () => {
77
77
  }),
78
78
  )
79
79
 
80
- expect(problems).toHaveLength(0)
80
+ expect(problems).toBeEmpty()
81
81
  })
82
82
 
83
83
  test('should report if image has width but no height', () => {
@@ -246,7 +246,7 @@ describe('imageWithoutDimensionRule', () => {
246
246
  }),
247
247
  )
248
248
 
249
- expect(problems).toHaveLength(0)
249
+ expect(problems).toBeEmpty()
250
250
  })
251
251
 
252
252
  test('should not report if dimensions are dynamic', () => {
@@ -288,7 +288,7 @@ describe('imageWithoutDimensionRule', () => {
288
288
  }),
289
289
  )
290
290
 
291
- expect(problems).toHaveLength(0)
291
+ expect(problems).toBeEmpty()
292
292
  })
293
293
 
294
294
  test('should not report non-image elements', () => {
@@ -321,7 +321,7 @@ describe('imageWithoutDimensionRule', () => {
321
321
  }),
322
322
  )
323
323
 
324
- expect(problems).toHaveLength(0)
324
+ expect(problems).toBeEmpty()
325
325
  })
326
326
 
327
327
  test('should report if dimensions are set to non-static keywords (auto | empty string)', () => {
@@ -78,6 +78,6 @@ describe('voidElementRule', () => {
78
78
  }),
79
79
  )
80
80
 
81
- expect(problems).toHaveLength(0)
81
+ expect(problems).toBeEmpty()
82
82
  })
83
83
  })