skyux-eslint 14.1.0 → 14.2.0
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/package.json +5 -4
- package/src/configs/template-all.d.ts +2 -0
- package/src/configs/template-all.js +1 -0
- package/src/configs/template-all.js.map +1 -1
- package/src/configs/template-base.d.ts +1 -0
- package/src/configs/template-recommended.d.ts +1 -0
- package/src/configs/ts-all.d.ts +1 -0
- package/src/configs/ts-all.js +1 -0
- package/src/configs/ts-all.js.map +1 -1
- package/src/index.d.ts +10 -0
- package/src/plugins/template-plugin.d.ts +1 -0
- package/src/plugins/template-plugin.js +2 -0
- package/src/plugins/template-plugin.js.map +1 -1
- package/src/plugins/ts-plugin.js +2 -0
- package/src/plugins/ts-plugin.js.map +1 -1
- package/src/rules/no-invalid-sky-classnames.d.ts +2 -0
- package/src/rules/no-invalid-sky-classnames.js +89 -0
- package/src/rules/no-invalid-sky-classnames.js.map +1 -0
- package/src/rules/template/no-invalid-sky-classnames.d.ts +2 -0
- package/src/rules/template/no-invalid-sky-classnames.js +113 -0
- package/src/rules/template/no-invalid-sky-classnames.js.map +1 -0
- package/src/rules/utils/style-public-api.d.ts +27 -0
- package/src/rules/utils/style-public-api.js +83 -0
- package/src/rules/utils/style-public-api.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skyux-eslint",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.2.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"description": "An ESLint plugin for SKY UX projects",
|
|
6
6
|
"keywords": [
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"packageGroupName": "skyux-eslint",
|
|
24
24
|
"migrations": "@skyux-sdk/eslint-schematics/migrations.json",
|
|
25
25
|
"packageGroup": {
|
|
26
|
-
"@skyux-sdk/eslint-schematics": "14.
|
|
26
|
+
"@skyux-sdk/eslint-schematics": "14.2.0"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
@@ -33,8 +33,9 @@
|
|
|
33
33
|
"@typescript-eslint/utils": "^8.56.1"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@skyux-
|
|
37
|
-
"@skyux/
|
|
36
|
+
"@blackbaud/skyux-design-tokens": "6.0.0",
|
|
37
|
+
"@skyux-sdk/eslint-schematics": "14.2.0",
|
|
38
|
+
"@skyux/manifest": "14.2.0",
|
|
38
39
|
"tslib": "^2.8.1"
|
|
39
40
|
},
|
|
40
41
|
"types": "./src/index.d.ts",
|
|
@@ -17,6 +17,7 @@ declare const _default: ({
|
|
|
17
17
|
};
|
|
18
18
|
rules: {
|
|
19
19
|
"no-deprecated-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
|
+
"no-invalid-sky-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
21
|
"no-deprecated-directives": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
21
22
|
"no-invalid-input-box-children": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
22
23
|
"no-invalid-input-types": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
@@ -38,6 +39,7 @@ declare const _default: ({
|
|
|
38
39
|
'skyux-eslint-template/no-deprecated-directives': "error";
|
|
39
40
|
'skyux-eslint-template/no-invalid-input-box-children': "error";
|
|
40
41
|
'skyux-eslint-template/no-invalid-input-types': "error";
|
|
42
|
+
'skyux-eslint-template/no-invalid-sky-classnames': "error";
|
|
41
43
|
'skyux-eslint-template/no-legacy-icons': "error";
|
|
42
44
|
'skyux-eslint-template/no-radio-group-with-nested-list': "error";
|
|
43
45
|
'skyux-eslint-template/no-unbound-id': "error";
|
|
@@ -11,6 +11,7 @@ exports.default = [
|
|
|
11
11
|
'skyux-eslint-template/no-deprecated-directives': 'error',
|
|
12
12
|
'skyux-eslint-template/no-invalid-input-box-children': 'error',
|
|
13
13
|
'skyux-eslint-template/no-invalid-input-types': 'error',
|
|
14
|
+
'skyux-eslint-template/no-invalid-sky-classnames': 'error',
|
|
14
15
|
'skyux-eslint-template/no-legacy-icons': 'error',
|
|
15
16
|
'skyux-eslint-template/no-radio-group-with-nested-list': 'error',
|
|
16
17
|
'skyux-eslint-template/no-unbound-id': 'error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-all.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/configs/template-all.ts"],"names":[],"mappings":";;;AAEA,4EAAiD;AAEjD,kBAAe;IACb,uBAAkB;IAClB;QACE,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE;YACL,gDAAgD,EAAE,OAAO;YACzD,gDAAgD,EAAE,OAAO;YACzD,qDAAqD,EAAE,OAAO;YAC9D,8CAA8C,EAAE,OAAO;YACvD,uCAAuC,EAAE,OAAO;YAChD,uDAAuD,EAAE,OAAO;YAChE,qCAAqC,EAAE,OAAO;YAC9C,4CAA4C,EAAE,OAAO;YACrD,qDAAqD,EAAE,OAAO;YAC9D,wCAAwC,EAAE,OAAO;YACjD,2DAA2D,EAAE,OAAO;YACpE,yCAAyC,EAAE,OAAO;SACnD;KACF;CACwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"template-all.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/configs/template-all.ts"],"names":[],"mappings":";;;AAEA,4EAAiD;AAEjD,kBAAe;IACb,uBAAkB;IAClB;QACE,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE;YACL,gDAAgD,EAAE,OAAO;YACzD,gDAAgD,EAAE,OAAO;YACzD,qDAAqD,EAAE,OAAO;YAC9D,8CAA8C,EAAE,OAAO;YACvD,iDAAiD,EAAE,OAAO;YAC1D,uCAAuC,EAAE,OAAO;YAChD,uDAAuD,EAAE,OAAO;YAChE,qCAAqC,EAAE,OAAO;YAC9C,4CAA4C,EAAE,OAAO;YACrD,qDAAqD,EAAE,OAAO;YAC9D,wCAAwC,EAAE,OAAO;YACjD,2DAA2D,EAAE,OAAO;YACpE,yCAAyC,EAAE,OAAO;SACnD;KACF;CACwC,CAAC"}
|
|
@@ -17,6 +17,7 @@ declare const _default: {
|
|
|
17
17
|
};
|
|
18
18
|
rules: {
|
|
19
19
|
"no-deprecated-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
|
+
"no-invalid-sky-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
21
|
"no-deprecated-directives": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
21
22
|
"no-invalid-input-box-children": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
22
23
|
"no-invalid-input-types": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
@@ -17,6 +17,7 @@ declare const _default: ({
|
|
|
17
17
|
};
|
|
18
18
|
rules: {
|
|
19
19
|
"no-deprecated-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
|
+
"no-invalid-sky-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
21
|
"no-deprecated-directives": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
21
22
|
"no-invalid-input-box-children": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
22
23
|
"no-invalid-input-types": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
package/src/configs/ts-all.d.ts
CHANGED
package/src/configs/ts-all.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-all.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/configs/ts-all.ts"],"names":[],"mappings":";;;AAEA,gEAAqC;AAErC,kBAAe;IACb,iBAAY;IACZ;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE;YACL,gCAAgC,EAAE,OAAO;YACzC,+BAA+B,EAAE,OAAO;SACzC;KACF;CACwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ts-all.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/configs/ts-all.ts"],"names":[],"mappings":";;;AAEA,gEAAqC;AAErC,kBAAe;IACb,iBAAY;IACZ;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE;YACL,wCAAwC,EAAE,OAAO;YACjD,gCAAgC,EAAE,OAAO;YACzC,+BAA+B,EAAE,OAAO;SACzC;KACF;CACwC,CAAC"}
|
package/src/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ declare const configs: {
|
|
|
17
17
|
};
|
|
18
18
|
rules: {
|
|
19
19
|
"no-deprecated-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
20
|
+
"no-invalid-sky-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
20
21
|
"no-deprecated-directives": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
21
22
|
"no-invalid-input-box-children": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
22
23
|
"no-invalid-input-types": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -38,6 +39,7 @@ declare const configs: {
|
|
|
38
39
|
'skyux-eslint-template/no-deprecated-directives': "error";
|
|
39
40
|
'skyux-eslint-template/no-invalid-input-box-children': "error";
|
|
40
41
|
'skyux-eslint-template/no-invalid-input-types': "error";
|
|
42
|
+
'skyux-eslint-template/no-invalid-sky-classnames': "error";
|
|
41
43
|
'skyux-eslint-template/no-legacy-icons': "error";
|
|
42
44
|
'skyux-eslint-template/no-radio-group-with-nested-list': "error";
|
|
43
45
|
'skyux-eslint-template/no-unbound-id': "error";
|
|
@@ -66,6 +68,7 @@ declare const configs: {
|
|
|
66
68
|
};
|
|
67
69
|
rules: {
|
|
68
70
|
"no-deprecated-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
71
|
+
"no-invalid-sky-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
69
72
|
"no-deprecated-directives": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
70
73
|
"no-invalid-input-box-children": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
71
74
|
"no-invalid-input-types": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -105,6 +108,7 @@ declare const configs: {
|
|
|
105
108
|
} | {
|
|
106
109
|
name: string;
|
|
107
110
|
rules: {
|
|
111
|
+
'skyux-eslint/no-invalid-sky-classnames': "error";
|
|
108
112
|
'skyux-eslint/no-lambda-imports': "error";
|
|
109
113
|
'skyux-eslint/no-sky-selectors': "error";
|
|
110
114
|
};
|
|
@@ -139,6 +143,7 @@ declare const plugins: {
|
|
|
139
143
|
};
|
|
140
144
|
rules: {
|
|
141
145
|
"no-deprecated-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
146
|
+
"no-invalid-sky-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
142
147
|
"no-deprecated-directives": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
143
148
|
"no-invalid-input-box-children": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
144
149
|
"no-invalid-input-types": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -174,6 +179,7 @@ declare const _default: {
|
|
|
174
179
|
};
|
|
175
180
|
rules: {
|
|
176
181
|
"no-deprecated-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
182
|
+
"no-invalid-sky-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
177
183
|
"no-deprecated-directives": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
178
184
|
"no-invalid-input-box-children": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
179
185
|
"no-invalid-input-types": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -195,6 +201,7 @@ declare const _default: {
|
|
|
195
201
|
'skyux-eslint-template/no-deprecated-directives': "error";
|
|
196
202
|
'skyux-eslint-template/no-invalid-input-box-children': "error";
|
|
197
203
|
'skyux-eslint-template/no-invalid-input-types': "error";
|
|
204
|
+
'skyux-eslint-template/no-invalid-sky-classnames': "error";
|
|
198
205
|
'skyux-eslint-template/no-legacy-icons': "error";
|
|
199
206
|
'skyux-eslint-template/no-radio-group-with-nested-list': "error";
|
|
200
207
|
'skyux-eslint-template/no-unbound-id': "error";
|
|
@@ -223,6 +230,7 @@ declare const _default: {
|
|
|
223
230
|
};
|
|
224
231
|
rules: {
|
|
225
232
|
"no-deprecated-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
233
|
+
"no-invalid-sky-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
226
234
|
"no-deprecated-directives": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
227
235
|
"no-invalid-input-box-children": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
228
236
|
"no-invalid-input-types": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -262,6 +270,7 @@ declare const _default: {
|
|
|
262
270
|
} | {
|
|
263
271
|
name: string;
|
|
264
272
|
rules: {
|
|
273
|
+
'skyux-eslint/no-invalid-sky-classnames': "error";
|
|
265
274
|
'skyux-eslint/no-lambda-imports': "error";
|
|
266
275
|
'skyux-eslint/no-sky-selectors': "error";
|
|
267
276
|
};
|
|
@@ -296,6 +305,7 @@ declare const _default: {
|
|
|
296
305
|
};
|
|
297
306
|
rules: {
|
|
298
307
|
"no-deprecated-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
308
|
+
"no-invalid-sky-classnames": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
299
309
|
"no-deprecated-directives": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
300
310
|
"no-invalid-input-box-children": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
301
311
|
"no-invalid-input-types": import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -15,6 +15,7 @@ declare const _default: {
|
|
|
15
15
|
};
|
|
16
16
|
rules: {
|
|
17
17
|
"no-deprecated-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
18
|
+
"no-invalid-sky-classnames": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
18
19
|
"no-deprecated-directives": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
19
20
|
"no-invalid-input-box-children": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
20
21
|
"no-invalid-input-types": TSESLint.RuleModule<string, readonly unknown[], unknown, TSESLint.RuleListener>;
|
|
@@ -5,6 +5,7 @@ const no_deprecated_classnames_1 = require("../rules/template/no-deprecated-clas
|
|
|
5
5
|
const no_deprecated_directives_1 = require("../rules/template/no-deprecated-directives");
|
|
6
6
|
const no_invalid_input_box_children_1 = require("../rules/template/no-invalid-input-box-children");
|
|
7
7
|
const no_invalid_input_types_1 = require("../rules/template/no-invalid-input-types");
|
|
8
|
+
const no_invalid_sky_classnames_1 = require("../rules/template/no-invalid-sky-classnames");
|
|
8
9
|
const no_legacy_icons_1 = require("../rules/template/no-legacy-icons");
|
|
9
10
|
const no_radio_group_with_nested_list_1 = require("../rules/template/no-radio-group-with-nested-list");
|
|
10
11
|
const no_unbound_id_1 = require("../rules/template/no-unbound-id");
|
|
@@ -20,6 +21,7 @@ exports.default = {
|
|
|
20
21
|
processors: eslint_plugin_template_1.processors,
|
|
21
22
|
rules: {
|
|
22
23
|
[no_deprecated_classnames_1.RULE_NAME]: no_deprecated_classnames_1.rule,
|
|
24
|
+
[no_invalid_sky_classnames_1.RULE_NAME]: no_invalid_sky_classnames_1.rule,
|
|
23
25
|
[no_deprecated_directives_1.RULE_NAME]: no_deprecated_directives_1.rule,
|
|
24
26
|
[no_invalid_input_box_children_1.RULE_NAME]: no_invalid_input_box_children_1.rule,
|
|
25
27
|
[no_invalid_input_types_1.RULE_NAME]: no_invalid_input_types_1.rule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-plugin.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/plugins/template-plugin.ts"],"names":[],"mappings":";;AAAA,mFAAoE;AAGpE,yFAGoD;AACpD,yFAGoD;AACpD,mGAGyD;AACzD,qFAGkD;AAClD,uEAG2C;AAC3C,uGAG2D;AAC3D,mEAGyC;AACzC,iFAGgD;AAChD,mGAGyD;AACzD,yEAG4C;AAC5C,+GAG+D;AAC/D,2EAG6C;AAE7C,kBAAe;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;KAC9B;IACD,UAAU,EAAV,mCAAU;IACV,KAAK,EAAE;QACL,CAAC,oCAA8B,CAAC,EAAE,+BAAsB;QACxD,CAAC,oCAA8B,CAAC,EAAE,+BAAsB;QACxD,CAAC,yCAAiC,CAAC,EAAE,oCAAyB;QAC9D,CAAC,kCAA2B,CAAC,EAAE,6BAAmB;QAClD,CAAC,2BAAqB,CAAC,EAAE,sBAAa;QACtC,CAAC,2CAAkC,CAAC,EAAE,sCAA0B;QAChE,CAAC,yBAAmB,CAAC,EAAE,oBAAW;QAClC,CAAC,gCAA0B,CAAC,EAAE,2BAAkB;QAChD,CAAC,yCAAkC,CAAC,EAAE,oCAA0B;QAChE,CAAC,4BAAsB,CAAC,EAAE,uBAAc;QACxC,CAAC,+CAAsC,CAAC,EAAE,0CAA8B;QACxE,CAAC,6BAAuB,CAAC,EAAE,wBAAe;KAC3C;CACmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"template-plugin.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/plugins/template-plugin.ts"],"names":[],"mappings":";;AAAA,mFAAoE;AAGpE,yFAGoD;AACpD,yFAGoD;AACpD,mGAGyD;AACzD,qFAGkD;AAClD,2FAGqD;AACrD,uEAG2C;AAC3C,uGAG2D;AAC3D,mEAGyC;AACzC,iFAGgD;AAChD,mGAGyD;AACzD,yEAG4C;AAC5C,+GAG+D;AAC/D,2EAG6C;AAE7C,kBAAe;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;KAC9B;IACD,UAAU,EAAV,mCAAU;IACV,KAAK,EAAE;QACL,CAAC,oCAA8B,CAAC,EAAE,+BAAsB;QACxD,CAAC,qCAA8B,CAAC,EAAE,gCAAsB;QACxD,CAAC,oCAA8B,CAAC,EAAE,+BAAsB;QACxD,CAAC,yCAAiC,CAAC,EAAE,oCAAyB;QAC9D,CAAC,kCAA2B,CAAC,EAAE,6BAAmB;QAClD,CAAC,2BAAqB,CAAC,EAAE,sBAAa;QACtC,CAAC,2CAAkC,CAAC,EAAE,sCAA0B;QAChE,CAAC,yBAAmB,CAAC,EAAE,oBAAW;QAClC,CAAC,gCAA0B,CAAC,EAAE,2BAAkB;QAChD,CAAC,yCAAkC,CAAC,EAAE,oCAA0B;QAChE,CAAC,4BAAsB,CAAC,EAAE,uBAAc;QACxC,CAAC,+CAAsC,CAAC,EAAE,0CAA8B;QACxE,CAAC,6BAAuB,CAAC,EAAE,wBAAe;KAC3C;CACmC,CAAC"}
|
package/src/plugins/ts-plugin.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const no_invalid_sky_classnames_1 = require("../rules/no-invalid-sky-classnames");
|
|
3
4
|
const no_lambda_imports_1 = require("../rules/no-lambda-imports");
|
|
4
5
|
const no_sky_selectors_1 = require("../rules/no-sky-selectors");
|
|
5
6
|
const tsPlugin = {
|
|
@@ -7,6 +8,7 @@ const tsPlugin = {
|
|
|
7
8
|
name: 'skyux-eslint',
|
|
8
9
|
},
|
|
9
10
|
rules: {
|
|
11
|
+
[no_invalid_sky_classnames_1.RULE_NAME]: no_invalid_sky_classnames_1.rule,
|
|
10
12
|
[no_lambda_imports_1.RULE_NAME]: no_lambda_imports_1.rule,
|
|
11
13
|
[no_sky_selectors_1.RULE_NAME]: no_sky_selectors_1.rule,
|
|
12
14
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-plugin.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/plugins/ts-plugin.ts"],"names":[],"mappings":";;AAEA,kEAGoC;AACpC,gEAGmC;AAEnC,MAAM,QAAQ,GAA+B;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,cAAc;KACrB;IACD,KAAK,EAAE;QACL,CAAC,6BAAuB,CAAC,EAAE,wBAAe;QAC1C,CAAC,4BAAsB,CAAC,EAAE,uBAAc;KACzC;CACF,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ts-plugin.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/plugins/ts-plugin.ts"],"names":[],"mappings":";;AAEA,kFAG4C;AAC5C,kEAGoC;AACpC,gEAGmC;AAEnC,MAAM,QAAQ,GAA+B;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,cAAc;KACrB;IACD,KAAK,EAAE;QACL,CAAC,qCAA8B,CAAC,EAAE,gCAAsB;QACxD,CAAC,6BAAuB,CAAC,EAAE,wBAAe;QAC1C,CAAC,4BAAsB,CAAC,EAAE,uBAAc;KACzC;CACF,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rule = exports.RULE_NAME = void 0;
|
|
4
|
+
const create_eslint_rule_1 = require("./utils/create-eslint-rule");
|
|
5
|
+
const style_public_api_1 = require("./utils/style-public-api");
|
|
6
|
+
exports.RULE_NAME = 'no-invalid-sky-classnames';
|
|
7
|
+
function extractSkyClassNames(value) {
|
|
8
|
+
const matches = value.match(/sky-[a-z0-9-]+/g);
|
|
9
|
+
return matches ?? [];
|
|
10
|
+
}
|
|
11
|
+
function isInlineTemplate(node) {
|
|
12
|
+
return (node.parent.type === 'Property' &&
|
|
13
|
+
node.parent.key.type === 'Identifier' &&
|
|
14
|
+
node.parent.key.name === 'template');
|
|
15
|
+
}
|
|
16
|
+
function checkClassName(className, fixedClassNames, node, context) {
|
|
17
|
+
const result = (0, style_public_api_1.checkSkyClassName)(className);
|
|
18
|
+
if (result.type === 'valid') {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (result.type === 'unknownThemeClass') {
|
|
22
|
+
context.report({
|
|
23
|
+
node,
|
|
24
|
+
messageId: 'unknownThemeClass',
|
|
25
|
+
data: { className, docsUrl: style_public_api_1.STYLE_API_DOCS_URL },
|
|
26
|
+
});
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (result.type === 'deprecatedWithReplacement') {
|
|
30
|
+
const { replacement } = result;
|
|
31
|
+
const index = fixedClassNames.indexOf(className);
|
|
32
|
+
if (index > -1) {
|
|
33
|
+
fixedClassNames[index] = replacement;
|
|
34
|
+
}
|
|
35
|
+
context.report({
|
|
36
|
+
node,
|
|
37
|
+
messageId: 'deprecatedWithReplacement',
|
|
38
|
+
data: { className, replacement },
|
|
39
|
+
fix(fixer) {
|
|
40
|
+
const [start, end] = node.range;
|
|
41
|
+
const quote = context.sourceCode.getText(node)[0];
|
|
42
|
+
return fixer.replaceTextRange([start, end], `${quote}${fixedClassNames.join(' ')}${quote}`);
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (result.type === 'deprecatedNoReplacement') {
|
|
48
|
+
context.report({
|
|
49
|
+
node,
|
|
50
|
+
messageId: 'deprecatedNoReplacement',
|
|
51
|
+
data: { className, docsUrl: style_public_api_1.STYLE_API_DOCS_URL },
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.rule = (0, create_eslint_rule_1.createESLintRule)({
|
|
57
|
+
create(context) {
|
|
58
|
+
if (context.filename.endsWith('.spec.ts')) {
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
['Literal'](node) {
|
|
63
|
+
if (typeof node.value !== 'string' || isInlineTemplate(node)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const classNames = extractSkyClassNames(node.value);
|
|
67
|
+
if (classNames.length === 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const fixedClassNames = node.value.split(/\s+/).filter(Boolean);
|
|
71
|
+
for (const className of classNames) {
|
|
72
|
+
checkClassName(className, fixedClassNames, node, context);
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
defaultOptions: [],
|
|
78
|
+
meta: {
|
|
79
|
+
docs: {
|
|
80
|
+
description: 'Validates sky- CSS class usage against the SKY UX style public API.',
|
|
81
|
+
},
|
|
82
|
+
messages: style_public_api_1.SKY_CLASSNAME_MESSAGES,
|
|
83
|
+
schema: [],
|
|
84
|
+
type: 'problem',
|
|
85
|
+
fixable: 'code',
|
|
86
|
+
},
|
|
87
|
+
name: exports.RULE_NAME,
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=no-invalid-sky-classnames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-invalid-sky-classnames.js","sourceRoot":"","sources":["../../../../../../libs/sdk/skyux-eslint/src/rules/no-invalid-sky-classnames.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rule = exports.RULE_NAME = void 0;
|
|
4
|
+
const utils_1 = require("@angular-eslint/utils");
|
|
5
|
+
const create_eslint_template_rule_1 = require("../utils/create-eslint-template-rule");
|
|
6
|
+
const style_public_api_1 = require("../utils/style-public-api");
|
|
7
|
+
exports.RULE_NAME = 'no-invalid-sky-classnames';
|
|
8
|
+
exports.rule = (0, create_eslint_template_rule_1.createESLintTemplateRule)({
|
|
9
|
+
create(context) {
|
|
10
|
+
(0, utils_1.ensureTemplateParser)(context);
|
|
11
|
+
const parserServices = (0, utils_1.getTemplateParserServices)(context);
|
|
12
|
+
function checkClassName(className, loc, getDeprecatedWithReplacementFix) {
|
|
13
|
+
const result = (0, style_public_api_1.checkSkyClassName)(className);
|
|
14
|
+
if (result.type === 'valid') {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (result.type === 'unknownThemeClass') {
|
|
18
|
+
context.report({
|
|
19
|
+
loc,
|
|
20
|
+
messageId: 'unknownThemeClass',
|
|
21
|
+
data: { className, docsUrl: style_public_api_1.STYLE_API_DOCS_URL },
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (result.type === 'deprecatedWithReplacement') {
|
|
26
|
+
const { replacement } = result;
|
|
27
|
+
context.report({
|
|
28
|
+
loc,
|
|
29
|
+
messageId: 'deprecatedWithReplacement',
|
|
30
|
+
data: { className, replacement },
|
|
31
|
+
fix: () => getDeprecatedWithReplacementFix(replacement),
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (result.type === 'deprecatedNoReplacement') {
|
|
36
|
+
context.report({
|
|
37
|
+
loc,
|
|
38
|
+
messageId: 'deprecatedNoReplacement',
|
|
39
|
+
data: { className, docsUrl: style_public_api_1.STYLE_API_DOCS_URL },
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
context.report({
|
|
44
|
+
loc,
|
|
45
|
+
messageId: 'privateClass',
|
|
46
|
+
data: { className, docsUrl: style_public_api_1.STYLE_API_DOCS_URL },
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
[`Element > :matches(TextAttribute)[name="class"]`](attr) {
|
|
51
|
+
const classNames = attr.value.split(/\s+/).filter(Boolean);
|
|
52
|
+
const fixedClassNames = [...classNames];
|
|
53
|
+
for (const className of classNames) {
|
|
54
|
+
if (!className.startsWith('sky-')) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const loc = parserServices.convertNodeSourceSpanToLoc(attr.sourceSpan);
|
|
58
|
+
checkClassName(className, loc, (replacement) => {
|
|
59
|
+
const index = fixedClassNames.indexOf(className);
|
|
60
|
+
if (index > -1) {
|
|
61
|
+
fixedClassNames[index] = replacement;
|
|
62
|
+
}
|
|
63
|
+
/* c8 ignore next 3 */
|
|
64
|
+
if (!attr.valueSpan) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
return [
|
|
68
|
+
{
|
|
69
|
+
range: [attr.valueSpan.start.offset, attr.valueSpan.end.offset],
|
|
70
|
+
text: fixedClassNames.join(' '),
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
Element(element) {
|
|
77
|
+
for (const attr of element.inputs) {
|
|
78
|
+
if (!attr.name.startsWith('sky-')) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
const loc = parserServices.convertNodeSourceSpanToLoc(attr.sourceSpan);
|
|
82
|
+
checkClassName(attr.name, loc, (replacement) => {
|
|
83
|
+
/* c8 ignore next 3 */
|
|
84
|
+
if (!attr.keySpan) {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
return [
|
|
88
|
+
{
|
|
89
|
+
range: [
|
|
90
|
+
attr.keySpan.end.offset - attr.name.length,
|
|
91
|
+
attr.keySpan.end.offset,
|
|
92
|
+
],
|
|
93
|
+
text: replacement,
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
defaultOptions: [],
|
|
102
|
+
meta: {
|
|
103
|
+
docs: {
|
|
104
|
+
description: 'Validates sky- CSS class usage against the SKY UX style public API.',
|
|
105
|
+
},
|
|
106
|
+
messages: style_public_api_1.SKY_CLASSNAME_MESSAGES,
|
|
107
|
+
schema: [],
|
|
108
|
+
type: 'problem',
|
|
109
|
+
fixable: 'code',
|
|
110
|
+
},
|
|
111
|
+
name: exports.RULE_NAME,
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=no-invalid-sky-classnames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-invalid-sky-classnames.js","sourceRoot":"","sources":["../../../../../../../libs/sdk/skyux-eslint/src/rules/template/no-invalid-sky-classnames.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const deprecatedStyleClassMap: Map<string, string | undefined>;
|
|
2
|
+
export declare const validPublicClassNames: Set<string>;
|
|
3
|
+
export declare const WHITELISTED_SKY_CLASSES: Set<string>;
|
|
4
|
+
export type SkyClassNameCheck = {
|
|
5
|
+
type: 'valid';
|
|
6
|
+
} | {
|
|
7
|
+
type: 'unknownThemeClass';
|
|
8
|
+
className: string;
|
|
9
|
+
} | {
|
|
10
|
+
type: 'deprecatedWithReplacement';
|
|
11
|
+
className: string;
|
|
12
|
+
replacement: string;
|
|
13
|
+
} | {
|
|
14
|
+
type: 'deprecatedNoReplacement';
|
|
15
|
+
className: string;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'privateClass';
|
|
18
|
+
className: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function checkSkyClassName(className: string): SkyClassNameCheck;
|
|
21
|
+
export declare const STYLE_API_DOCS_URL = "https://developer.blackbaud.com/skyux/design/styles";
|
|
22
|
+
export declare const SKY_CLASSNAME_MESSAGES: {
|
|
23
|
+
readonly deprecatedWithReplacement: "\"{{className}}\" is deprecated. Use \"{{replacement}}\" instead.";
|
|
24
|
+
readonly deprecatedNoReplacement: "\"{{className}}\" is deprecated with no direct replacement. See the style API documentation: {{docsUrl}}";
|
|
25
|
+
readonly unknownThemeClass: "\"{{className}}\" is not a known sky-theme- class. See the style API documentation for valid class names: {{docsUrl}}";
|
|
26
|
+
readonly privateClass: "\"{{className}}\" is a private SKY UX class and should not be used directly. See the style API documentation for alternatives: {{docsUrl}}";
|
|
27
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKY_CLASSNAME_MESSAGES = exports.STYLE_API_DOCS_URL = exports.WHITELISTED_SKY_CLASSES = exports.validPublicClassNames = exports.deprecatedStyleClassMap = void 0;
|
|
4
|
+
exports.checkSkyClassName = checkSkyClassName;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const public_api_styles_json_1 = tslib_1.__importDefault(require("@blackbaud/skyux-design-tokens/bundles/public-api-styles.json"));
|
|
7
|
+
const publicApiStyles = public_api_styles_json_1.default;
|
|
8
|
+
function walkStyles(groups, styles, callback) {
|
|
9
|
+
for (const style of styles ?? []) {
|
|
10
|
+
callback(style);
|
|
11
|
+
}
|
|
12
|
+
for (const group of groups ?? []) {
|
|
13
|
+
walkStyles(group.groups, group.styles, callback);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.deprecatedStyleClassMap = new Map();
|
|
17
|
+
exports.validPublicClassNames = new Set();
|
|
18
|
+
walkStyles(publicApiStyles.groups, publicApiStyles.styles, (style) => {
|
|
19
|
+
if (style.className) {
|
|
20
|
+
exports.validPublicClassNames.add(style.className);
|
|
21
|
+
}
|
|
22
|
+
for (const cls of style.deprecatedClassNames ?? []) {
|
|
23
|
+
exports.deprecatedStyleClassMap.set(cls, style.className);
|
|
24
|
+
}
|
|
25
|
+
for (const cls of style.obsoleteClassNames ?? []) {
|
|
26
|
+
exports.deprecatedStyleClassMap.set(cls, style.className);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
exports.WHITELISTED_SKY_CLASSES = new Set([
|
|
30
|
+
'sky-btn',
|
|
31
|
+
'sky-btn-block',
|
|
32
|
+
'sky-btn-block-logo',
|
|
33
|
+
'sky-btn-borderless',
|
|
34
|
+
'sky-btn-borderless-inline',
|
|
35
|
+
'sky-btn-danger',
|
|
36
|
+
'sky-btn-default',
|
|
37
|
+
'sky-btn-icon',
|
|
38
|
+
'sky-btn-icon-borderless',
|
|
39
|
+
'sky-btn-link',
|
|
40
|
+
'sky-btn-link-inline',
|
|
41
|
+
'sky-btn-primary',
|
|
42
|
+
'sky-btn-sm',
|
|
43
|
+
'sky-control-help', // content projection selector
|
|
44
|
+
'sky-control-label', // content projection selector
|
|
45
|
+
'sky-control-label-required',
|
|
46
|
+
'sky-error-indicator', // content projection selector
|
|
47
|
+
'sky-error-label', // content projection selector; deprecate maybe?
|
|
48
|
+
'sky-form-control',
|
|
49
|
+
'sky-form-group',
|
|
50
|
+
'sky-input-box-btn-inset', // content projection selector
|
|
51
|
+
'sky-input-box-btn-left', // content projection selector
|
|
52
|
+
'sky-input-box-icon-inset', // content projection selector
|
|
53
|
+
'sky-input-box-icon-inset-left', // content projection selector
|
|
54
|
+
'sky-input-group',
|
|
55
|
+
'sky-input-group-btn', // content projection selector
|
|
56
|
+
'sky-input-group-icon', // content projection selector
|
|
57
|
+
'sky-pull-right', // add to style API in future
|
|
58
|
+
'sky-screen-reader-only',
|
|
59
|
+
]);
|
|
60
|
+
function checkSkyClassName(className) {
|
|
61
|
+
if (className.startsWith('sky-theme-')) {
|
|
62
|
+
return exports.validPublicClassNames.has(className)
|
|
63
|
+
? { type: 'valid' }
|
|
64
|
+
: { type: 'unknownThemeClass', className };
|
|
65
|
+
}
|
|
66
|
+
if (exports.deprecatedStyleClassMap.has(className)) {
|
|
67
|
+
const replacement = exports.deprecatedStyleClassMap.get(className);
|
|
68
|
+
return replacement !== undefined
|
|
69
|
+
? { type: 'deprecatedWithReplacement', className, replacement }
|
|
70
|
+
: { type: 'deprecatedNoReplacement', className };
|
|
71
|
+
}
|
|
72
|
+
return exports.WHITELISTED_SKY_CLASSES.has(className)
|
|
73
|
+
? { type: 'valid' }
|
|
74
|
+
: { type: 'privateClass', className };
|
|
75
|
+
}
|
|
76
|
+
exports.STYLE_API_DOCS_URL = 'https://developer.blackbaud.com/skyux/design/styles';
|
|
77
|
+
exports.SKY_CLASSNAME_MESSAGES = {
|
|
78
|
+
deprecatedWithReplacement: '"{{className}}" is deprecated. Use "{{replacement}}" instead.',
|
|
79
|
+
deprecatedNoReplacement: '"{{className}}" is deprecated with no direct replacement. See the style API documentation: {{docsUrl}}',
|
|
80
|
+
unknownThemeClass: '"{{className}}" is not a known sky-theme- class. See the style API documentation for valid class names: {{docsUrl}}',
|
|
81
|
+
privateClass: '"{{className}}" is a private SKY UX class and should not be used directly. See the style API documentation for alternatives: {{docsUrl}}',
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=style-public-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-public-api.js","sourceRoot":"","sources":["../../../../../../../libs/sdk/skyux-eslint/src/rules/utils/style-public-api.ts"],"names":[],"mappings":"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"}
|