@nordcraft/search 1.0.80 → 1.0.82

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.
@@ -0,0 +1,52 @@
1
+ import { ISSUE_RULES } from './rules/issues/issueRules.index';
2
+ import { searchProject } from './searchProject';
3
+ export const findProblems = (data, reportResults) => {
4
+ const { files, options = {} } = data;
5
+ const idRespond = (results) => reportResults({
6
+ id: data.id,
7
+ results,
8
+ });
9
+ const rules = ISSUE_RULES.filter((rule) => (!options.categories || options.categories.includes(rule.category)) &&
10
+ (!options.levels || options.levels.includes(rule.level)) &&
11
+ !options.rulesToExclude?.includes(rule.code));
12
+ let batch = [];
13
+ let fileType;
14
+ let fileName;
15
+ for (const problem of searchProject({
16
+ files,
17
+ rules,
18
+ pathsToVisit: options.pathsToVisit,
19
+ useExactPaths: options.useExactPaths,
20
+ state: options.state,
21
+ })) {
22
+ switch (options.batchSize) {
23
+ case 'all': {
24
+ batch.push(problem);
25
+ break;
26
+ }
27
+ case 'per-file': {
28
+ if (fileType !== problem.path[0] || fileName !== problem.path[1]) {
29
+ if (batch.length > 0) {
30
+ idRespond(batch);
31
+ }
32
+ batch = [];
33
+ fileType = problem.path[0];
34
+ fileName = problem.path[1];
35
+ }
36
+ batch.push(problem);
37
+ break;
38
+ }
39
+ default: {
40
+ batch.push(problem);
41
+ if (batch.length >= (options.batchSize ?? 1)) {
42
+ idRespond(batch);
43
+ batch = [];
44
+ }
45
+ break;
46
+ }
47
+ }
48
+ }
49
+ // Send the remaining results
50
+ idRespond(batch);
51
+ };
52
+ //# sourceMappingURL=findProblems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findProblems.js","sourceRoot":"","sources":["../src/findProblems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAsB,EACtB,aAAsD,EACtD,EAAE,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IACpC,MAAM,SAAS,GAAG,CAAC,OAAiB,EAAE,EAAE,CACtC,aAAa,CAAC;QACZ,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,OAAO;KACR,CAAC,CAAA;IACJ,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/C,CAAA;IAED,IAAI,KAAK,GAAa,EAAE,CAAA;IACxB,IAAI,QAAqC,CAAA;IACzC,IAAI,QAAqC,CAAA;IACzC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC;QAClC,KAAK;QACL,KAAK;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,EAAE,CAAC;QACH,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,MAAK;YACP,CAAC;YACD,KAAK,UAAU,EAAE,CAAC;gBAChB,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,SAAS,CAAC,KAAK,CAAC,CAAA;oBAClB,CAAC;oBACD,KAAK,GAAG,EAAE,CAAA;oBACV,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC1B,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC5B,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,MAAK;YACP,CAAC;YAED,SAAS,CAAC;gBACR,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC7C,SAAS,CAAC,KAAK,CAAC,CAAA;oBAChB,KAAK,GAAG,EAAE,CAAA;gBACZ,CAAC;gBACD,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,SAAS,CAAC,KAAK,CAAC,CAAA;AAAA,CACjB,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { create } from 'jsondiffpatch';
2
+ import { fixProject } from './fixProject';
3
+ import { ISSUE_RULES } from './rules/issues/issueRules.index';
4
+ export const fixProblems = (data, reportResults) => {
5
+ const { files, options = {}, fixRule } = data;
6
+ const rule = ISSUE_RULES.find((r) => r.code === fixRule);
7
+ if (!rule) {
8
+ throw new Error(`Unknown fix rule: ${data.fixRule}`);
9
+ }
10
+ const updatedFiles = fixProject({
11
+ files,
12
+ rule,
13
+ fixType: data.fixType,
14
+ pathsToVisit: options.pathsToVisit,
15
+ useExactPaths: options.useExactPaths,
16
+ state: options.state,
17
+ });
18
+ // Calculate diff
19
+ const jsonDiffPatch = create({ omitRemovedValues: true });
20
+ const diff = jsonDiffPatch.diff(files, updatedFiles);
21
+ // Send diff + metadata to main thread
22
+ reportResults({
23
+ id: data.id,
24
+ patch: diff,
25
+ fixRule: data.fixRule,
26
+ fixType: data.fixType,
27
+ });
28
+ };
29
+ //# sourceMappingURL=fixProblems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixProblems.js","sourceRoot":"","sources":["../src/fixProblems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG7D,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAqB,EACrB,aAAqD,EACrD,EAAE,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC;QAC9B,KAAK;QACL,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAA;IACF,iBAAiB;IACjB,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACpD,sCAAsC;IACtC,aAAa,CAAC;QACZ,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAA;AAAA,CACH,CAAA"}
@@ -1,91 +1,15 @@
1
- import { create } from 'jsondiffpatch';
2
- import { fixProject } from './fixProject';
3
- import { ISSUE_RULES } from './rules/issues/issueRules.index';
4
- import { searchProject } from './searchProject';
1
+ import { findProblems } from './findProblems';
2
+ import { fixProblems } from './fixProblems';
5
3
  const respond = (data) => postMessage(data);
6
- const findProblems = (data) => {
7
- const { files, options = {} } = data;
8
- const idRespond = (results) => respond({
9
- id: data.id,
10
- results,
11
- });
12
- const rules = ISSUE_RULES.filter((rule) => (!options.categories || options.categories.includes(rule.category)) &&
13
- (!options.levels || options.levels.includes(rule.level)) &&
14
- !options.rulesToExclude?.includes(rule.code));
15
- let batch = [];
16
- let fileType;
17
- let fileName;
18
- for (const problem of searchProject({
19
- files,
20
- rules,
21
- pathsToVisit: options.pathsToVisit,
22
- useExactPaths: options.useExactPaths,
23
- state: options.state,
24
- })) {
25
- switch (options.batchSize) {
26
- case 'all': {
27
- batch.push(problem);
28
- break;
29
- }
30
- case 'per-file': {
31
- if (fileType !== problem.path[0] || fileName !== problem.path[1]) {
32
- if (batch.length > 0) {
33
- idRespond(batch);
34
- }
35
- batch = [];
36
- fileType = problem.path[0];
37
- fileName = problem.path[1];
38
- }
39
- batch.push(problem);
40
- break;
41
- }
42
- default: {
43
- batch.push(problem);
44
- if (batch.length >= (options.batchSize ?? 1)) {
45
- idRespond(batch);
46
- batch = [];
47
- }
48
- break;
49
- }
50
- }
51
- }
52
- // Send the remaining results
53
- idRespond(batch);
54
- };
55
- const fixProblems = (data) => {
56
- const { files, options = {}, fixRule } = data;
57
- const rule = ISSUE_RULES.find((r) => r.code === fixRule);
58
- if (!rule) {
59
- throw new Error(`Unknown fix rule: ${data.fixRule}`);
60
- }
61
- const updatedFiles = fixProject({
62
- files,
63
- rule,
64
- fixType: data.fixType,
65
- pathsToVisit: options.pathsToVisit,
66
- useExactPaths: options.useExactPaths,
67
- state: options.state,
68
- });
69
- // Calculate diff
70
- const jsonDiffPatch = create({ omitRemovedValues: true });
71
- const diff = jsonDiffPatch.diff(files, updatedFiles);
72
- // Send diff + metadata to main thread
73
- respond({
74
- id: data.id,
75
- patch: diff,
76
- fixRule: data.fixRule,
77
- fixType: data.fixType,
78
- });
79
- };
80
4
  /**
81
5
  * This function is a web worker that checks for problems in the files.
82
6
  */
83
7
  onmessage = (event) => {
84
8
  if ('fixRule' in event.data) {
85
- fixProblems(event.data);
9
+ fixProblems(event.data, respond);
86
10
  }
87
11
  else {
88
- findProblems(event.data);
12
+ findProblems(event.data, respond);
89
13
  }
90
14
  };
91
15
  //# sourceMappingURL=problems.worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"problems.worker.js","sourceRoot":"","sources":["../src/problems.worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"problems.worker.js","sourceRoot":"","sources":["../src/problems.worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAY3C,MAAM,OAAO,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAErD;;GAEG;AACH,SAAS,GAAG,CAAC,KAA4B,EAAE,EAAE,CAAC;IAC5C,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5B,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;AAAA,CACF,CAAA"}
@@ -6,7 +6,8 @@ export const unknownApiRule = {
6
6
  const isApiFormula = nodeType === 'formula' &&
7
7
  value.type === 'path' &&
8
8
  value.path[0] === 'Apis';
9
- const isApiAction = nodeType === 'action-model' && value.type === 'Fetch';
9
+ const isApiAction = nodeType === 'action-model' &&
10
+ (value.type === 'Fetch' || value.type === 'AbortFetch');
10
11
  if (!isApiFormula && !isApiAction) {
11
12
  return;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unknownApiRule.js","sourceRoot":"","sources":["../../../../src/rules/issues/apis/unknownApiRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAEtB;IACH,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACnD,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS;YACtB,KAAK,CAAC,IAAI,KAAK,MAAM;YACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;QAC1B,MAAM,WAAW,GAAG,QAAQ,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAA;QACzE,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QACD,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,IAAI,CAAA;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;YAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;IAAA,CACF;CACF,CAAA"}
1
+ {"version":3,"file":"unknownApiRule.js","sourceRoot":"","sources":["../../../../src/rules/issues/apis/unknownApiRule.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAEtB;IACH,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACnD,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS;YACtB,KAAK,CAAC,IAAI,KAAK,MAAM;YACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;QAC1B,MAAM,WAAW,GACf,QAAQ,KAAK,cAAc;YAC3B,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QACzD,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QACD,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,IAAI,CAAA;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;YAC7B,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;IAAA,CACF;CACF,CAAA"}
@@ -66,6 +66,10 @@ describe('unknownApi', () => {
66
66
  onSuccess: { actions: [] },
67
67
  onError: { actions: [] },
68
68
  },
69
+ {
70
+ type: 'AbortFetch',
71
+ api: 'unknown-abort-api',
72
+ },
69
73
  ],
70
74
  },
71
75
  },
@@ -91,9 +95,11 @@ describe('unknownApi', () => {
91
95
  },
92
96
  rules: [unknownApiRule],
93
97
  }));
94
- expect(problems).toHaveLength(1);
98
+ expect(problems).toHaveLength(2);
95
99
  expect(problems[0].code).toBe('unknown api');
96
100
  expect(problems[0].details).toEqual({ name: 'unknown-api' });
101
+ expect(problems[1].code).toBe('unknown api');
102
+ expect(problems[1].details).toEqual({ name: 'unknown-abort-api' });
97
103
  });
98
104
  test('should not report APIs that exist', () => {
99
105
  const problems = Array.from(searchProject({
@@ -1 +1 @@
1
- {"version":3,"file":"unknownApiRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/apis/unknownApiRule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unknownApiRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/apis/unknownApiRule.test.ts"],"names":[],"mappings":"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"}
@@ -113,5 +113,59 @@ describe('unknownProjectFormulaRule', () => {
113
113
  }));
114
114
  expect(problems).toBeEmpty();
115
115
  });
116
+ test('should not report unknown formulas from within packages', () => {
117
+ const problems = Array.from(searchProject({
118
+ files: {
119
+ formulas: {},
120
+ packages: {
121
+ 'my-package': {
122
+ components: {},
123
+ actions: {},
124
+ formulas: {
125
+ 'package-formula': {
126
+ formula: {
127
+ type: 'function',
128
+ name: 'non-existent-formula',
129
+ arguments: [],
130
+ },
131
+ name: 'package-formula',
132
+ arguments: [],
133
+ },
134
+ },
135
+ manifest: {
136
+ name: 'my-package',
137
+ commit: '123',
138
+ },
139
+ },
140
+ },
141
+ components: {
142
+ test: {
143
+ name: 'test',
144
+ nodes: {
145
+ root: {
146
+ type: 'element',
147
+ attrs: {
148
+ test: functionFormula('package-formula', {
149
+ package: 'my-package',
150
+ }),
151
+ },
152
+ classes: {},
153
+ events: {},
154
+ tag: 'div',
155
+ children: [],
156
+ style: {},
157
+ },
158
+ },
159
+ formulas: {},
160
+ apis: {},
161
+ attributes: {},
162
+ variables: {},
163
+ },
164
+ },
165
+ },
166
+ rules: [unknownProjectFormulaRule],
167
+ }));
168
+ expect(problems).toBeEmpty();
169
+ });
116
170
  });
117
171
  //# sourceMappingURL=unknownProjectFormulaRule.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unknownProjectFormulaRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/formulas/unknownProjectFormulaRule.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,GACb,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC;IAC1C,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE;oCACL,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC;oCACxC,YAAY,EAAE,eAAe,CAAC,iBAAiB,EAAE;wCAC/C,OAAO,EAAE,YAAY;qCACtB,CAAC;iCACH;gCACD,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE,EAAE;gCACV,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,yBAAyB,CAAC;SACnC,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,yBAAyB,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,YAAY;YACZ,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,MAAM;SACP,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,YAAY;YACZ,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,YAAY;SACb,CAAC,CAAA;IAAA,CACH,CAAC,CAAA;IACF,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,QAAQ,EAAE;oBACR,eAAe,EAAE;wBACf,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;wBAC3B,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,EAAE;qBACd;iBACF;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE;wBACZ,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE;4BACR,iBAAiB,EAAE;gCACjB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;gCAC3B,IAAI,EAAE,iBAAiB;gCACvB,SAAS,EAAE,EAAE;6BACd;yBACF;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,KAAK;yBACd;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE;oCACL,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;oCACtC,YAAY,EAAE,eAAe,CAAC,iBAAiB,EAAE;wCAC/C,OAAO,EAAE,YAAY;qCACtB,CAAC;oCACF,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC;iCACrC;gCACD,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE,EAAE;gCACV,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,yBAAyB,CAAC;SACnC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;IAAA,CAC7B,CAAC,CAAA;AAAA,CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"unknownProjectFormulaRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/formulas/unknownProjectFormulaRule.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,GACb,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC;IAC1C,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE;oCACL,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC;oCACxC,YAAY,EAAE,eAAe,CAAC,iBAAiB,EAAE;wCAC/C,OAAO,EAAE,YAAY;qCACtB,CAAC;iCACH;gCACD,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE,EAAE;gCACV,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,yBAAyB,CAAC;SACnC,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,yBAAyB,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,YAAY;YACZ,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,MAAM;SACP,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,YAAY;YACZ,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,YAAY;SACb,CAAC,CAAA;IAAA,CACH,CAAC,CAAA;IACF,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,QAAQ,EAAE;oBACR,eAAe,EAAE;wBACf,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;wBAC3B,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,EAAE;qBACd;iBACF;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE;wBACZ,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE;4BACR,iBAAiB,EAAE;gCACjB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;gCAC3B,IAAI,EAAE,iBAAiB;gCACvB,SAAS,EAAE,EAAE;6BACd;yBACF;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,KAAK;yBACd;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE;oCACL,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;oCACtC,YAAY,EAAE,eAAe,CAAC,iBAAiB,EAAE;wCAC/C,OAAO,EAAE,YAAY;qCACtB,CAAC;oCACF,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC;iCACrC;gCACD,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE,EAAE;gCACV,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,yBAAyB,CAAC;SACnC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;IAAA,CAC7B,CAAC,CAAA;IAEF,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,aAAa,CAAC;YACZ,KAAK,EAAE;gBACL,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE;oBACR,YAAY,EAAE;wBACZ,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;wBACX,QAAQ,EAAE;4BACR,iBAAiB,EAAE;gCACjB,OAAO,EAAE;oCACP,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,sBAAsB;oCAC5B,SAAS,EAAE,EAAE;iCACd;gCACD,IAAI,EAAE,iBAAiB;gCACvB,SAAS,EAAE,EAAE;6BACd;yBACF;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,KAAK;yBACd;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,KAAK,EAAE;oCACL,IAAI,EAAE,eAAe,CAAC,iBAAiB,EAAE;wCACvC,OAAO,EAAE,YAAY;qCACtB,CAAC;iCACH;gCACD,OAAO,EAAE,EAAE;gCACX,MAAM,EAAE,EAAE;gCACV,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,yBAAyB,CAAC;SACnC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;IAAA,CAC7B,CAAC,CAAA;AAAA,CACH,CAAC,CAAA"}
@@ -432,7 +432,11 @@ function* visitNode({ args, state, fixOptions, }) {
432
432
  }
433
433
  }
434
434
  }
435
- for (const { path: formulaPath, formula, } of component.formulasInComponent()) {
435
+ for (const { path: formulaPath, formula, packageName, } of component.formulasInComponent()) {
436
+ if (packageName && packageName !== 'root') {
437
+ // Skip reporting issues from inside package formulas
438
+ continue;
439
+ }
436
440
  yield* visitNode({
437
441
  args: {
438
442
  nodeType: 'formula',
@@ -520,7 +524,11 @@ function* visitNode({ args, state, fixOptions, }) {
520
524
  packages: files.packages,
521
525
  },
522
526
  });
523
- for (const { path: formulaPath, formula: f, } of formula.formulasInFormula()) {
527
+ for (const { path: formulaPath, formula: f, packageName, } of formula.formulasInFormula()) {
528
+ if (packageName && packageName !== 'root') {
529
+ // Skip reporting issues from inside package formulas
530
+ continue;
531
+ }
524
532
  yield* visitNode({
525
533
  args: {
526
534
  nodeType: '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
@@ -10,8 +10,8 @@
10
10
  "directory": "packages/search"
11
11
  },
12
12
  "dependencies": {
13
- "@nordcraft/ssr": "1.0.80",
14
- "@nordcraft/core": "1.0.80",
13
+ "@nordcraft/ssr": "1.0.82",
14
+ "@nordcraft/core": "1.0.82",
15
15
  "jsondiffpatch": "0.7.3",
16
16
  "postcss": "8.5.6",
17
17
  "zod": "4.2.1"
@@ -26,5 +26,5 @@
26
26
  "test:watch:only": "bun test --watch --only"
27
27
  },
28
28
  "files": ["dist", "src"],
29
- "version": "1.0.80"
29
+ "version": "1.0.82"
30
30
  }
@@ -0,0 +1,64 @@
1
+ import { ISSUE_RULES } from './rules/issues/issueRules.index'
2
+ import { searchProject } from './searchProject'
3
+ import type { FindProblemsArgs, FindProblemsResponse, Result } from './types'
4
+
5
+ export const findProblems = (
6
+ data: FindProblemsArgs,
7
+ reportResults: (results: FindProblemsResponse) => void,
8
+ ) => {
9
+ const { files, options = {} } = data
10
+ const idRespond = (results: Result[]) =>
11
+ reportResults({
12
+ id: data.id,
13
+ results,
14
+ })
15
+ const rules = ISSUE_RULES.filter(
16
+ (rule) =>
17
+ (!options.categories || options.categories.includes(rule.category)) &&
18
+ (!options.levels || options.levels.includes(rule.level)) &&
19
+ !options.rulesToExclude?.includes(rule.code),
20
+ )
21
+
22
+ let batch: Result[] = []
23
+ let fileType: string | number | undefined
24
+ let fileName: string | number | undefined
25
+ for (const problem of searchProject({
26
+ files,
27
+ rules,
28
+ pathsToVisit: options.pathsToVisit,
29
+ useExactPaths: options.useExactPaths,
30
+ state: options.state,
31
+ })) {
32
+ switch (options.batchSize) {
33
+ case 'all': {
34
+ batch.push(problem)
35
+ break
36
+ }
37
+ case 'per-file': {
38
+ if (fileType !== problem.path[0] || fileName !== problem.path[1]) {
39
+ if (batch.length > 0) {
40
+ idRespond(batch)
41
+ }
42
+ batch = []
43
+ fileType = problem.path[0]
44
+ fileName = problem.path[1]
45
+ }
46
+
47
+ batch.push(problem)
48
+ break
49
+ }
50
+
51
+ default: {
52
+ batch.push(problem)
53
+ if (batch.length >= (options.batchSize ?? 1)) {
54
+ idRespond(batch)
55
+ batch = []
56
+ }
57
+ break
58
+ }
59
+ }
60
+ }
61
+
62
+ // Send the remaining results
63
+ idRespond(batch)
64
+ }
@@ -0,0 +1,34 @@
1
+ import { create } from 'jsondiffpatch'
2
+ import { fixProject } from './fixProject'
3
+ import { ISSUE_RULES } from './rules/issues/issueRules.index'
4
+ import type { FixProblemsArgs, FixProblemsResponse } from './types'
5
+
6
+ export const fixProblems = (
7
+ data: FixProblemsArgs,
8
+ reportResults: (results: FixProblemsResponse) => void,
9
+ ) => {
10
+ const { files, options = {}, fixRule } = data
11
+ const rule = ISSUE_RULES.find((r) => r.code === fixRule)
12
+ if (!rule) {
13
+ throw new Error(`Unknown fix rule: ${data.fixRule}`)
14
+ }
15
+
16
+ const updatedFiles = fixProject({
17
+ files,
18
+ rule,
19
+ fixType: data.fixType,
20
+ pathsToVisit: options.pathsToVisit,
21
+ useExactPaths: options.useExactPaths,
22
+ state: options.state,
23
+ })
24
+ // Calculate diff
25
+ const jsonDiffPatch = create({ omitRemovedValues: true })
26
+ const diff = jsonDiffPatch.diff(files, updatedFiles)
27
+ // Send diff + metadata to main thread
28
+ reportResults({
29
+ id: data.id,
30
+ patch: diff,
31
+ fixRule: data.fixRule,
32
+ fixType: data.fixType,
33
+ })
34
+ }
@@ -1,174 +1,25 @@
1
- import type { ProjectFiles } from '@nordcraft/ssr/dist/ssr.types'
2
- import type { Delta } from 'jsondiffpatch'
3
- import { create } from 'jsondiffpatch'
4
- import { fixProject } from './fixProject'
5
- import { ISSUE_RULES } from './rules/issues/issueRules.index'
6
- import { searchProject } from './searchProject'
1
+ import { findProblems } from './findProblems'
2
+ import { fixProblems } from './fixProblems'
7
3
  import type {
8
- ApplicationState,
9
- Category,
10
- Code,
11
- FixType,
12
- Level,
13
- Result,
4
+ FindProblemsArgs,
5
+ FindProblemsResponse,
6
+ FixProblemsArgs,
7
+ FixProblemsResponse,
14
8
  } from './types'
15
9
 
16
- export type Options = {
17
- /**
18
- * Useful for running search on a subset or a single file.
19
- */
20
- pathsToVisit?: string[][]
21
- /**
22
- * Whether to match the paths exactly (including length) or just the beginning.
23
- */
24
- useExactPaths?: boolean
25
- /**
26
- * Search only rules with these specific categories. If empty, all categories are shown.
27
- */
28
- categories?: Category[]
29
- /**
30
- * Search only rules with the specific levels. If empty, all levels are shown.
31
- */
32
- levels?: Level[]
33
- /**
34
- * The number of reports to send per message.
35
- * @default 1
36
- */
37
- batchSize?: number | 'all' | 'per-file'
38
- /**
39
- * Dynamic data that is used by some rules.
40
- */
41
- state?: ApplicationState
42
- /**
43
- * Do not run rules with these codes. Useful for feature flagged rules
44
- */
45
- rulesToExclude?: Code[]
46
- }
47
-
48
- interface FindProblemsArgs {
49
- id: string
50
- files: ProjectFiles
51
- options?: Options
52
- }
53
-
54
- interface FixProblemsArgs {
55
- id: string
56
- files: ProjectFiles
57
- options?: Options
58
- fixRule: Code
59
- fixType: FixType
60
- }
61
-
62
10
  type Message = FindProblemsArgs | FixProblemsArgs
63
11
 
64
- interface FindProblemsResponse {
65
- id: string
66
- results: Result[]
67
- }
68
-
69
- interface FixProblemsResponse {
70
- id: string
71
- patch: Delta
72
- fixRule: Code
73
- fixType: FixType
74
- }
75
-
76
12
  type Response = FindProblemsResponse | FixProblemsResponse
77
13
 
78
14
  const respond = (data: Response) => postMessage(data)
79
15
 
80
- const findProblems = (data: FindProblemsArgs) => {
81
- const { files, options = {} } = data
82
- const idRespond = (results: Result[]) =>
83
- respond({
84
- id: data.id,
85
- results,
86
- })
87
- const rules = ISSUE_RULES.filter(
88
- (rule) =>
89
- (!options.categories || options.categories.includes(rule.category)) &&
90
- (!options.levels || options.levels.includes(rule.level)) &&
91
- !options.rulesToExclude?.includes(rule.code),
92
- )
93
-
94
- let batch: Result[] = []
95
- let fileType: string | number | undefined
96
- let fileName: string | number | undefined
97
- for (const problem of searchProject({
98
- files,
99
- rules,
100
- pathsToVisit: options.pathsToVisit,
101
- useExactPaths: options.useExactPaths,
102
- state: options.state,
103
- })) {
104
- switch (options.batchSize) {
105
- case 'all': {
106
- batch.push(problem)
107
- break
108
- }
109
- case 'per-file': {
110
- if (fileType !== problem.path[0] || fileName !== problem.path[1]) {
111
- if (batch.length > 0) {
112
- idRespond(batch)
113
- }
114
- batch = []
115
- fileType = problem.path[0]
116
- fileName = problem.path[1]
117
- }
118
-
119
- batch.push(problem)
120
- break
121
- }
122
-
123
- default: {
124
- batch.push(problem)
125
- if (batch.length >= (options.batchSize ?? 1)) {
126
- idRespond(batch)
127
- batch = []
128
- }
129
- break
130
- }
131
- }
132
- }
133
-
134
- // Send the remaining results
135
- idRespond(batch)
136
- }
137
-
138
- const fixProblems = (data: FixProblemsArgs) => {
139
- const { files, options = {}, fixRule } = data
140
- const rule = ISSUE_RULES.find((r) => r.code === fixRule)
141
- if (!rule) {
142
- throw new Error(`Unknown fix rule: ${data.fixRule}`)
143
- }
144
-
145
- const updatedFiles = fixProject({
146
- files,
147
- rule,
148
- fixType: data.fixType,
149
- pathsToVisit: options.pathsToVisit,
150
- useExactPaths: options.useExactPaths,
151
- state: options.state,
152
- })
153
- // Calculate diff
154
- const jsonDiffPatch = create({ omitRemovedValues: true })
155
- const diff = jsonDiffPatch.diff(files, updatedFiles)
156
- // Send diff + metadata to main thread
157
- respond({
158
- id: data.id,
159
- patch: diff,
160
- fixRule: data.fixRule,
161
- fixType: data.fixType,
162
- })
163
- }
164
-
165
16
  /**
166
17
  * This function is a web worker that checks for problems in the files.
167
18
  */
168
19
  onmessage = (event: MessageEvent<Message>) => {
169
20
  if ('fixRule' in event.data) {
170
- fixProblems(event.data)
21
+ fixProblems(event.data, respond)
171
22
  } else {
172
- findProblems(event.data)
23
+ findProblems(event.data, respond)
173
24
  }
174
25
  }
@@ -72,6 +72,10 @@ describe('unknownApi', () => {
72
72
  onSuccess: { actions: [] },
73
73
  onError: { actions: [] },
74
74
  },
75
+ {
76
+ type: 'AbortFetch',
77
+ api: 'unknown-abort-api',
78
+ },
75
79
  ],
76
80
  },
77
81
  },
@@ -99,9 +103,11 @@ describe('unknownApi', () => {
99
103
  }),
100
104
  )
101
105
 
102
- expect(problems).toHaveLength(1)
106
+ expect(problems).toHaveLength(2)
103
107
  expect(problems[0].code).toBe('unknown api')
104
108
  expect(problems[0].details).toEqual({ name: 'unknown-api' })
109
+ expect(problems[1].code).toBe('unknown api')
110
+ expect(problems[1].details).toEqual({ name: 'unknown-abort-api' })
105
111
  })
106
112
 
107
113
  test('should not report APIs that exist', () => {
@@ -11,7 +11,9 @@ export const unknownApiRule: Rule<{
11
11
  nodeType === 'formula' &&
12
12
  value.type === 'path' &&
13
13
  value.path[0] === 'Apis'
14
- const isApiAction = nodeType === 'action-model' && value.type === 'Fetch'
14
+ const isApiAction =
15
+ nodeType === 'action-model' &&
16
+ (value.type === 'Fetch' || value.type === 'AbortFetch')
15
17
  if (!isApiFormula && !isApiAction) {
16
18
  return
17
19
  }
@@ -123,4 +123,62 @@ describe('unknownProjectFormulaRule', () => {
123
123
 
124
124
  expect(problems).toBeEmpty()
125
125
  })
126
+
127
+ test('should not report unknown formulas from within packages', () => {
128
+ const problems = Array.from(
129
+ searchProject({
130
+ files: {
131
+ formulas: {},
132
+ packages: {
133
+ 'my-package': {
134
+ components: {},
135
+ actions: {},
136
+ formulas: {
137
+ 'package-formula': {
138
+ formula: {
139
+ type: 'function',
140
+ name: 'non-existent-formula',
141
+ arguments: [],
142
+ },
143
+ name: 'package-formula',
144
+ arguments: [],
145
+ },
146
+ },
147
+ manifest: {
148
+ name: 'my-package',
149
+ commit: '123',
150
+ },
151
+ },
152
+ },
153
+ components: {
154
+ test: {
155
+ name: 'test',
156
+ nodes: {
157
+ root: {
158
+ type: 'element',
159
+ attrs: {
160
+ test: functionFormula('package-formula', {
161
+ package: 'my-package',
162
+ }),
163
+ },
164
+ classes: {},
165
+ events: {},
166
+ tag: 'div',
167
+ children: [],
168
+ style: {},
169
+ },
170
+ },
171
+ formulas: {},
172
+ apis: {},
173
+ attributes: {},
174
+ variables: {},
175
+ },
176
+ },
177
+ },
178
+ rules: [unknownProjectFormulaRule],
179
+ }),
180
+ )
181
+
182
+ expect(problems).toBeEmpty()
183
+ })
126
184
  })
@@ -548,7 +548,13 @@ function* visitNode({
548
548
  for (const {
549
549
  path: formulaPath,
550
550
  formula,
551
+ packageName,
551
552
  } of component.formulasInComponent()) {
553
+ if (packageName && packageName !== 'root') {
554
+ // Skip reporting issues from inside package formulas
555
+ continue
556
+ }
557
+
552
558
  yield* visitNode({
553
559
  args: {
554
560
  nodeType: 'formula',
@@ -644,7 +650,13 @@ function* visitNode({
644
650
  for (const {
645
651
  path: formulaPath,
646
652
  formula: f,
653
+ packageName,
647
654
  } of formula.formulasInFormula()) {
655
+ if (packageName && packageName !== 'root') {
656
+ // Skip reporting issues from inside package formulas
657
+ continue
658
+ }
659
+
648
660
  yield* visitNode({
649
661
  args: {
650
662
  nodeType: 'formula',
package/src/types.d.ts CHANGED
@@ -137,7 +137,7 @@ type Category =
137
137
 
138
138
  type Level = 'error' | 'warning' | 'info'
139
139
 
140
- export type Result = {
140
+ type Result = {
141
141
  path: (string | number)[]
142
142
  code: Code
143
143
  category: Category
@@ -168,7 +168,7 @@ type NonHttpOnlyCookie = ApplicationCookie & {
168
168
  value: string
169
169
  }
170
170
 
171
- export interface ApplicationState {
171
+ interface ApplicationState {
172
172
  cookiesAvailable?: Array<HttpOnlyCookie | NonHttpOnlyCookie>
173
173
  isBrowserExtensionAvailable?: boolean
174
174
  projectDetails?: ToddleProject
@@ -377,7 +377,7 @@ type StyleNode = {
377
377
  }
378
378
  } & Base
379
379
 
380
- export type NodeType =
380
+ type NodeType =
381
381
  | ActionModelNode
382
382
  | ComponentAPIInputNode
383
383
  | ComponentAPINode
@@ -425,7 +425,7 @@ type FixType =
425
425
  | UnknownApiServiceRuleFix
426
426
  | UnknownComponentAttributeRuleFix
427
427
 
428
- export interface Rule<T = unknown, V = NodeType> {
428
+ interface Rule<T = unknown, V = NodeType> {
429
429
  category: Category
430
430
  code: Code
431
431
  level: Level
@@ -443,6 +443,64 @@ interface FixFunctionArgs<Data extends NodeType, Details = unknown> {
443
443
  state?: ApplicationState
444
444
  }
445
445
 
446
- export type FixFunction<Data extends NodeType, Details = unknown> = (
446
+ type FixFunction<Data extends NodeType, Details = unknown> = (
447
447
  args: FixFunctionArgs<Data, Details>,
448
448
  ) => ProjectFiles | void
449
+
450
+ type Options = {
451
+ /**
452
+ * Useful for running search on a subset or a single file.
453
+ */
454
+ pathsToVisit?: string[][]
455
+ /**
456
+ * Whether to match the paths exactly (including length) or just the beginning.
457
+ */
458
+ useExactPaths?: boolean
459
+ /**
460
+ * Search only rules with these specific categories. If empty, all categories are shown.
461
+ */
462
+ categories?: Category[]
463
+ /**
464
+ * Search only rules with the specific levels. If empty, all levels are shown.
465
+ */
466
+ levels?: Level[]
467
+ /**
468
+ * The number of reports to send per message.
469
+ * @default 1
470
+ */
471
+ batchSize?: number | 'all' | 'per-file'
472
+ /**
473
+ * Dynamic data that is used by some rules.
474
+ */
475
+ state?: ApplicationState
476
+ /**
477
+ * Do not run rules with these codes. Useful for feature flagged rules
478
+ */
479
+ rulesToExclude?: Code[]
480
+ }
481
+
482
+ interface FindProblemsArgs {
483
+ id: string
484
+ files: ProjectFiles
485
+ options?: Options
486
+ }
487
+
488
+ interface FindProblemsResponse {
489
+ id: string
490
+ results: Result[]
491
+ }
492
+
493
+ interface FixProblemsArgs {
494
+ id: string
495
+ files: ProjectFiles
496
+ options?: Options
497
+ fixRule: Code
498
+ fixType: FixType
499
+ }
500
+
501
+ interface FixProblemsResponse {
502
+ id: string
503
+ patch: Delta
504
+ fixRule: Code
505
+ fixType: FixType
506
+ }