@nordcraft/search 1.0.66 → 1.0.68

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 (31) hide show
  1. package/dist/rules/issues/actions/actionRules.index.js +4 -0
  2. package/dist/rules/issues/actions/actionRules.index.js.map +1 -1
  3. package/dist/rules/issues/actions/unknownActionArgumentRule.js +37 -0
  4. package/dist/rules/issues/actions/unknownActionArgumentRule.js.map +1 -0
  5. package/dist/rules/issues/actions/unknownActionArgumentRule.test.js +306 -0
  6. package/dist/rules/issues/actions/unknownActionArgumentRule.test.js.map +1 -0
  7. package/dist/rules/issues/actions/unknownActionEventRule.js +26 -0
  8. package/dist/rules/issues/actions/unknownActionEventRule.js.map +1 -0
  9. package/dist/rules/issues/actions/unknownActionEventRule.test.js +281 -0
  10. package/dist/rules/issues/actions/unknownActionEventRule.test.js.map +1 -0
  11. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js +57 -0
  12. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js.map +1 -0
  13. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.test.js +230 -0
  14. package/dist/rules/issues/style/noReferenceGlobalCSSVariable.test.js.map +1 -0
  15. package/dist/rules/issues/style/styleRules.index.js +6 -1
  16. package/dist/rules/issues/style/styleRules.index.js.map +1 -1
  17. package/dist/searchProject.js +65 -0
  18. package/dist/searchProject.js.map +1 -1
  19. package/dist/util/helpers.js.map +1 -1
  20. package/package.json +3 -3
  21. package/src/rules/issues/actions/actionRules.index.ts +4 -0
  22. package/src/rules/issues/actions/unknownActionArgumentRule.test.ts +319 -0
  23. package/src/rules/issues/actions/unknownActionArgumentRule.ts +51 -0
  24. package/src/rules/issues/actions/unknownActionEventRule.test.ts +295 -0
  25. package/src/rules/issues/actions/unknownActionEventRule.ts +35 -0
  26. package/src/rules/issues/style/noReferenceGlobalCSSVariable.test.ts +246 -0
  27. package/src/rules/issues/style/noReferenceGlobalCSSVariable.ts +78 -0
  28. package/src/rules/issues/style/styleRules.index.ts +6 -1
  29. package/src/searchProject.ts +68 -0
  30. package/src/types.d.ts +41 -0
  31. package/src/util/helpers.ts +2 -4
@@ -0,0 +1,281 @@
1
+ import { describe, expect, test } from 'bun:test';
2
+ import { fixProject } from '../../../fixProject';
3
+ import { searchProject } from '../../../searchProject';
4
+ import { unknownActionEventRule } from './unknownActionEventRule';
5
+ describe('finds unknownActionEventRule', () => {
6
+ test('should find invalid action events', () => {
7
+ const problems = Array.from(searchProject({
8
+ files: {
9
+ actions: {
10
+ 'legacy-action': {
11
+ name: 'legacy-action',
12
+ handler: '',
13
+ arguments: [],
14
+ events: {
15
+ success: { dummyEvent: 'hello' },
16
+ },
17
+ variableArguments: false,
18
+ },
19
+ 'modern-action': {
20
+ name: 'modern-action',
21
+ handler: '',
22
+ version: 2,
23
+ arguments: [],
24
+ events: {
25
+ success: { dummyEvent: 'hello' },
26
+ },
27
+ variableArguments: false,
28
+ },
29
+ },
30
+ components: {
31
+ test: {
32
+ name: 'test',
33
+ nodes: {},
34
+ formulas: {},
35
+ apis: {},
36
+ attributes: {},
37
+ variables: {},
38
+ onLoad: {
39
+ trigger: 'onLoad',
40
+ actions: [
41
+ {
42
+ name: 'legacy-action',
43
+ arguments: [],
44
+ events: {
45
+ nonExistingEvent: { actions: [] },
46
+ },
47
+ },
48
+ {
49
+ name: 'modern-action',
50
+ arguments: [],
51
+ events: {
52
+ nonExistingEvent: { actions: [] },
53
+ },
54
+ },
55
+ ],
56
+ },
57
+ },
58
+ },
59
+ },
60
+ rules: [unknownActionEventRule],
61
+ }));
62
+ expect(problems).toHaveLength(2);
63
+ expect(problems[0].code).toBe('unknown action event');
64
+ expect(problems[0].details).toEqual({ name: 'nonExistingEvent' });
65
+ expect(problems[0].path).toEqual([
66
+ 'components',
67
+ 'test',
68
+ 'onLoad',
69
+ 'actions',
70
+ '0',
71
+ 'events',
72
+ 'nonExistingEvent',
73
+ ]);
74
+ expect(problems[1].code).toBe('unknown action event');
75
+ expect(problems[1].details).toEqual({ name: 'nonExistingEvent' });
76
+ expect(problems[1].path).toEqual([
77
+ 'components',
78
+ 'test',
79
+ 'onLoad',
80
+ 'actions',
81
+ '1',
82
+ 'events',
83
+ 'nonExistingEvent',
84
+ ]);
85
+ });
86
+ test('should not find valid action events', () => {
87
+ const problems = Array.from(searchProject({
88
+ files: {
89
+ actions: {
90
+ 'legacy-action': {
91
+ name: 'legacy-action',
92
+ handler: '',
93
+ arguments: [],
94
+ events: {
95
+ success: { dummyEvent: 'hello' },
96
+ },
97
+ variableArguments: false,
98
+ },
99
+ 'modern-action': {
100
+ name: 'modern-action',
101
+ handler: '',
102
+ version: 2,
103
+ arguments: [],
104
+ events: {
105
+ success: { dummyEvent: 'hello' },
106
+ },
107
+ variableArguments: false,
108
+ },
109
+ },
110
+ components: {
111
+ test: {
112
+ name: 'test',
113
+ nodes: {},
114
+ formulas: {},
115
+ apis: {},
116
+ attributes: {},
117
+ variables: {},
118
+ onLoad: {
119
+ trigger: 'onLoad',
120
+ actions: [
121
+ {
122
+ name: 'legacy-action',
123
+ arguments: [],
124
+ events: {
125
+ success: { actions: [] },
126
+ },
127
+ },
128
+ {
129
+ name: 'modern-action',
130
+ arguments: [],
131
+ events: {
132
+ success: { actions: [] },
133
+ },
134
+ },
135
+ ],
136
+ },
137
+ },
138
+ },
139
+ },
140
+ rules: [unknownActionEventRule],
141
+ }));
142
+ expect(problems).toHaveLength(0);
143
+ });
144
+ });
145
+ describe('fix unknownActionEventRule', () => {
146
+ test('should fix invalid action events', () => {
147
+ const fixedProject = fixProject({
148
+ files: {
149
+ actions: {
150
+ 'legacy-action': {
151
+ name: 'legacy-action',
152
+ handler: '',
153
+ arguments: [],
154
+ events: {
155
+ success: { dummyEvent: 'hello' },
156
+ },
157
+ variableArguments: false,
158
+ },
159
+ 'modern-action': {
160
+ name: 'modern-action',
161
+ handler: '',
162
+ version: 2,
163
+ arguments: [],
164
+ events: {
165
+ success: { dummyEvent: 'hello' },
166
+ },
167
+ variableArguments: false,
168
+ },
169
+ },
170
+ components: {
171
+ test: {
172
+ name: 'test',
173
+ nodes: {},
174
+ formulas: {},
175
+ apis: {},
176
+ attributes: {},
177
+ variables: {},
178
+ onLoad: {
179
+ trigger: 'onLoad',
180
+ actions: [
181
+ {
182
+ name: 'legacy-action',
183
+ arguments: [],
184
+ events: {
185
+ success: { actions: [] },
186
+ nonExistingEvent: { actions: [] },
187
+ },
188
+ },
189
+ {
190
+ name: 'modern-action',
191
+ arguments: [],
192
+ events: {
193
+ success: { actions: [] },
194
+ nonExistingEvent: { actions: [] },
195
+ },
196
+ },
197
+ ],
198
+ },
199
+ },
200
+ },
201
+ },
202
+ rule: unknownActionEventRule,
203
+ fixType: 'delete-unknown-action-event',
204
+ state: {},
205
+ });
206
+ expect((fixedProject.components['test']?.onLoad?.actions[0])
207
+ .events).toEqual({
208
+ success: {
209
+ actions: [],
210
+ },
211
+ });
212
+ expect((fixedProject.components['test']?.onLoad?.actions[1])
213
+ .events).toEqual({
214
+ success: {
215
+ actions: [],
216
+ },
217
+ });
218
+ });
219
+ test('should not remove valid action arguments', () => {
220
+ const files = {
221
+ actions: {
222
+ 'legacy-action': {
223
+ name: 'legacy-action',
224
+ handler: '',
225
+ arguments: [],
226
+ events: {
227
+ success: { dummyEvent: 'hello' },
228
+ },
229
+ variableArguments: false,
230
+ },
231
+ 'modern-action': {
232
+ name: 'modern-action',
233
+ handler: '',
234
+ version: 2,
235
+ arguments: [],
236
+ events: {
237
+ success: { dummyEvent: 'hello' },
238
+ },
239
+ variableArguments: false,
240
+ },
241
+ },
242
+ components: {
243
+ test: {
244
+ name: 'test',
245
+ nodes: {},
246
+ formulas: {},
247
+ apis: {},
248
+ attributes: {},
249
+ variables: {},
250
+ onLoad: {
251
+ trigger: 'onLoad',
252
+ actions: [
253
+ {
254
+ name: 'legacy-action',
255
+ arguments: [],
256
+ events: {
257
+ success: { actions: [] },
258
+ },
259
+ },
260
+ {
261
+ name: 'modern-action',
262
+ arguments: [],
263
+ events: {
264
+ success: { actions: [] },
265
+ },
266
+ },
267
+ ],
268
+ },
269
+ },
270
+ },
271
+ };
272
+ const fixedProject = fixProject({
273
+ files,
274
+ rule: unknownActionEventRule,
275
+ fixType: 'delete-unknown-action-argument',
276
+ state: {},
277
+ });
278
+ expect(fixedProject).toEqual(files);
279
+ });
280
+ });
281
+ //# sourceMappingURL=unknownActionEventRule.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknownActionEventRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/actions/unknownActionEventRule.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ const REGEX = /var\(\s*(--[\w-]+)/g;
2
+ export const noReferenceGlobalCSSVariableRule = {
3
+ code: 'no-reference global css variable',
4
+ level: 'warning',
5
+ category: 'No References',
6
+ visit: (report, { path, value, nodeType, files, memo }) => {
7
+ if (nodeType !== 'project-theme-property') {
8
+ return;
9
+ }
10
+ const theme = files.themes?.Default;
11
+ if (!theme) {
12
+ return;
13
+ }
14
+ const usedCSSVariablesInComponents = memo('css-variables-used-in-components', () => {
15
+ const vars = new Set();
16
+ Object.entries(files.components).forEach(([_, component]) => {
17
+ Object.values(component?.nodes ?? {}).forEach((node) => {
18
+ if (node.type === 'element' || node.type === 'component') {
19
+ ;
20
+ [{ style: node.style }, ...(node.variants ?? [])].forEach(({ style }) => {
21
+ Object.values(style ?? {}).forEach((styleValue) => {
22
+ if (typeof styleValue !== 'string') {
23
+ return;
24
+ }
25
+ styleValue.matchAll(REGEX).forEach(([_, varName]) => {
26
+ vars.add(varName);
27
+ });
28
+ });
29
+ });
30
+ }
31
+ });
32
+ });
33
+ return vars;
34
+ });
35
+ const usedCSSVariablesInCSSVariables = memo('css-variables-used-in-css-variables', () => {
36
+ const vars = new Set();
37
+ Object.values(theme.propertyDefinitions ?? {}).forEach((propDef) => {
38
+ ;
39
+ [...Object.values(propDef.values), propDef.initialValue].forEach((val) => {
40
+ if (typeof val !== 'string') {
41
+ return;
42
+ }
43
+ val.matchAll(REGEX).forEach(([_, varName]) => {
44
+ vars.add(varName);
45
+ });
46
+ });
47
+ });
48
+ return vars;
49
+ });
50
+ if (usedCSSVariablesInCSSVariables.has(value.key) ||
51
+ usedCSSVariablesInComponents.has(value.key)) {
52
+ return;
53
+ }
54
+ report(path, { name: value.key });
55
+ },
56
+ };
57
+ //# sourceMappingURL=noReferenceGlobalCSSVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noReferenceGlobalCSSVariable.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/noReferenceGlobalCSSVariable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ import { describe, expect, test } from 'bun:test';
2
+ import { searchProject } from '../../../searchProject';
3
+ import { noReferenceGlobalCSSVariableRule } from './noReferenceGlobalCSSVariable';
4
+ describe('noReferenceGlobalCSSVariableRule', () => {
5
+ test('should not report global CSS variables that are used', () => {
6
+ const problems = Array.from(searchProject({
7
+ files: {
8
+ themes: {
9
+ Default: {
10
+ fonts: [],
11
+ propertyDefinitions: {
12
+ '--global-color': {
13
+ syntax: { type: 'primitive', name: 'color' },
14
+ description: 'A global color',
15
+ inherits: true,
16
+ initialValue: 'blue',
17
+ values: {},
18
+ },
19
+ '--local-margin': {
20
+ syntax: { type: 'primitive', name: 'length-percentage' },
21
+ description: 'A local margin',
22
+ inherits: true,
23
+ initialValue: '10px',
24
+ values: {},
25
+ },
26
+ },
27
+ },
28
+ },
29
+ formulas: {},
30
+ components: {
31
+ test: {
32
+ name: 'test',
33
+ nodes: {
34
+ root: {
35
+ tag: 'div',
36
+ type: 'element',
37
+ attrs: {},
38
+ style: {
39
+ color: 'var(--global-color)',
40
+ margin: 'var(--local-margin)',
41
+ },
42
+ events: {},
43
+ classes: {},
44
+ children: [],
45
+ },
46
+ },
47
+ formulas: {},
48
+ apis: {},
49
+ attributes: {},
50
+ variables: {},
51
+ },
52
+ },
53
+ },
54
+ rules: [noReferenceGlobalCSSVariableRule],
55
+ }));
56
+ expect(problems).toHaveLength(0);
57
+ });
58
+ test('should report global CSS variables that are never used', () => {
59
+ const problems = Array.from(searchProject({
60
+ files: {
61
+ themes: {
62
+ Default: {
63
+ fonts: [],
64
+ propertyDefinitions: {
65
+ '--global-color': {
66
+ syntax: { type: 'primitive', name: 'color' },
67
+ description: 'A global color',
68
+ inherits: true,
69
+ initialValue: 'blue',
70
+ values: {},
71
+ },
72
+ },
73
+ },
74
+ },
75
+ formulas: {},
76
+ components: {
77
+ test: {
78
+ name: 'test',
79
+ nodes: {
80
+ root: {
81
+ tag: 'div',
82
+ type: 'element',
83
+ attrs: {},
84
+ style: {
85
+ color: 'red',
86
+ },
87
+ events: {},
88
+ classes: {},
89
+ children: [],
90
+ },
91
+ },
92
+ formulas: {},
93
+ apis: {},
94
+ attributes: {},
95
+ variables: {},
96
+ },
97
+ },
98
+ },
99
+ rules: [noReferenceGlobalCSSVariableRule],
100
+ }));
101
+ expect(problems).toHaveLength(1);
102
+ expect(problems[0].level).toBe('warning');
103
+ expect(problems[0].code).toBe('no-reference global css variable');
104
+ expect(problems[0].path).toEqual([
105
+ 'themes',
106
+ 'Default',
107
+ 'propertyDefinitions',
108
+ '--global-color',
109
+ ]);
110
+ expect(problems[0].details).toEqual({ name: '--global-color' });
111
+ });
112
+ test('should handle complex use syntax: calc, with fallback value etc.', () => {
113
+ const problems = Array.from(searchProject({
114
+ files: {
115
+ themes: {
116
+ Default: {
117
+ fonts: [],
118
+ propertyDefinitions: {
119
+ '--global-color': {
120
+ syntax: { type: 'primitive', name: 'color' },
121
+ description: 'A global color',
122
+ inherits: true,
123
+ initialValue: 'blue',
124
+ values: {},
125
+ },
126
+ '--another-global-color': {
127
+ syntax: { type: 'primitive', name: 'color' },
128
+ description: 'Another global color',
129
+ inherits: true,
130
+ initialValue: 'green',
131
+ values: {},
132
+ },
133
+ '--a-third-global-color': {
134
+ syntax: { type: 'primitive', name: 'color' },
135
+ description: 'A third global color',
136
+ inherits: true,
137
+ initialValue: 'yellow',
138
+ values: {},
139
+ },
140
+ },
141
+ },
142
+ },
143
+ formulas: {},
144
+ components: {
145
+ test: {
146
+ name: 'test',
147
+ nodes: {
148
+ root: {
149
+ tag: 'div',
150
+ type: 'element',
151
+ attrs: {},
152
+ style: {
153
+ color: 'calc(var(--global-color, red) + 10%)',
154
+ },
155
+ events: {},
156
+ classes: {},
157
+ children: [],
158
+ variants: [
159
+ {
160
+ breakpoint: 'medium',
161
+ style: {
162
+ backgroundColor: 'color-mix(in srgb, plum, var(--a-third-global-color))',
163
+ },
164
+ },
165
+ ],
166
+ },
167
+ },
168
+ formulas: {},
169
+ apis: {},
170
+ attributes: {},
171
+ variables: {},
172
+ },
173
+ },
174
+ },
175
+ rules: [noReferenceGlobalCSSVariableRule],
176
+ }));
177
+ expect(problems).toHaveLength(1);
178
+ expect(problems[0].details).toEqual({ name: '--another-global-color' });
179
+ });
180
+ test('should not report when variable is used in other theme property definitions', () => {
181
+ const problems = Array.from(searchProject({
182
+ files: {
183
+ themes: {
184
+ Default: {
185
+ fonts: [],
186
+ propertyDefinitions: {
187
+ '--global-color': {
188
+ syntax: { type: 'primitive', name: 'color' },
189
+ description: 'A global color',
190
+ inherits: true,
191
+ initialValue: 'blue',
192
+ values: {},
193
+ },
194
+ '--local-color': {
195
+ syntax: { type: 'primitive', name: 'color' },
196
+ description: 'A local color',
197
+ inherits: true,
198
+ initialValue: 'var(--global-color)',
199
+ values: {},
200
+ },
201
+ '--another-local-color': {
202
+ syntax: { type: 'primitive', name: 'color' },
203
+ description: 'Another local color',
204
+ inherits: true,
205
+ initialValue: 'green',
206
+ values: {},
207
+ },
208
+ '--a-third-local-color': {
209
+ syntax: { type: 'primitive', name: 'color' },
210
+ description: 'A third local color',
211
+ inherits: true,
212
+ initialValue: 'yellow',
213
+ values: {
214
+ Default: 'calc(var(--another-local-color, red) + 10%)',
215
+ },
216
+ },
217
+ },
218
+ },
219
+ },
220
+ formulas: {},
221
+ components: {},
222
+ },
223
+ rules: [noReferenceGlobalCSSVariableRule],
224
+ }));
225
+ expect(problems).toHaveLength(2);
226
+ expect(problems[0].details).toEqual({ name: '--local-color' });
227
+ expect(problems[1].details).toEqual({ name: '--a-third-local-color' });
228
+ });
229
+ });
230
+ //# sourceMappingURL=noReferenceGlobalCSSVariable.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noReferenceGlobalCSSVariable.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/noReferenceGlobalCSSVariable.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import { invalidStyleSyntaxRule } from './invalidStyleSyntaxRule';
2
+ import { noReferenceGlobalCSSVariableRule } from './noReferenceGlobalCSSVariable';
2
3
  import { unknownClassnameRule } from './unknownClassnameRule';
3
- export default [invalidStyleSyntaxRule, unknownClassnameRule];
4
+ export default [
5
+ invalidStyleSyntaxRule,
6
+ unknownClassnameRule,
7
+ noReferenceGlobalCSSVariableRule,
8
+ ];
4
9
  //# sourceMappingURL=styleRules.index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styleRules.index.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/styleRules.index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,eAAe,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"styleRules.index.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/styleRules.index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,eAAe;IACb,sBAAsB;IACtB,oBAAoB;IACpB,gCAAgC;CACjC,CAAA"}