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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skyux-eslint",
3
- "version": "14.1.0",
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.1.0"
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-sdk/eslint-schematics": "14.1.0",
37
- "@skyux/manifest": "14.1.0",
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>;
@@ -7,6 +7,7 @@ declare const _default: ({
7
7
  } | {
8
8
  name: string;
9
9
  rules: {
10
+ 'skyux-eslint/no-invalid-sky-classnames': "error";
10
11
  'skyux-eslint/no-lambda-imports': "error";
11
12
  'skyux-eslint/no-sky-selectors': "error";
12
13
  };
@@ -7,6 +7,7 @@ exports.default = [
7
7
  {
8
8
  name: 'skyux-eslint/ts-all',
9
9
  rules: {
10
+ 'skyux-eslint/no-invalid-sky-classnames': 'error',
10
11
  'skyux-eslint/no-lambda-imports': 'error',
11
12
  'skyux-eslint/no-sky-selectors': 'error',
12
13
  },
@@ -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"}
@@ -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,2 @@
1
+ export declare const RULE_NAME = "no-invalid-sky-classnames";
2
+ export declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
@@ -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,2 @@
1
+ export declare const RULE_NAME = "no-invalid-sky-classnames";
2
+ export declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<string, readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
@@ -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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"}