@nordcraft/search 1.0.0 → 1.0.2

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 (38) hide show
  1. package/dist/rules/apis/noReferenceApiInputRule.js +1 -1
  2. package/dist/rules/apis/noReferenceApiInputRule.js.map +1 -1
  3. package/dist/rules/apis/noReferenceApiRule.js +1 -1
  4. package/dist/rules/apis/noReferenceApiRule.js.map +1 -1
  5. package/dist/rules/attributes/noReferenceAttributeRule.js +1 -1
  6. package/dist/rules/attributes/noReferenceAttributeRule.js.map +1 -1
  7. package/dist/rules/formulas/noReferenceComponentFormulaRule.js +6 -2
  8. package/dist/rules/formulas/noReferenceComponentFormulaRule.js.map +1 -1
  9. package/dist/rules/formulas/noReferenceProjectFormulaRule.js +3 -3
  10. package/dist/rules/formulas/noReferenceProjectFormulaRule.js.map +1 -1
  11. package/dist/rules/urlParameters/unknownSetUrlParameterRule.js +6 -7
  12. package/dist/rules/urlParameters/unknownSetUrlParameterRule.js.map +1 -1
  13. package/dist/rules/urlParameters/unknownSetUrlParameterRule.test.js +1 -2
  14. package/dist/rules/urlParameters/unknownSetUrlParameterRule.test.js.map +1 -1
  15. package/dist/rules/urlParameters/unknownSetUrlParametersRule.js +23 -0
  16. package/dist/rules/urlParameters/unknownSetUrlParametersRule.js.map +1 -0
  17. package/dist/rules/urlParameters/unknownSetUrlParametersRule.test.js +148 -0
  18. package/dist/rules/urlParameters/unknownSetUrlParametersRule.test.js.map +1 -0
  19. package/dist/rules/variables/noReferenceVariableRule.js +2 -2
  20. package/dist/rules/variables/noReferenceVariableRule.js.map +1 -1
  21. package/dist/rules/workflows/noReferenceComponentWorkflowRule.js +4 -0
  22. package/dist/rules/workflows/noReferenceComponentWorkflowRule.js.map +1 -1
  23. package/dist/searchProject.js +4 -4
  24. package/dist/searchProject.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/rules/apis/noReferenceApiInputRule.ts +1 -1
  27. package/src/rules/apis/noReferenceApiRule.ts +1 -1
  28. package/src/rules/attributes/noReferenceAttributeRule.ts +1 -1
  29. package/src/rules/formulas/noReferenceComponentFormulaRule.ts +10 -2
  30. package/src/rules/formulas/noReferenceProjectFormulaRule.ts +3 -3
  31. package/src/rules/urlParameters/unknownSetUrlParameterRule.test.ts +1 -2
  32. package/src/rules/urlParameters/unknownSetUrlParameterRule.ts +7 -8
  33. package/src/rules/urlParameters/unknownSetUrlParametersRule.test.ts +159 -0
  34. package/src/rules/urlParameters/unknownSetUrlParametersRule.ts +34 -0
  35. package/src/rules/variables/noReferenceVariableRule.ts +2 -2
  36. package/src/rules/workflows/noReferenceComponentWorkflowRule.ts +5 -0
  37. package/src/searchProject.ts +16 -4
  38. package/src/types.d.ts +1 -0
@@ -22,7 +22,7 @@ export const noReferenceApiInputRule = {
22
22
  const referencedApiInputs = memo(`apiInputReferences/${component.name}/${apiKey}`, () => {
23
23
  const apiFormulaReferences = apiV2.formulasInApi();
24
24
  const referencedApiInputs = new Set();
25
- for (const [, formula] of apiFormulaReferences) {
25
+ for (const { formula } of apiFormulaReferences) {
26
26
  if (formula.type === 'path' && formula.path[0] === 'Args') {
27
27
  referencedApiInputs.add(formula.path[1]);
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceApiInputRule.js","sourceRoot":"","sources":["../../../src/rules/apis/noReferenceApiInputRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAGlE,MAAM,CAAC,MAAM,uBAAuB,GAAgC;IAClE,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;QAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE;YACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;SAC9B,CAAC,CAAA;QACF,MAAM,mBAAmB,GAAG,IAAI,CAC9B,sBAAsB,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE,EAChD,GAAG,EAAE;YACH,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;YAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;YAC7C,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;oBAC1D,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,mBAAmB,CAAA;QAC5B,CAAC,CACF,CAAA;QACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvC,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"noReferenceApiInputRule.js","sourceRoot":"","sources":["../../../src/rules/apis/noReferenceApiInputRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAGlE,MAAM,CAAC,MAAM,uBAAuB,GAAgC;IAClE,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;QAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE;YACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;SAC9B,CAAC,CAAA;QACF,MAAM,mBAAmB,GAAG,IAAI,CAC9B,sBAAsB,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE,EAChD,GAAG,EAAE;YACH,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;YAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;YAC7C,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;oBAC1D,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,mBAAmB,CAAA;QAC5B,CAAC,CACF,CAAA;QACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvC,CAAC;CACF,CAAA"}
@@ -12,7 +12,7 @@ export const noReferenceApiRule = {
12
12
  }
13
13
  const componentApiReferences = memo(`componentApiReferences/${component.name}]`, () => {
14
14
  const usedApis = new Set();
15
- for (const [, formula] of component.formulasInComponent()) {
15
+ for (const { formula } of component.formulasInComponent()) {
16
16
  if (formula.type === 'path' &&
17
17
  formula.path[0] === 'Apis' &&
18
18
  typeof formula.path[1] === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceApiRule.js","sourceRoot":"","sources":["../../../src/rules/apis/noReferenceApiRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,CACjC,0BAA0B,SAAS,CAAC,IAAI,GAAG,EAC3C,GAAG,EAAE;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;YAClC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC1D,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;oBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;oBAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EACnC,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC,CACF,CAAA;QACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"noReferenceApiRule.js","sourceRoot":"","sources":["../../../src/rules/apis/noReferenceApiRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,CACjC,0BAA0B,SAAS,CAAC,IAAI,GAAG,EAC3C,GAAG,EAAE;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;YAClC,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC1D,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;oBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;oBAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EACnC,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC,CACF,CAAA;QACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;CACF,CAAA"}
@@ -13,7 +13,7 @@ export const noReferenceAttributeRule = {
13
13
  }
14
14
  const attrs = memo(`${component.name}-attrs`, () => {
15
15
  const attrs = new Set();
16
- for (const [, formula] of component.formulasInComponent()) {
16
+ for (const { formula } of component.formulasInComponent()) {
17
17
  if (formula.type === 'path' && formula.path[0] === 'Attributes') {
18
18
  attrs.add(formula.path[1]);
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceAttributeRule.js","sourceRoot":"","sources":["../../../src/rules/attributes/noReferenceAttributeRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACtC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;QACjE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,QAAQ,EAAE,GAAG,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;YAC/B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;oBAChE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"noReferenceAttributeRule.js","sourceRoot":"","sources":["../../../src/rules/attributes/noReferenceAttributeRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAe;IAClD,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACtC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;QACjE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,QAAQ,EAAE,GAAG,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;YAC/B,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;oBAChE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;CACF,CAAA"}
@@ -9,7 +9,7 @@ export const noReferenceComponentFormulaRule = {
9
9
  }
10
10
  const { path, files, value, component } = args;
11
11
  const [, componentName, , formulaKey] = path;
12
- for (const [formulaPath, formula] of component.formulasInComponent()) {
12
+ for (const { path: formulaPath, formula, } of component.formulasInComponent()) {
13
13
  if (formula.type === 'apply' &&
14
14
  formula.name === formulaKey &&
15
15
  // Disregard own formula reference.
@@ -20,6 +20,10 @@ export const noReferenceComponentFormulaRule = {
20
20
  return;
21
21
  }
22
22
  }
23
+ // Short circuit if the component is exported and the formula is exposed in context, as it is always indirectly used
24
+ if (value.exposeInContext && component.exported) {
25
+ return;
26
+ }
23
27
  // It is possible that a formula is never used, but still has subscribers
24
28
  const contextSubscribers = [];
25
29
  if (value.exposeInContext) {
@@ -39,7 +43,7 @@ export const noReferenceComponentFormulaRule = {
39
43
  packages: files.packages,
40
44
  },
41
45
  });
42
- for (const [, formula] of contextComponent.formulasInComponent()) {
46
+ for (const { formula } of contextComponent.formulasInComponent()) {
43
47
  if (formula.type === 'path' &&
44
48
  formula.path[0] === 'Contexts' &&
45
49
  formula.path[1] === componentName &&
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceComponentFormulaRule.js","sourceRoot":"","sources":["../../../src/rules/formulas/noReferenceComponentFormulaRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAGhF,MAAM,CAAC,MAAM,+BAA+B,GAGvC;IACH,IAAI,EAAE,gCAAgC;IACtC,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YAC1C,OAAM;QACR,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAC9C,MAAM,CAAC,EAAE,aAAa,EAAE,AAAD,EAAG,UAAU,CAAC,GAAG,IAAI,CAAA;QAC5C,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACrE,IACE,OAAO,CAAC,IAAI,KAAK,OAAO;gBACxB,OAAO,CAAC,IAAI,KAAK,UAAU;gBAC3B,mCAAmC;gBACnC,mGAAmG;gBACnG,sGAAsG;gBACtG,8FAA8F;gBAC9F,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EACjE,CAAC;gBACD,OAAM;YACR,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,oEAAoE;gBACpE,MAAM,SAAS,GAAG,UAAW,CAAA;gBAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAChD,SAAS,CAAC,QAAQ,IAAI,EAAE,CACzB,EAAE,CAAC;oBACF,IACE,UAAU,KAAK,aAAa;wBAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAChD,CAAC;wBACD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;wBACvC,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC;4BAC3C,SAAS;4BACT,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;4BAC9C,WAAW,EAAE,SAAS;4BACtB,cAAc,EAAE;gCACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;6BACzB;yBACF,CAAC,CAAA;wBACF,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,CAAC;4BACjE,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;gCACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;gCAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa;gCACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAC9B,CAAC;gCACD,OAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"noReferenceComponentFormulaRule.js","sourceRoot":"","sources":["../../../src/rules/formulas/noReferenceComponentFormulaRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAGhF,MAAM,CAAC,MAAM,+BAA+B,GAGvC;IACH,IAAI,EAAE,gCAAgC;IACtC,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YAC1C,OAAM;QACR,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAC9C,MAAM,CAAC,EAAE,aAAa,EAAE,AAAD,EAAG,UAAU,CAAC,GAAG,IAAI,CAAA;QAC5C,KAAK,MAAM,EACT,IAAI,EAAE,WAAW,EACjB,OAAO,GACR,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACrC,IACE,OAAO,CAAC,IAAI,KAAK,OAAO;gBACxB,OAAO,CAAC,IAAI,KAAK,UAAU;gBAC3B,mCAAmC;gBACnC,mGAAmG;gBACnG,sGAAsG;gBACtG,8FAA8F;gBAC9F,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EACjE,CAAC;gBACD,OAAM;YACR,CAAC;QACH,CAAC;QAED,oHAAoH;QACpH,IAAI,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAM;QACR,CAAC;QAED,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,oEAAoE;gBACpE,MAAM,SAAS,GAAG,UAAW,CAAA;gBAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAChD,SAAS,CAAC,QAAQ,IAAI,EAAE,CACzB,EAAE,CAAC;oBACF,IACE,UAAU,KAAK,aAAa;wBAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAChD,CAAC;wBACD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;wBACvC,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC;4BAC3C,SAAS;4BACT,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;4BAC9C,WAAW,EAAE,SAAS;4BACtB,cAAc,EAAE;gCACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;6BACzB;yBACF,CAAC,CAAA;wBACF,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,CAAC;4BACjE,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;gCACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;gCAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa;gCACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAC9B,CAAC;gCACD,OAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;CACF,CAAA"}
@@ -17,7 +17,7 @@ export const noReferenceProjectFormulaRule = {
17
17
  globalFormulas: { formulas: files.formulas, packages: files.packages },
18
18
  });
19
19
  const formulas = service.formulasInService();
20
- for (const [_formulaPath, formula] of formulas) {
20
+ for (const { path: _formulaPath, formula } of formulas) {
21
21
  // Check if the formula is used in the formula
22
22
  if (checkFormula(formula, value.name)) {
23
23
  return;
@@ -31,7 +31,7 @@ export const noReferenceProjectFormulaRule = {
31
31
  globalFormulas: { formulas: files.formulas, packages: files.packages },
32
32
  });
33
33
  const formulas = route.formulasInRoute();
34
- for (const [_formulaPath, formula] of formulas) {
34
+ for (const { path: _formulaPath, formula } of formulas) {
35
35
  // Check if the formula is used in the formula
36
36
  if (checkFormula(formula, value.name)) {
37
37
  return;
@@ -51,7 +51,7 @@ export const noReferenceProjectFormulaRule = {
51
51
  packages: files.packages,
52
52
  },
53
53
  });
54
- for (const [, formula] of c.formulasInComponent()) {
54
+ for (const { formula } of c.formulasInComponent()) {
55
55
  if (formula.type === 'function') {
56
56
  usedFormulas.add(formula.name);
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceProjectFormulaRule.js","sourceRoot":"","sources":["../../../src/rules/formulas/noReferenceProjectFormulaRule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"noReferenceProjectFormulaRule.js","sourceRoot":"","sources":["../../../src/rules/formulas/noReferenceProjectFormulaRule.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,16 @@ export const unknownSetUrlParameterRule = {
7
7
  args.value.type !== 'SetURLParameter') {
8
8
  return;
9
9
  }
10
- const parameterName = args.value.parameter;
11
- const component = args.component;
12
- if (
10
+ const isValidParameter = (parameterName) =>
13
11
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
14
- component.route?.path?.some((p) => p.name === parameterName &&
12
+ args.component.route?.path?.some((p) => p.name === parameterName &&
15
13
  // It's only valid to set non-static path parameters
16
14
  p.type === 'param') ||
17
- Object.values(component.route?.query ?? {}).some((q) => q.name === parameterName)) {
18
- return;
15
+ Object.values(args.component.route?.query ?? {}).some((q) => q.name === parameterName);
16
+ const parameterName = args.value.parameter;
17
+ if (!isValidParameter(parameterName)) {
18
+ report(args.path, { name: parameterName });
19
19
  }
20
- report(args.path, { name: parameterName });
21
20
  },
22
21
  };
23
22
  //# sourceMappingURL=unknownSetUrlParameterRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unknownSetUrlParameterRule.js","sourceRoot":"","sources":["../../../src/rules/urlParameters/unknownSetUrlParameterRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAElC;IACH,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IACE,IAAI,CAAC,QAAQ,KAAK,cAAc;YAChC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EACrC,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC;QACE,uEAAuE;QACvE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,aAAa;YACxB,oDAAoD;YACpD,CAAC,CAAC,IAAI,KAAK,OAAO,CACrB;YACD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAChC,EACD,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"unknownSetUrlParameterRule.js","sourceRoot":"","sources":["../../../src/rules/urlParameters/unknownSetUrlParameterRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAElC;IACH,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IACE,IAAI,CAAC,QAAQ,KAAK,cAAc;YAChC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EACrC,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,aAAqB,EAAE,EAAE;QACjD,uEAAuE;QACvE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,aAAa;YACxB,oDAAoD;YACpD,CAAC,CAAC,IAAI,KAAK,OAAO,CAErB;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAChC,CAAA;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAC1C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import { valueFormula } from '@nordcraft/core/dist/formula/formulaUtils';
2
2
  import { searchProject } from '../../searchProject';
3
3
  import { unknownSetUrlParameterRule } from './unknownSetUrlParameterRule';
4
- import { unknownUrlParameterRule } from './unknownUrlParameterRule';
5
4
  describe('unknownSetUrlParameterRule', () => {
6
5
  test('should report setting unknown URL parameters', () => {
7
6
  const problems = Array.from(searchProject({
@@ -143,7 +142,7 @@ describe('unknownSetUrlParameterRule', () => {
143
142
  },
144
143
  },
145
144
  },
146
- rules: [unknownUrlParameterRule],
145
+ rules: [unknownSetUrlParameterRule],
147
146
  }));
148
147
  expect(problems).toEqual([]);
149
148
  });
@@ -1 +1 @@
1
- {"version":3,"file":"unknownSetUrlParameterRule.test.js","sourceRoot":"","sources":["../../../src/rules/urlParameters/unknownSetUrlParameterRule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unknownSetUrlParameterRule.test.js","sourceRoot":"","sources":["../../../src/rules/urlParameters/unknownSetUrlParameterRule.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export const unknownSetUrlParametersRule = {
2
+ code: 'unknown set url parameters',
3
+ level: 'error',
4
+ category: 'Unknown Reference',
5
+ visit: (report, args) => {
6
+ if (args.nodeType !== 'action-model' ||
7
+ args.value.type !== 'SetURLParameters') {
8
+ return;
9
+ }
10
+ const isValidParameter = (parameterName) =>
11
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
12
+ args.component.route?.path?.some((p) => p.name === parameterName &&
13
+ // It's only valid to set non-static path parameters
14
+ p.type === 'param') ||
15
+ Object.values(args.component.route?.query ?? {}).some((q) => q.name === parameterName);
16
+ for (const key of Object.keys(args.value.parameters ?? {})) {
17
+ if (!isValidParameter(key)) {
18
+ report([...args.path, 'parameters', key], { name: key });
19
+ }
20
+ }
21
+ },
22
+ };
23
+ //# sourceMappingURL=unknownSetUrlParametersRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknownSetUrlParametersRule.js","sourceRoot":"","sources":["../../../src/rules/urlParameters/unknownSetUrlParametersRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAEnC;IACH,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IACE,IAAI,CAAC,QAAQ,KAAK,cAAc;YAChC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EACtC,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,aAAqB,EAAE,EAAE;QACjD,uEAAuE;QACvE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,aAAa;YACxB,oDAAoD;YACpD,CAAC,CAAC,IAAI,KAAK,OAAO,CAErB;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAChC,CAAA;QACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,148 @@
1
+ import { valueFormula } from '@nordcraft/core/dist/formula/formulaUtils';
2
+ import { searchProject } from '../../searchProject';
3
+ import { unknownSetUrlParametersRule } from './unknownSetUrlParametersRule';
4
+ describe('unknownSetUrlParametersRule', () => {
5
+ test('should report setting unknown URL parameters', () => {
6
+ const problems = Array.from(searchProject({
7
+ files: {
8
+ components: {
9
+ test: {
10
+ name: 'test',
11
+ nodes: {
12
+ root: {
13
+ type: 'element',
14
+ attrs: {},
15
+ classes: {},
16
+ events: {
17
+ click: {
18
+ trigger: 'click',
19
+ actions: [
20
+ {
21
+ type: 'SetURLParameters',
22
+ parameters: { unknown: valueFormula('newValue') },
23
+ },
24
+ ],
25
+ },
26
+ },
27
+ tag: 'div',
28
+ children: [],
29
+ style: {},
30
+ },
31
+ },
32
+ formulas: {},
33
+ apis: {},
34
+ attributes: {},
35
+ variables: {},
36
+ },
37
+ },
38
+ },
39
+ rules: [unknownSetUrlParametersRule],
40
+ }));
41
+ expect(problems).toHaveLength(1);
42
+ expect(problems[0].code).toBe('unknown set url parameters');
43
+ expect(problems[0].details).toEqual({ name: 'unknown' });
44
+ });
45
+ test('should report setting static path parameters', () => {
46
+ const problems = Array.from(searchProject({
47
+ files: {
48
+ components: {
49
+ test: {
50
+ name: 'test',
51
+ nodes: {
52
+ root: {
53
+ type: 'element',
54
+ attrs: {},
55
+ classes: {},
56
+ events: {
57
+ click: {
58
+ trigger: 'click',
59
+ actions: [
60
+ {
61
+ type: 'SetURLParameters',
62
+ parameters: { knownPath: valueFormula('newValue') },
63
+ },
64
+ ],
65
+ },
66
+ },
67
+ tag: 'div',
68
+ children: [],
69
+ style: {},
70
+ },
71
+ },
72
+ formulas: {},
73
+ apis: {},
74
+ attributes: {},
75
+ variables: {},
76
+ route: {
77
+ path: [
78
+ {
79
+ name: 'knownPath',
80
+ type: 'static',
81
+ },
82
+ ],
83
+ query: {},
84
+ },
85
+ },
86
+ },
87
+ },
88
+ rules: [unknownSetUrlParametersRule],
89
+ }));
90
+ expect(problems).toHaveLength(1);
91
+ expect(problems[0].code).toBe('unknown set url parameters');
92
+ expect(problems[0].details).toEqual({ name: 'knownPath' });
93
+ });
94
+ test('should not report valid url updates', () => {
95
+ const problems = Array.from(searchProject({
96
+ files: {
97
+ components: {
98
+ test: {
99
+ name: 'test',
100
+ nodes: {
101
+ root: {
102
+ type: 'element',
103
+ attrs: {},
104
+ classes: {},
105
+ events: {
106
+ click: {
107
+ trigger: 'click',
108
+ actions: [
109
+ {
110
+ type: 'SetURLParameter',
111
+ parameter: 'known-query',
112
+ data: valueFormula('newValue'),
113
+ },
114
+ {
115
+ type: 'SetURLParameter',
116
+ parameter: 'known-path',
117
+ data: valueFormula('newValue'),
118
+ },
119
+ ],
120
+ },
121
+ },
122
+ tag: 'div',
123
+ children: [],
124
+ style: {},
125
+ },
126
+ },
127
+ formulas: {},
128
+ apis: {},
129
+ attributes: {},
130
+ variables: {},
131
+ route: {
132
+ path: [{ name: 'known-path', type: 'param', testValue: 'bla' }],
133
+ query: {
134
+ 'known-query': {
135
+ name: 'known-query',
136
+ testValue: '',
137
+ },
138
+ },
139
+ },
140
+ },
141
+ },
142
+ },
143
+ rules: [unknownSetUrlParametersRule],
144
+ }));
145
+ expect(problems).toEqual([]);
146
+ });
147
+ });
148
+ //# sourceMappingURL=unknownSetUrlParametersRule.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknownSetUrlParametersRule.test.js","sourceRoot":"","sources":["../../../src/rules/urlParameters/unknownSetUrlParametersRule.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE3E,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,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,kBAAkB;gDACxB,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE;6CAClD;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;qBACd;iBACF;aACF;YACD,KAAK,EAAE,CAAC,2BAA2B,CAAC;SACrC,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,4BAA4B,CAAC,CAAA;QAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,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,kBAAkB;gDACxB,UAAU,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE;6CACpD;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,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ;oCACE,IAAI,EAAE,WAAW;oCACjB,IAAI,EAAE,QAAQ;iCACf;6BACF;4BACD,KAAK,EAAE,EAAE;yBACV;qBACF;iBACF;aACF;YACD,KAAK,EAAE,CAAC,2BAA2B,CAAC;SACrC,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,4BAA4B,CAAC,CAAA;QAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,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,SAAS,EAAE,aAAa;gDACxB,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;6CAC/B;4CACD;gDACE,IAAI,EAAE,iBAAiB;gDACvB,SAAS,EAAE,YAAY;gDACvB,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;6CAC/B;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,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4BAC/D,KAAK,EAAE;gCACL,aAAa,EAAE;oCACb,IAAI,EAAE,aAAa;oCACnB,SAAS,EAAE,EAAE;iCACd;6BACF;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE,CAAC,2BAA2B,CAAC;SACrC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -9,10 +9,10 @@ export const noReferenceVariableRule = {
9
9
  const { path, memo, component } = args;
10
10
  const [, , , variableKey] = path;
11
11
  const variableInComponent = memo(`variableInComponent/${component.name}`, () => new Set(Array.from(component.formulasInComponent())
12
- .filter(([, formula]) => formula.type === 'path' &&
12
+ .filter(({ formula }) => formula.type === 'path' &&
13
13
  formula.path[0] === 'Variables' &&
14
14
  formula.path[1])
15
- .map(([, formula]) => formula.path[1])));
15
+ .map(({ formula }) => formula.path[1])));
16
16
  if (variableInComponent.has(variableKey)) {
17
17
  return;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceVariableRule.js","sourceRoot":"","sources":["../../../src/rules/variables/noReferenceVariableRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAe;IACjD,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAEtC,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,WAAW,CAAC,GAAG,IAAI,CAAA;QAEhC,MAAM,mBAAmB,GAAG,IAAI,CAC9B,uBAAuB,SAAS,CAAC,IAAI,EAAE,EACvC,GAAG,EAAE,CACH,IAAI,GAAG,CACL,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;aACxC,MAAM,CACL,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CACd,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB;aACA,GAAG,CAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAE,OAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACnE,CACJ,CAAA;QAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"noReferenceVariableRule.js","sourceRoot":"","sources":["../../../src/rules/variables/noReferenceVariableRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAe;IACjD,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAEtC,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,WAAW,CAAC,GAAG,IAAI,CAAA;QAEhC,MAAM,mBAAmB,GAAG,IAAI,CAC9B,uBAAuB,SAAS,CAAC,IAAI,EAAE,EACvC,GAAG,EAAE,CACH,IAAI,GAAG,CACL,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;aACxC,MAAM,CACL,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB;aACA,GAAG,CAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAE,OAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACnE,CACJ,CAAA;QAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;CACF,CAAA"}
@@ -21,6 +21,10 @@ export const noReferenceComponentWorkflowRule = {
21
21
  return;
22
22
  }
23
23
  }
24
+ // Short circuit if the component is exported and the workflow is exposed in context, as it is always indirectly used
25
+ if (value.exposeInContext && component.exported) {
26
+ return;
27
+ }
24
28
  // It is possible that a formula is never used, but still has subscribers
25
29
  const contextSubscribers = [];
26
30
  if (value.exposeInContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"noReferenceComponentWorkflowRule.js","sourceRoot":"","sources":["../../../src/rules/workflows/noReferenceComponentWorkflowRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAGhF,MAAM,CAAC,MAAM,gCAAgC,GAGxC;IACH,IAAI,EAAE,iCAAiC;IACvC,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAE9C,MAAM,CAAC,EAAE,aAAa,EAAE,AAAD,EAAG,WAAW,CAAC,GAAG,IAAI,CAAA;QAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACvE,IACE,MAAM,CAAC,IAAI,KAAK,iBAAiB;gBACjC,MAAM,CAAC,QAAQ,KAAK,WAAW;gBAC/B,oCAAoC;gBACpC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EACjE,CAAC;gBACD,OAAM;YACR,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,oEAAoE;gBACpE,MAAM,SAAS,GAAG,UAAW,CAAA;gBAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAChD,SAAS,CAAC,QAAQ,IAAI,EAAE,CACzB,EAAE,CAAC;oBACF,IACE,UAAU,KAAK,aAAa;wBAC5B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAClD,CAAC;wBACD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;wBACvC,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC;4BAC3C,SAAS;4BACT,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;4BAC9C,WAAW,EAAE,SAAS;4BACtB,cAAc,EAAE;gCACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;6BACzB;yBACF,CAAC,CAAA;wBACF,KAAK,MAAM,CACT,AADU,EAEV,MAAM,EACP,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,EAAE,CAAC;4BAChD,IACE,MAAM,CAAC,IAAI,KAAK,iBAAiB;gCACjC,MAAM,CAAC,eAAe,KAAK,aAAa;gCACxC,MAAM,CAAC,QAAQ,KAAK,WAAW,EAC/B,CAAC;gCACD,OAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"noReferenceComponentWorkflowRule.js","sourceRoot":"","sources":["../../../src/rules/workflows/noReferenceComponentWorkflowRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAGhF,MAAM,CAAC,MAAM,gCAAgC,GAGxC;IACH,IAAI,EAAE,iCAAiC;IACvC,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAE9C,MAAM,CAAC,EAAE,aAAa,EAAE,AAAD,EAAG,WAAW,CAAC,GAAG,IAAI,CAAA;QAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACvE,IACE,MAAM,CAAC,IAAI,KAAK,iBAAiB;gBACjC,MAAM,CAAC,QAAQ,KAAK,WAAW;gBAC/B,oCAAoC;gBACpC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EACjE,CAAC;gBACD,OAAM;YACR,CAAC;QACH,CAAC;QAED,qHAAqH;QACrH,IAAI,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAM;QACR,CAAC;QAED,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,oEAAoE;gBACpE,MAAM,SAAS,GAAG,UAAW,CAAA;gBAC7B,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAChD,SAAS,CAAC,QAAQ,IAAI,EAAE,CACzB,EAAE,CAAC;oBACF,IACE,UAAU,KAAK,aAAa;wBAC5B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAClD,CAAC;wBACD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;wBACvC,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC;4BAC3C,SAAS;4BACT,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;4BAC9C,WAAW,EAAE,SAAS;4BACtB,cAAc,EAAE;gCACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gCACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;6BACzB;yBACF,CAAC,CAAA;wBACF,KAAK,MAAM,CACT,AADU,EAEV,MAAM,EACP,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,EAAE,CAAC;4BAChD,IACE,MAAM,CAAC,IAAI,KAAK,iBAAiB;gCACjC,MAAM,CAAC,eAAe,KAAK,aAAa;gCACxC,MAAM,CAAC,QAAQ,KAAK,WAAW,EAC/B,CAAC;gCACD,OAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;CACF,CAAA"}
@@ -253,7 +253,7 @@ function* visitNode(args, state) {
253
253
  component,
254
254
  }, state);
255
255
  }
256
- for (const [formulaPath, formula] of component.formulasInComponent()) {
256
+ for (const { path: formulaPath, formula, } of component.formulasInComponent()) {
257
257
  yield* visitNode({
258
258
  nodeType: 'formula',
259
259
  value: formula,
@@ -289,7 +289,7 @@ function* visitNode(args, state) {
289
289
  },
290
290
  });
291
291
  formula.formulasInFormula();
292
- for (const [formulaPath, f] of formula.formulasInFormula()) {
292
+ for (const { path: formulaPath, formula: f, } of formula.formulasInFormula()) {
293
293
  yield* visitNode({
294
294
  nodeType: 'formula',
295
295
  value: f,
@@ -329,7 +329,7 @@ function* visitNode(args, state) {
329
329
  packages: files.packages,
330
330
  },
331
331
  });
332
- for (const [formulaPath, formula] of apiService.formulasInService()) {
332
+ for (const { path: formulaPath, formula, } of apiService.formulasInService()) {
333
333
  yield* visitNode({
334
334
  nodeType: 'formula',
335
335
  value: formula,
@@ -350,7 +350,7 @@ function* visitNode(args, state) {
350
350
  packages: files.packages,
351
351
  },
352
352
  });
353
- for (const [formulaPath, formula] of projectRoute.formulasInRoute()) {
353
+ for (const { path: formulaPath, formula, } of projectRoute.formulasInRoute()) {
354
354
  yield* visitNode({
355
355
  nodeType: 'formula',
356
356
  value: formula,
@@ -1 +1 @@
1
- {"version":3,"file":"searchProject.js","sourceRoot":"","sources":["../src/searchProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchProject.js","sourceRoot":"","sources":["../src/searchProject.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/nordcraftengine/nordcraft",
7
7
  "dependencies": {
8
- "@nordcraft/ssr": "1.0.0"
8
+ "@nordcraft/ssr": "1.0.2"
9
9
  },
10
10
  "scripts": {
11
11
  "build": "tsc",
@@ -17,5 +17,5 @@
17
17
  "test:watch:only": "bun test --watch --only"
18
18
  },
19
19
  "files": ["dist", "src"],
20
- "version": "1.0.0"
20
+ "version": "1.0.2"
21
21
  }
@@ -26,7 +26,7 @@ export const noReferenceApiInputRule: Rule<{ inputName: string }> = {
26
26
  () => {
27
27
  const apiFormulaReferences = apiV2.formulasInApi()
28
28
  const referencedApiInputs = new Set<string>()
29
- for (const [, formula] of apiFormulaReferences) {
29
+ for (const { formula } of apiFormulaReferences) {
30
30
  if (formula.type === 'path' && formula.path[0] === 'Args') {
31
31
  referencedApiInputs.add(formula.path[1])
32
32
  }
@@ -17,7 +17,7 @@ export const noReferenceApiRule: Rule<void> = {
17
17
  `componentApiReferences/${component.name}]`,
18
18
  () => {
19
19
  const usedApis = new Set<string>()
20
- for (const [, formula] of component.formulasInComponent()) {
20
+ for (const { formula } of component.formulasInComponent()) {
21
21
  if (
22
22
  formula.type === 'path' &&
23
23
  formula.path[0] === 'Apis' &&
@@ -15,7 +15,7 @@ export const noReferenceAttributeRule: Rule<void> = {
15
15
  }
16
16
  const attrs = memo(`${component.name}-attrs`, () => {
17
17
  const attrs = new Set<string>()
18
- for (const [, formula] of component.formulasInComponent()) {
18
+ for (const { formula } of component.formulasInComponent()) {
19
19
  if (formula.type === 'path' && formula.path[0] === 'Attributes') {
20
20
  attrs.add(formula.path[1])
21
21
  }
@@ -15,7 +15,10 @@ export const noReferenceComponentFormulaRule: Rule<{
15
15
 
16
16
  const { path, files, value, component } = args
17
17
  const [, componentName, , formulaKey] = path
18
- for (const [formulaPath, formula] of component.formulasInComponent()) {
18
+ for (const {
19
+ path: formulaPath,
20
+ formula,
21
+ } of component.formulasInComponent()) {
19
22
  if (
20
23
  formula.type === 'apply' &&
21
24
  formula.name === formulaKey &&
@@ -29,6 +32,11 @@ export const noReferenceComponentFormulaRule: Rule<{
29
32
  }
30
33
  }
31
34
 
35
+ // Short circuit if the component is exported and the formula is exposed in context, as it is always indirectly used
36
+ if (value.exposeInContext && component.exported) {
37
+ return
38
+ }
39
+
32
40
  // It is possible that a formula is never used, but still has subscribers
33
41
  const contextSubscribers = []
34
42
  if (value.exposeInContext) {
@@ -52,7 +60,7 @@ export const noReferenceComponentFormulaRule: Rule<{
52
60
  packages: files.packages,
53
61
  },
54
62
  })
55
- for (const [, formula] of contextComponent.formulasInComponent()) {
63
+ for (const { formula } of contextComponent.formulasInComponent()) {
56
64
  if (
57
65
  formula.type === 'path' &&
58
66
  formula.path[0] === 'Contexts' &&
@@ -21,7 +21,7 @@ export const noReferenceProjectFormulaRule: Rule<void> = {
21
21
  globalFormulas: { formulas: files.formulas, packages: files.packages },
22
22
  })
23
23
  const formulas = service.formulasInService()
24
- for (const [_formulaPath, formula] of formulas) {
24
+ for (const { path: _formulaPath, formula } of formulas) {
25
25
  // Check if the formula is used in the formula
26
26
  if (checkFormula(formula, value.name)) {
27
27
  return
@@ -36,7 +36,7 @@ export const noReferenceProjectFormulaRule: Rule<void> = {
36
36
  globalFormulas: { formulas: files.formulas, packages: files.packages },
37
37
  })
38
38
  const formulas = route.formulasInRoute()
39
- for (const [_formulaPath, formula] of formulas) {
39
+ for (const { path: _formulaPath, formula } of formulas) {
40
40
  // Check if the formula is used in the formula
41
41
  if (checkFormula(formula, value.name)) {
42
42
  return
@@ -59,7 +59,7 @@ export const noReferenceProjectFormulaRule: Rule<void> = {
59
59
  packages: files.packages,
60
60
  },
61
61
  })
62
- for (const [, formula] of c.formulasInComponent()) {
62
+ for (const { formula } of c.formulasInComponent()) {
63
63
  if (formula.type === 'function') {
64
64
  usedFormulas.add(formula.name)
65
65
  }
@@ -1,7 +1,6 @@
1
1
  import { valueFormula } from '@nordcraft/core/dist/formula/formulaUtils'
2
2
  import { searchProject } from '../../searchProject'
3
3
  import { unknownSetUrlParameterRule } from './unknownSetUrlParameterRule'
4
- import { unknownUrlParameterRule } from './unknownUrlParameterRule'
5
4
 
6
5
  describe('unknownSetUrlParameterRule', () => {
7
6
  test('should report setting unknown URL parameters', () => {
@@ -153,7 +152,7 @@ describe('unknownSetUrlParameterRule', () => {
153
152
  },
154
153
  },
155
154
  },
156
- rules: [unknownUrlParameterRule],
155
+ rules: [unknownSetUrlParameterRule],
157
156
  }),
158
157
  )
159
158
 
@@ -13,22 +13,21 @@ export const unknownSetUrlParameterRule: Rule<{
13
13
  ) {
14
14
  return
15
15
  }
16
- const parameterName = args.value.parameter
17
- const component = args.component
18
- if (
16
+ const isValidParameter = (parameterName: string) =>
19
17
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
20
- component.route?.path?.some(
18
+ args.component.route?.path?.some(
21
19
  (p) =>
22
20
  p.name === parameterName &&
23
21
  // It's only valid to set non-static path parameters
24
22
  p.type === 'param',
23
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
25
24
  ) ||
26
- Object.values(component.route?.query ?? {}).some(
25
+ Object.values(args.component.route?.query ?? {}).some(
27
26
  (q) => q.name === parameterName,
28
27
  )
29
- ) {
30
- return
28
+ const parameterName = args.value.parameter
29
+ if (!isValidParameter(parameterName)) {
30
+ report(args.path, { name: parameterName })
31
31
  }
32
- report(args.path, { name: parameterName })
33
32
  },
34
33
  }
@@ -0,0 +1,159 @@
1
+ import { valueFormula } from '@nordcraft/core/dist/formula/formulaUtils'
2
+ import { searchProject } from '../../searchProject'
3
+ import { unknownSetUrlParametersRule } from './unknownSetUrlParametersRule'
4
+
5
+ describe('unknownSetUrlParametersRule', () => {
6
+ test('should report setting unknown URL parameters', () => {
7
+ const problems = Array.from(
8
+ searchProject({
9
+ files: {
10
+ components: {
11
+ test: {
12
+ name: 'test',
13
+ nodes: {
14
+ root: {
15
+ type: 'element',
16
+ attrs: {},
17
+ classes: {},
18
+ events: {
19
+ click: {
20
+ trigger: 'click',
21
+ actions: [
22
+ {
23
+ type: 'SetURLParameters',
24
+ parameters: { unknown: valueFormula('newValue') },
25
+ },
26
+ ],
27
+ },
28
+ },
29
+ tag: 'div',
30
+ children: [],
31
+ style: {},
32
+ },
33
+ },
34
+ formulas: {},
35
+ apis: {},
36
+ attributes: {},
37
+ variables: {},
38
+ },
39
+ },
40
+ },
41
+ rules: [unknownSetUrlParametersRule],
42
+ }),
43
+ )
44
+
45
+ expect(problems).toHaveLength(1)
46
+ expect(problems[0].code).toBe('unknown set url parameters')
47
+ expect(problems[0].details).toEqual({ name: 'unknown' })
48
+ })
49
+
50
+ test('should report setting static path parameters', () => {
51
+ const problems = Array.from(
52
+ searchProject({
53
+ files: {
54
+ components: {
55
+ test: {
56
+ name: 'test',
57
+ nodes: {
58
+ root: {
59
+ type: 'element',
60
+ attrs: {},
61
+ classes: {},
62
+ events: {
63
+ click: {
64
+ trigger: 'click',
65
+ actions: [
66
+ {
67
+ type: 'SetURLParameters',
68
+ parameters: { knownPath: valueFormula('newValue') },
69
+ },
70
+ ],
71
+ },
72
+ },
73
+ tag: 'div',
74
+ children: [],
75
+ style: {},
76
+ },
77
+ },
78
+ formulas: {},
79
+ apis: {},
80
+ attributes: {},
81
+ variables: {},
82
+ route: {
83
+ path: [
84
+ {
85
+ name: 'knownPath',
86
+ type: 'static',
87
+ },
88
+ ],
89
+ query: {},
90
+ },
91
+ },
92
+ },
93
+ },
94
+ rules: [unknownSetUrlParametersRule],
95
+ }),
96
+ )
97
+
98
+ expect(problems).toHaveLength(1)
99
+ expect(problems[0].code).toBe('unknown set url parameters')
100
+ expect(problems[0].details).toEqual({ name: 'knownPath' })
101
+ })
102
+
103
+ test('should not report valid url updates', () => {
104
+ const problems = Array.from(
105
+ searchProject({
106
+ files: {
107
+ components: {
108
+ test: {
109
+ name: 'test',
110
+ nodes: {
111
+ root: {
112
+ type: 'element',
113
+ attrs: {},
114
+ classes: {},
115
+ events: {
116
+ click: {
117
+ trigger: 'click',
118
+ actions: [
119
+ {
120
+ type: 'SetURLParameter',
121
+ parameter: 'known-query',
122
+ data: valueFormula('newValue'),
123
+ },
124
+ {
125
+ type: 'SetURLParameter',
126
+ parameter: 'known-path',
127
+ data: valueFormula('newValue'),
128
+ },
129
+ ],
130
+ },
131
+ },
132
+ tag: 'div',
133
+ children: [],
134
+ style: {},
135
+ },
136
+ },
137
+ formulas: {},
138
+ apis: {},
139
+ attributes: {},
140
+ variables: {},
141
+ route: {
142
+ path: [{ name: 'known-path', type: 'param', testValue: 'bla' }],
143
+ query: {
144
+ 'known-query': {
145
+ name: 'known-query',
146
+ testValue: '',
147
+ },
148
+ },
149
+ },
150
+ },
151
+ },
152
+ },
153
+ rules: [unknownSetUrlParametersRule],
154
+ }),
155
+ )
156
+
157
+ expect(problems).toEqual([])
158
+ })
159
+ })
@@ -0,0 +1,34 @@
1
+ import type { Rule } from '../../types'
2
+
3
+ export const unknownSetUrlParametersRule: Rule<{
4
+ name: string
5
+ }> = {
6
+ code: 'unknown set url parameters',
7
+ level: 'error',
8
+ category: 'Unknown Reference',
9
+ visit: (report, args) => {
10
+ if (
11
+ args.nodeType !== 'action-model' ||
12
+ args.value.type !== 'SetURLParameters'
13
+ ) {
14
+ return
15
+ }
16
+ const isValidParameter = (parameterName: string) =>
17
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
18
+ args.component.route?.path?.some(
19
+ (p) =>
20
+ p.name === parameterName &&
21
+ // It's only valid to set non-static path parameters
22
+ p.type === 'param',
23
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
24
+ ) ||
25
+ Object.values(args.component.route?.query ?? {}).some(
26
+ (q) => q.name === parameterName,
27
+ )
28
+ for (const key of Object.keys(args.value.parameters ?? {})) {
29
+ if (!isValidParameter(key)) {
30
+ report([...args.path, 'parameters', key], { name: key })
31
+ }
32
+ }
33
+ },
34
+ }
@@ -18,12 +18,12 @@ export const noReferenceVariableRule: Rule<void> = {
18
18
  new Set(
19
19
  Array.from(component.formulasInComponent())
20
20
  .filter(
21
- ([, formula]) =>
21
+ ({ formula }) =>
22
22
  formula.type === 'path' &&
23
23
  formula.path[0] === 'Variables' &&
24
24
  formula.path[1],
25
25
  )
26
- .map<string | number>(([, formula]) => (formula as any).path[1]),
26
+ .map<string | number>(({ formula }) => (formula as any).path[1]),
27
27
  ),
28
28
  )
29
29
 
@@ -32,6 +32,11 @@ export const noReferenceComponentWorkflowRule: Rule<{
32
32
  }
33
33
  }
34
34
 
35
+ // Short circuit if the component is exported and the workflow is exposed in context, as it is always indirectly used
36
+ if (value.exposeInContext && component.exported) {
37
+ return
38
+ }
39
+
35
40
  // It is possible that a formula is never used, but still has subscribers
36
41
  const contextSubscribers = []
37
42
  if (value.exposeInContext) {
@@ -347,7 +347,10 @@ function* visitNode(
347
347
  )
348
348
  }
349
349
 
350
- for (const [formulaPath, formula] of component.formulasInComponent()) {
350
+ for (const {
351
+ path: formulaPath,
352
+ formula,
353
+ } of component.formulasInComponent()) {
351
354
  yield* visitNode(
352
355
  {
353
356
  nodeType: 'formula',
@@ -391,7 +394,10 @@ function* visitNode(
391
394
  },
392
395
  })
393
396
  formula.formulasInFormula()
394
- for (const [formulaPath, f] of formula.formulasInFormula()) {
397
+ for (const {
398
+ path: formulaPath,
399
+ formula: f,
400
+ } of formula.formulasInFormula()) {
395
401
  yield* visitNode(
396
402
  {
397
403
  nodeType: 'formula',
@@ -439,7 +445,10 @@ function* visitNode(
439
445
  packages: files.packages,
440
446
  },
441
447
  })
442
- for (const [formulaPath, formula] of apiService.formulasInService()) {
448
+ for (const {
449
+ path: formulaPath,
450
+ formula,
451
+ } of apiService.formulasInService()) {
443
452
  yield* visitNode(
444
453
  {
445
454
  nodeType: 'formula',
@@ -464,7 +473,10 @@ function* visitNode(
464
473
  packages: files.packages,
465
474
  },
466
475
  })
467
- for (const [formulaPath, formula] of projectRoute.formulasInRoute()) {
476
+ for (const {
477
+ path: formulaPath,
478
+ formula,
479
+ } of projectRoute.formulasInRoute()) {
468
480
  yield* visitNode(
469
481
  {
470
482
  nodeType: 'formula',
package/src/types.d.ts CHANGED
@@ -74,6 +74,7 @@ type Code =
74
74
  | 'unknown repeat index formula'
75
75
  | 'unknown repeat item formula'
76
76
  | 'unknown set url parameter'
77
+ | 'unknown set url parameters'
77
78
  | 'unknown trigger event'
78
79
  | 'unknown trigger workflow'
79
80
  | 'unknown url parameter'