@nordcraft/search 1.0.68 → 1.0.70
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/issues/attributes/noReferenceAttributeRule.js +4 -1
- package/dist/rules/issues/attributes/noReferenceAttributeRule.js.map +1 -1
- package/dist/rules/issues/attributes/noReferenceAttributeRule.test.js +36 -0
- package/dist/rules/issues/attributes/noReferenceAttributeRule.test.js.map +1 -1
- package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js +1 -1
- package/dist/rules/issues/style/noReferenceGlobalCSSVariable.js.map +1 -1
- package/dist/rules/issues/style/noReferenceGlobalCSSVariable.test.js +1 -1
- package/dist/rules/issues/style/noReferenceGlobalCSSVariable.test.js.map +1 -1
- package/package.json +3 -3
- package/src/rules/issues/attributes/noReferenceAttributeRule.test.ts +40 -0
- package/src/rules/issues/attributes/noReferenceAttributeRule.ts +6 -1
- package/src/rules/issues/style/noReferenceGlobalCSSVariable.test.ts +1 -1
- package/src/rules/issues/style/noReferenceGlobalCSSVariable.ts +1 -1
|
@@ -4,7 +4,10 @@ export const noReferenceAttributeRule = {
|
|
|
4
4
|
level: 'warning',
|
|
5
5
|
category: 'No References',
|
|
6
6
|
visit: (report, args) => {
|
|
7
|
-
if (args.nodeType !== 'component-attribute'
|
|
7
|
+
if (args.nodeType !== 'component-attribute' ||
|
|
8
|
+
// Don't report unused attributes if the component has onAttributeChange actions.
|
|
9
|
+
// The attribute might be used to trigger some logic there.
|
|
10
|
+
(args.component.onAttributeChange?.actions.length ?? 0) > 0) {
|
|
8
11
|
return;
|
|
9
12
|
}
|
|
10
13
|
const { path, component, memo } = args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noReferenceAttributeRule.js","sourceRoot":"","sources":["../../../../src/rules/issues/attributes/noReferenceAttributeRule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,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,
|
|
1
|
+
{"version":3,"file":"noReferenceAttributeRule.js","sourceRoot":"","sources":["../../../../src/rules/issues/attributes/noReferenceAttributeRule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,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,IACE,IAAI,CAAC,QAAQ,KAAK,qBAAqB;YACvC,iFAAiF;YACjF,2DAA2D;YAC3D,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAC3D,CAAC;YACD,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;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,KAAK,EAAE;QACL,kBAAkB,EAAE,iBAAiB;KACtC;CACF,CAAA"}
|
|
@@ -125,6 +125,42 @@ describe('find noReferenceAttributeRule', () => {
|
|
|
125
125
|
}));
|
|
126
126
|
expect(problems).toEqual([]);
|
|
127
127
|
});
|
|
128
|
+
test('should ignore unused attributes when the component has onAttributeChange actions', () => {
|
|
129
|
+
const problems = Array.from(searchProject({
|
|
130
|
+
files: {
|
|
131
|
+
components: {
|
|
132
|
+
test: {
|
|
133
|
+
name: 'test',
|
|
134
|
+
nodes: {},
|
|
135
|
+
formulas: {},
|
|
136
|
+
apis: {},
|
|
137
|
+
attributes: {
|
|
138
|
+
'my-attribute': {
|
|
139
|
+
name: 'my-attribute-name',
|
|
140
|
+
testValue: { type: 'value', value: null },
|
|
141
|
+
'@nordcraft/metadata': {
|
|
142
|
+
comments: null,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
variables: {},
|
|
147
|
+
onAttributeChange: {
|
|
148
|
+
trigger: 'onAttributeChange',
|
|
149
|
+
actions: [
|
|
150
|
+
{
|
|
151
|
+
type: 'Custom',
|
|
152
|
+
name: 'Log',
|
|
153
|
+
version: 2,
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
rules: [noReferenceAttributeRule],
|
|
161
|
+
}));
|
|
162
|
+
expect(problems).toEqual([]);
|
|
163
|
+
});
|
|
128
164
|
});
|
|
129
165
|
describe('fix noReferenceAttributeRule', () => {
|
|
130
166
|
test('should remove attributes with no references', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noReferenceAttributeRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/attributes/noReferenceAttributeRule.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"noReferenceAttributeRule.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/attributes/noReferenceAttributeRule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const REGEX = /var\(\s*(--[\w-]+)/g;
|
|
2
2
|
export const noReferenceGlobalCSSVariableRule = {
|
|
3
3
|
code: 'no-reference global css variable',
|
|
4
|
-
level: '
|
|
4
|
+
level: 'info',
|
|
5
5
|
category: 'No References',
|
|
6
6
|
visit: (report, { path, value, nodeType, files, memo }) => {
|
|
7
7
|
if (nodeType !== 'project-theme-property') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noReferenceGlobalCSSVariable.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/noReferenceGlobalCSSVariable.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,qBAAqB,CAAA;AAEnC,MAAM,CAAC,MAAM,gCAAgC,GAExC;IACH,IAAI,EAAE,kCAAkC;IACxC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"noReferenceGlobalCSSVariable.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/noReferenceGlobalCSSVariable.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,7 @@ describe('noReferenceGlobalCSSVariableRule', () => {
|
|
|
99
99
|
rules: [noReferenceGlobalCSSVariableRule],
|
|
100
100
|
}));
|
|
101
101
|
expect(problems).toHaveLength(1);
|
|
102
|
-
expect(problems[0].level).toBe('
|
|
102
|
+
expect(problems[0].level).toBe('info');
|
|
103
103
|
expect(problems[0].code).toBe('no-reference global css variable');
|
|
104
104
|
expect(problems[0].path).toEqual([
|
|
105
105
|
'themes',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noReferenceGlobalCSSVariable.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/noReferenceGlobalCSSVariable.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"noReferenceGlobalCSSVariable.test.js","sourceRoot":"","sources":["../../../../src/rules/issues/style/noReferenceGlobalCSSVariable.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/nordcraftengine/nordcraft",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@nordcraft/ssr": "1.0.
|
|
9
|
-
"@nordcraft/core": "1.0.
|
|
8
|
+
"@nordcraft/ssr": "1.0.70",
|
|
9
|
+
"@nordcraft/core": "1.0.70",
|
|
10
10
|
"jsondiffpatch": "0.7.3",
|
|
11
11
|
"postcss": "8.5.6"
|
|
12
12
|
},
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"test:watch:only": "bun test --watch --only"
|
|
21
21
|
},
|
|
22
22
|
"files": ["dist", "src"],
|
|
23
|
-
"version": "1.0.
|
|
23
|
+
"version": "1.0.70"
|
|
24
24
|
}
|
|
@@ -138,6 +138,46 @@ describe('find noReferenceAttributeRule', () => {
|
|
|
138
138
|
|
|
139
139
|
expect(problems).toEqual([])
|
|
140
140
|
})
|
|
141
|
+
|
|
142
|
+
test('should ignore unused attributes when the component has onAttributeChange actions', () => {
|
|
143
|
+
const problems = Array.from(
|
|
144
|
+
searchProject({
|
|
145
|
+
files: {
|
|
146
|
+
components: {
|
|
147
|
+
test: {
|
|
148
|
+
name: 'test',
|
|
149
|
+
nodes: {},
|
|
150
|
+
formulas: {},
|
|
151
|
+
apis: {},
|
|
152
|
+
attributes: {
|
|
153
|
+
'my-attribute': {
|
|
154
|
+
name: 'my-attribute-name',
|
|
155
|
+
testValue: { type: 'value', value: null },
|
|
156
|
+
'@nordcraft/metadata': {
|
|
157
|
+
comments: null,
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
variables: {},
|
|
162
|
+
onAttributeChange: {
|
|
163
|
+
trigger: 'onAttributeChange',
|
|
164
|
+
actions: [
|
|
165
|
+
{
|
|
166
|
+
type: 'Custom',
|
|
167
|
+
name: 'Log',
|
|
168
|
+
version: 2,
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
rules: [noReferenceAttributeRule],
|
|
176
|
+
}),
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
expect(problems).toEqual([])
|
|
180
|
+
})
|
|
141
181
|
})
|
|
142
182
|
|
|
143
183
|
describe('fix noReferenceAttributeRule', () => {
|
|
@@ -6,7 +6,12 @@ export const noReferenceAttributeRule: Rule<void> = {
|
|
|
6
6
|
level: 'warning',
|
|
7
7
|
category: 'No References',
|
|
8
8
|
visit: (report, args) => {
|
|
9
|
-
if (
|
|
9
|
+
if (
|
|
10
|
+
args.nodeType !== 'component-attribute' ||
|
|
11
|
+
// Don't report unused attributes if the component has onAttributeChange actions.
|
|
12
|
+
// The attribute might be used to trigger some logic there.
|
|
13
|
+
(args.component.onAttributeChange?.actions.length ?? 0) > 0
|
|
14
|
+
) {
|
|
10
15
|
return
|
|
11
16
|
}
|
|
12
17
|
const { path, component, memo } = args
|
|
@@ -107,7 +107,7 @@ describe('noReferenceGlobalCSSVariableRule', () => {
|
|
|
107
107
|
)
|
|
108
108
|
|
|
109
109
|
expect(problems).toHaveLength(1)
|
|
110
|
-
expect(problems[0].level).toBe('
|
|
110
|
+
expect(problems[0].level).toBe('info')
|
|
111
111
|
expect(problems[0].code).toBe('no-reference global css variable')
|
|
112
112
|
expect(problems[0].path).toEqual([
|
|
113
113
|
'themes',
|
|
@@ -6,7 +6,7 @@ export const noReferenceGlobalCSSVariableRule: Rule<{
|
|
|
6
6
|
name: string
|
|
7
7
|
}> = {
|
|
8
8
|
code: 'no-reference global css variable',
|
|
9
|
-
level: '
|
|
9
|
+
level: 'info',
|
|
10
10
|
category: 'No References',
|
|
11
11
|
visit: (report, { path, value, nodeType, files, memo }) => {
|
|
12
12
|
if (nodeType !== 'project-theme-property') {
|