@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.
- package/dist/rules/apis/noReferenceApiInputRule.js +1 -1
- package/dist/rules/apis/noReferenceApiInputRule.js.map +1 -1
- package/dist/rules/apis/noReferenceApiRule.js +1 -1
- package/dist/rules/apis/noReferenceApiRule.js.map +1 -1
- package/dist/rules/attributes/noReferenceAttributeRule.js +1 -1
- package/dist/rules/attributes/noReferenceAttributeRule.js.map +1 -1
- package/dist/rules/formulas/noReferenceComponentFormulaRule.js +6 -2
- package/dist/rules/formulas/noReferenceComponentFormulaRule.js.map +1 -1
- package/dist/rules/formulas/noReferenceProjectFormulaRule.js +3 -3
- package/dist/rules/formulas/noReferenceProjectFormulaRule.js.map +1 -1
- package/dist/rules/urlParameters/unknownSetUrlParameterRule.js +6 -7
- package/dist/rules/urlParameters/unknownSetUrlParameterRule.js.map +1 -1
- package/dist/rules/urlParameters/unknownSetUrlParameterRule.test.js +1 -2
- package/dist/rules/urlParameters/unknownSetUrlParameterRule.test.js.map +1 -1
- package/dist/rules/urlParameters/unknownSetUrlParametersRule.js +23 -0
- package/dist/rules/urlParameters/unknownSetUrlParametersRule.js.map +1 -0
- package/dist/rules/urlParameters/unknownSetUrlParametersRule.test.js +148 -0
- package/dist/rules/urlParameters/unknownSetUrlParametersRule.test.js.map +1 -0
- package/dist/rules/variables/noReferenceVariableRule.js +2 -2
- package/dist/rules/variables/noReferenceVariableRule.js.map +1 -1
- package/dist/rules/workflows/noReferenceComponentWorkflowRule.js +4 -0
- package/dist/rules/workflows/noReferenceComponentWorkflowRule.js.map +1 -1
- package/dist/searchProject.js +4 -4
- package/dist/searchProject.js.map +1 -1
- package/package.json +2 -2
- package/src/rules/apis/noReferenceApiInputRule.ts +1 -1
- package/src/rules/apis/noReferenceApiRule.ts +1 -1
- package/src/rules/attributes/noReferenceAttributeRule.ts +1 -1
- package/src/rules/formulas/noReferenceComponentFormulaRule.ts +10 -2
- package/src/rules/formulas/noReferenceProjectFormulaRule.ts +3 -3
- package/src/rules/urlParameters/unknownSetUrlParameterRule.test.ts +1 -2
- package/src/rules/urlParameters/unknownSetUrlParameterRule.ts +7 -8
- package/src/rules/urlParameters/unknownSetUrlParametersRule.test.ts +159 -0
- package/src/rules/urlParameters/unknownSetUrlParametersRule.ts +34 -0
- package/src/rules/variables/noReferenceVariableRule.ts +2 -2
- package/src/rules/workflows/noReferenceComponentWorkflowRule.ts +5 -0
- package/src/searchProject.ts +16 -4
- 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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG7D,MAAM,CAAC,MAAM,6BAA6B,GAAe;IACvD,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,IAAI,QAAQ,KAAK,iBAAiB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAM;QACR,CAAC;QAED,8DAA8D;QAC9D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;gBACnC,OAAO,EAAE,UAAU;gBACnB,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;aACvE,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAA;YAC5C,KAAK,MAAM,
|
|
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
|
|
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
|
-
|
|
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,
|
|
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: [
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;
|
|
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((
|
|
12
|
+
.filter(({ formula }) => formula.type === 'path' &&
|
|
13
13
|
formula.path[0] === 'Variables' &&
|
|
14
14
|
formula.path[1])
|
|
15
|
-
.map((
|
|
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,
|
|
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"}
|
package/dist/searchProject.js
CHANGED
|
@@ -253,7 +253,7 @@ function* visitNode(args, state) {
|
|
|
253
253
|
component,
|
|
254
254
|
}, state);
|
|
255
255
|
}
|
|
256
|
-
for (const
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: [
|
|
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
|
|
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
|
-
|
|
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
|
-
(
|
|
21
|
+
({ formula }) =>
|
|
22
22
|
formula.type === 'path' &&
|
|
23
23
|
formula.path[0] === 'Variables' &&
|
|
24
24
|
formula.path[1],
|
|
25
25
|
)
|
|
26
|
-
.map<string | number>((
|
|
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) {
|
package/src/searchProject.ts
CHANGED
|
@@ -347,7 +347,10 @@ function* visitNode(
|
|
|
347
347
|
)
|
|
348
348
|
}
|
|
349
349
|
|
|
350
|
-
for (const
|
|
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
|
|
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
|
|
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
|
|
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