@atlaskit/eslint-plugin-design-system 13.30.1 → 13.32.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +75 -75
  3. package/dist/cjs/presets/all-flat.codegen.js +3 -3
  4. package/dist/cjs/presets/all.codegen.js +3 -3
  5. package/dist/cjs/presets/recommended-flat.codegen.js +2 -2
  6. package/dist/cjs/presets/recommended.codegen.js +2 -2
  7. package/dist/cjs/rules/index.codegen.js +5 -5
  8. package/dist/cjs/rules/lozenge-badge-tag-labelling-system-migration/index.js +712 -0
  9. package/dist/cjs/rules/no-placeholder/index.js +162 -0
  10. package/dist/es2019/presets/all-flat.codegen.js +3 -3
  11. package/dist/es2019/presets/all.codegen.js +3 -3
  12. package/dist/es2019/presets/recommended-flat.codegen.js +2 -2
  13. package/dist/es2019/presets/recommended.codegen.js +2 -2
  14. package/dist/es2019/rules/index.codegen.js +5 -5
  15. package/dist/es2019/rules/lozenge-badge-tag-labelling-system-migration/index.js +702 -0
  16. package/dist/es2019/rules/no-placeholder/index.js +142 -0
  17. package/dist/esm/presets/all-flat.codegen.js +3 -3
  18. package/dist/esm/presets/all.codegen.js +3 -3
  19. package/dist/esm/presets/recommended-flat.codegen.js +2 -2
  20. package/dist/esm/presets/recommended.codegen.js +2 -2
  21. package/dist/esm/rules/index.codegen.js +5 -5
  22. package/dist/esm/rules/lozenge-badge-tag-labelling-system-migration/index.js +705 -0
  23. package/dist/esm/rules/no-placeholder/index.js +154 -0
  24. package/dist/types/presets/all-flat.codegen.d.ts +1 -1
  25. package/dist/types/presets/all.codegen.d.ts +1 -1
  26. package/dist/types/presets/recommended-flat.codegen.d.ts +1 -1
  27. package/dist/types/presets/recommended.codegen.d.ts +1 -1
  28. package/dist/types/rules/index.codegen.d.ts +1 -1
  29. package/dist/types/rules/no-placeholder/index.d.ts +6 -0
  30. package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +1 -1
  31. package/dist/types-ts4.5/presets/all.codegen.d.ts +1 -1
  32. package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +1 -1
  33. package/dist/types-ts4.5/presets/recommended.codegen.d.ts +1 -1
  34. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -1
  35. package/dist/types-ts4.5/rules/no-placeholder/index.d.ts +6 -0
  36. package/package.json +2 -2
  37. package/dist/cjs/rules/lozenge-isBold-and-lozenge-badge-appearance-migration/index.js +0 -332
  38. package/dist/cjs/rules/no-utility-icons/checks.js +0 -246
  39. package/dist/cjs/rules/no-utility-icons/index.js +0 -49
  40. package/dist/es2019/rules/lozenge-isBold-and-lozenge-badge-appearance-migration/index.js +0 -324
  41. package/dist/es2019/rules/no-utility-icons/checks.js +0 -177
  42. package/dist/es2019/rules/no-utility-icons/index.js +0 -44
  43. package/dist/esm/rules/lozenge-isBold-and-lozenge-badge-appearance-migration/index.js +0 -326
  44. package/dist/esm/rules/no-utility-icons/checks.js +0 -239
  45. package/dist/esm/rules/no-utility-icons/index.js +0 -43
  46. package/dist/types/rules/lozenge-isBold-and-lozenge-badge-appearance-migration/index.d.ts +0 -3
  47. package/dist/types/rules/no-utility-icons/checks.d.ts +0 -10
  48. package/dist/types/rules/no-utility-icons/index.d.ts +0 -3
  49. package/dist/types-ts4.5/rules/no-utility-icons/checks.d.ts +0 -10
  50. /package/dist/{types-ts4.5/rules/no-utility-icons → types/rules/lozenge-badge-tag-labelling-system-migration}/index.d.ts +0 -0
  51. /package/dist/types-ts4.5/rules/{lozenge-isBold-and-lozenge-badge-appearance-migration → lozenge-badge-tag-labelling-system-migration}/index.d.ts +0 -0
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ATLASKIT_FORM_PACKAGE = exports.ATLASKIT_FIELD_IMPORT = exports.AFFECTED_HTML_ELEMENTS = exports.AFFECTED_ATLASKIT_PACKAGES = void 0;
8
+ var _eslintCodemodUtils = require("eslint-codemod-utils");
9
+ var ast = _interopRequireWildcard(require("../../ast-nodes"));
10
+ var _createRule = require("../utils/create-rule");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ var AFFECTED_HTML_ELEMENTS = exports.AFFECTED_HTML_ELEMENTS = ['input', 'textarea'];
13
+ var AFFECTED_ATLASKIT_PACKAGES = exports.AFFECTED_ATLASKIT_PACKAGES = {
14
+ '@atlaskit/datetime-picker': ['DatePicker', 'TimePicker', 'DateTimePicker'],
15
+ '@atlaskit/select': ['default', 'AsyncCreatableSelect', 'CheckboxSelect', 'CountrySelect', 'CreatableSelect', 'PopupSelect', 'RadioSelect'],
16
+ '@atlaskit/textarea': ['default'],
17
+ '@atlaskit/textfield': ['default']
18
+ };
19
+ var ATLASKIT_FORM_PACKAGE = exports.ATLASKIT_FORM_PACKAGE = '@atlaskit/form';
20
+ var ATLASKIT_FIELD_IMPORT = exports.ATLASKIT_FIELD_IMPORT = 'Field';
21
+ var rule = (0, _createRule.createLintRule)({
22
+ meta: {
23
+ name: 'no-placeholder',
24
+ type: 'problem',
25
+ docs: {
26
+ description: 'Placeholders should not be used. If information should be given to the user about the proper type or formatting of a value, this should be included using a helper message that is associated to the input instead.',
27
+ recommended: true,
28
+ severity: 'warn'
29
+ },
30
+ messages: {
31
+ noPlaceholder: 'Placeholders should not be used. Use separate information to help users associated using `aria-describedby` instead.',
32
+ noPlaceholderOnSimpleField: 'Placeholders should not be used. Use the `helperMessage` prop instead.',
33
+ noPlaceholderOnComplexField: 'Placeholders should not be used. Use the `HelperMessage` component instead.'
34
+ }
35
+ },
36
+ create: function create(context) {
37
+ var hasFieldImport = false;
38
+ var fieldLocalName = null;
39
+ var localComponentNames = [];
40
+ return {
41
+ ImportDeclaration: function ImportDeclaration(node) {
42
+ var source = node.source.value;
43
+ if (typeof source !== 'string') {
44
+ return;
45
+ }
46
+
47
+ // Ignore non-atlaskit input/form packages
48
+ if (!Object.keys(AFFECTED_ATLASKIT_PACKAGES).includes(source) && ATLASKIT_FORM_PACKAGE !== source) {
49
+ return;
50
+ }
51
+ if (!node.specifiers.length) {
52
+ return;
53
+ }
54
+ var defaultImport = node.specifiers.filter(function (spec) {
55
+ return spec.type === 'ImportDefaultSpecifier';
56
+ });
57
+ var namedImport = node.specifiers.filter(function (spec) {
58
+ return spec.type === 'ImportSpecifier';
59
+ });
60
+ if (source === ATLASKIT_FORM_PACKAGE) {
61
+ if (namedImport.length && namedImport[0].type === 'ImportSpecifier' && 'name' in namedImport[0].imported && namedImport[0].imported.name === ATLASKIT_FIELD_IMPORT) {
62
+ hasFieldImport = true;
63
+ fieldLocalName = namedImport[0].local.name;
64
+ }
65
+ } else {
66
+ var importNames = AFFECTED_ATLASKIT_PACKAGES[source];
67
+ var usesDefaultImport = importNames.includes('default');
68
+ var possibleNamedImports = importNames.filter(function (importName) {
69
+ return importName !== 'default';
70
+ });
71
+ if (usesDefaultImport && defaultImport.length && defaultImport[0].local) {
72
+ localComponentNames.push(defaultImport[0].local.name);
73
+ // or if popup and using a named import
74
+ } else if (possibleNamedImports.length >= 1 && namedImport.length) {
75
+ namedImport.forEach(function (imp) {
76
+ if (imp.type === 'ImportSpecifier' && 'name' in imp.imported && possibleNamedImports.includes(imp.imported.name)) {
77
+ localComponentNames.push(imp.local.name);
78
+ }
79
+ });
80
+ }
81
+ }
82
+ },
83
+ JSXElement: function JSXElement(node) {
84
+ if (!(0, _eslintCodemodUtils.isNodeOfType)(node, 'JSXElement')) {
85
+ return false;
86
+ }
87
+ var elName = ast.JSXElement.getName(node);
88
+ if (!elName) {
89
+ return false;
90
+ }
91
+
92
+ // If it is one of the affected native HTML elements
93
+ if (AFFECTED_HTML_ELEMENTS.includes(elName)) {
94
+ // if has a placeholder attribute
95
+ var hasPlaceholderAttribute = node.openingElement.attributes.find(function (attr) {
96
+ return (0, _eslintCodemodUtils.isNodeOfType)(attr, 'JSXAttribute') && attr.name.name === 'placeholder';
97
+ });
98
+ if (hasPlaceholderAttribute) {
99
+ return context.report({
100
+ node: node.openingElement,
101
+ messageId: 'noPlaceholder'
102
+ });
103
+ }
104
+ // Else, it is a React component
105
+ } else {
106
+ // if none of the affected packages is imported, return
107
+ if (localComponentNames.length === 0) {
108
+ return;
109
+ }
110
+ // if component name is not in the list, exit
111
+ if (!(0, _eslintCodemodUtils.isNodeOfType)(node.openingElement.name, 'JSXIdentifier') || !localComponentNames.includes(node.openingElement.name.name)) {
112
+ return;
113
+ }
114
+ if (hasFieldImport && fieldLocalName) {
115
+ var _node = node;
116
+ var hasParentField = false;
117
+ var fieldType = 'Complex';
118
+ // If node is a Field element or if
119
+ while ((0, _eslintCodemodUtils.isNodeOfType)(_node, 'JSXElement') && (0, _eslintCodemodUtils.isNodeOfType)(_node.openingElement.name, 'JSXIdentifier') && !hasParentField) {
120
+ var name = _node.openingElement.name.name;
121
+ hasParentField = hasParentField || name === fieldLocalName;
122
+ _node = _node.parent;
123
+ // Skip up until a JSXElement or JSXAttribute is reached
124
+ if ((0, _eslintCodemodUtils.isNodeOfType)(_node, 'JSXFragment') || (0, _eslintCodemodUtils.isNodeOfType)(_node, 'ArrowFunctionExpression') || (0, _eslintCodemodUtils.isNodeOfType)(_node, 'JSXExpressionContainer') || (0, _eslintCodemodUtils.isNodeOfType)(_node, 'JSXAttribute')) {
125
+ while (_node && !(0, _eslintCodemodUtils.isNodeOfType)(_node, 'JSXElement') && !(0, _eslintCodemodUtils.isNodeOfType)(_node, 'Program')) {
126
+ if ((0, _eslintCodemodUtils.isNodeOfType)(_node, 'JSXAttribute')) {
127
+ fieldType = 'Simple';
128
+ }
129
+ _node = _node.parent;
130
+ }
131
+ }
132
+ }
133
+ if (hasParentField) {
134
+ // if has a placeholder attribute
135
+ var _hasPlaceholderAttribute = node.openingElement.attributes.find(function (attr) {
136
+ return (0, _eslintCodemodUtils.isNodeOfType)(attr, 'JSXAttribute') && attr.name.name === 'placeholder';
137
+ });
138
+ if (_hasPlaceholderAttribute) {
139
+ return context.report({
140
+ node: node.openingElement,
141
+ messageId: "noPlaceholderOn".concat(fieldType, "Field")
142
+ });
143
+ }
144
+ }
145
+ } else {
146
+ // if has a placeholder attribute
147
+ var _hasPlaceholderAttribute2 = node.openingElement.attributes.find(function (attr) {
148
+ return (0, _eslintCodemodUtils.isNodeOfType)(attr, 'JSXAttribute') && attr.name.name === 'placeholder';
149
+ });
150
+ if (_hasPlaceholderAttribute2) {
151
+ return context.report({
152
+ node: node.openingElement,
153
+ messageId: 'noPlaceholder'
154
+ });
155
+ }
156
+ }
157
+ }
158
+ }
159
+ };
160
+ }
161
+ });
162
+ var _default = exports.default = rule;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::131350ebc877f42247042c6e7327fe18>>
3
+ * @codegen <<SignedSource::4fa72535ce2bc0a19a6fb01c951150db>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
 
@@ -15,7 +15,7 @@ const rules = {
15
15
  '@atlaskit/design-system/ensure-icon-color': 'error',
16
16
  '@atlaskit/design-system/ensure-proper-xcss-usage': 'error',
17
17
  '@atlaskit/design-system/icon-label': 'warn',
18
- '@atlaskit/design-system/lozenge-isBold-and-lozenge-badge-appearance-migration': 'warn',
18
+ '@atlaskit/design-system/lozenge-badge-tag-labelling-system-migration': 'warn',
19
19
  '@atlaskit/design-system/no-banned-imports': 'error',
20
20
  '@atlaskit/design-system/no-boolean-autofocus-on-modal-dialog': 'warn',
21
21
  '@atlaskit/design-system/no-css-tagged-template-expression': 'error',
@@ -45,6 +45,7 @@ const rules = {
45
45
  '@atlaskit/design-system/no-margin': 'warn',
46
46
  '@atlaskit/design-system/no-nested-styles': 'error',
47
47
  '@atlaskit/design-system/no-physical-properties': 'error',
48
+ '@atlaskit/design-system/no-placeholder': 'warn',
48
49
  '@atlaskit/design-system/no-separator-with-list-elements': 'warn',
49
50
  '@atlaskit/design-system/no-styled-tagged-template-expression': 'error',
50
51
  '@atlaskit/design-system/no-to-match-snapshot': 'error',
@@ -53,7 +54,6 @@ const rules = {
53
54
  '@atlaskit/design-system/no-unsafe-style-overrides': 'warn',
54
55
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
55
56
  '@atlaskit/design-system/no-unused-css-map': 'warn',
56
- '@atlaskit/design-system/no-utility-icons': 'warn',
57
57
  '@atlaskit/design-system/prefer-primitives': 'warn',
58
58
  '@atlaskit/design-system/use-button-group-label': 'warn',
59
59
  '@atlaskit/design-system/use-character-counter-field': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::b3ddf9ee0a27aaf8a318a6579d48ce99>>
3
+ * @codegen <<SignedSource::dcf6bf4496c97fd6ad4c1d8d65337a6b>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
 
@@ -14,7 +14,7 @@ const rules = {
14
14
  '@atlaskit/design-system/ensure-icon-color': 'error',
15
15
  '@atlaskit/design-system/ensure-proper-xcss-usage': 'error',
16
16
  '@atlaskit/design-system/icon-label': 'warn',
17
- '@atlaskit/design-system/lozenge-isBold-and-lozenge-badge-appearance-migration': 'warn',
17
+ '@atlaskit/design-system/lozenge-badge-tag-labelling-system-migration': 'warn',
18
18
  '@atlaskit/design-system/no-banned-imports': 'error',
19
19
  '@atlaskit/design-system/no-boolean-autofocus-on-modal-dialog': 'warn',
20
20
  '@atlaskit/design-system/no-css-tagged-template-expression': 'error',
@@ -44,6 +44,7 @@ const rules = {
44
44
  '@atlaskit/design-system/no-margin': 'warn',
45
45
  '@atlaskit/design-system/no-nested-styles': 'error',
46
46
  '@atlaskit/design-system/no-physical-properties': 'error',
47
+ '@atlaskit/design-system/no-placeholder': 'warn',
47
48
  '@atlaskit/design-system/no-separator-with-list-elements': 'warn',
48
49
  '@atlaskit/design-system/no-styled-tagged-template-expression': 'error',
49
50
  '@atlaskit/design-system/no-to-match-snapshot': 'error',
@@ -52,7 +53,6 @@ const rules = {
52
53
  '@atlaskit/design-system/no-unsafe-style-overrides': 'warn',
53
54
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
54
55
  '@atlaskit/design-system/no-unused-css-map': 'warn',
55
- '@atlaskit/design-system/no-utility-icons': 'warn',
56
56
  '@atlaskit/design-system/prefer-primitives': 'warn',
57
57
  '@atlaskit/design-system/use-button-group-label': 'warn',
58
58
  '@atlaskit/design-system/use-character-counter-field': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::ba71ef89188bdc20d0ec948cc00f6436>>
3
+ * @codegen <<SignedSource::27c9a3631c47b134bfb9da3e921e0601>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
 
@@ -32,12 +32,12 @@ const rules = {
32
32
  allowedFunctionCalls: [['@atlaskit/tokens', 'token']]
33
33
  }],
34
34
  '@atlaskit/design-system/no-nested-styles': 'error',
35
+ '@atlaskit/design-system/no-placeholder': 'warn',
35
36
  '@atlaskit/design-system/no-separator-with-list-elements': 'warn',
36
37
  '@atlaskit/design-system/no-unsafe-design-token-usage': 'error',
37
38
  '@atlaskit/design-system/no-unsafe-style-overrides': 'warn',
38
39
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
39
40
  '@atlaskit/design-system/no-unused-css-map': 'warn',
40
- '@atlaskit/design-system/no-utility-icons': 'warn',
41
41
  '@atlaskit/design-system/use-button-group-label': 'warn',
42
42
  '@atlaskit/design-system/use-character-counter-field': 'warn',
43
43
  '@atlaskit/design-system/use-correct-field': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::5c119e0ab08e1f39d471b2b827bbb4de>>
3
+ * @codegen <<SignedSource::52a31bc6cdeb7a9818a0e225d21c88f2>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
 
@@ -31,12 +31,12 @@ const rules = {
31
31
  allowedFunctionCalls: [['@atlaskit/tokens', 'token']]
32
32
  }],
33
33
  '@atlaskit/design-system/no-nested-styles': 'error',
34
+ '@atlaskit/design-system/no-placeholder': 'warn',
34
35
  '@atlaskit/design-system/no-separator-with-list-elements': 'warn',
35
36
  '@atlaskit/design-system/no-unsafe-design-token-usage': 'error',
36
37
  '@atlaskit/design-system/no-unsafe-style-overrides': 'warn',
37
38
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
38
39
  '@atlaskit/design-system/no-unused-css-map': 'warn',
39
- '@atlaskit/design-system/no-utility-icons': 'warn',
40
40
  '@atlaskit/design-system/use-button-group-label': 'warn',
41
41
  '@atlaskit/design-system/use-character-counter-field': 'warn',
42
42
  '@atlaskit/design-system/use-correct-field': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::02be73e0813b6f22038f0f3f2ad6865d>>
3
+ * @codegen <<SignedSource::ca89575f70ae79af2f43113bdc77c0c5>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
 
@@ -11,7 +11,7 @@ import ensureDesignTokenUsagePreview from './ensure-design-token-usage-preview';
11
11
  import ensureIconColor from './ensure-icon-color';
12
12
  import ensureProperXcssUsage from './ensure-proper-xcss-usage';
13
13
  import iconLabel from './icon-label';
14
- import lozengeIsBoldAndLozengeBadgeAppearanceMigration from './lozenge-isBold-and-lozenge-badge-appearance-migration';
14
+ import lozengeBadgeTagLabellingSystemMigration from './lozenge-badge-tag-labelling-system-migration';
15
15
  import noBannedImports from './no-banned-imports';
16
16
  import noBooleanAutofocusOnModalDialog from './no-boolean-autofocus-on-modal-dialog';
17
17
  import noCssTaggedTemplateExpression from './no-css-tagged-template-expression';
@@ -42,6 +42,7 @@ import noLegacyIcons from './no-legacy-icons';
42
42
  import noMargin from './no-margin';
43
43
  import noNestedStyles from './no-nested-styles';
44
44
  import noPhysicalProperties from './no-physical-properties';
45
+ import noPlaceholder from './no-placeholder';
45
46
  import noSeparatorWithListElements from './no-separator-with-list-elements';
46
47
  import noStyledTaggedTemplateExpression from './no-styled-tagged-template-expression';
47
48
  import noToMatchSnapshot from './no-to-match-snapshot';
@@ -50,7 +51,6 @@ import noUnsafeInlineSnapshot from './no-unsafe-inline-snapshot';
50
51
  import noUnsafeStyleOverrides from './no-unsafe-style-overrides';
51
52
  import noUnsupportedDragAndDropLibraries from './no-unsupported-drag-and-drop-libraries';
52
53
  import noUnusedCssMap from './no-unused-css-map';
53
- import noUtilityIcons from './no-utility-icons';
54
54
  import preferPrimitives from './prefer-primitives';
55
55
  import useButtonGroupLabel from './use-button-group-label';
56
56
  import useCharacterCounterField from './use-character-counter-field';
@@ -85,7 +85,7 @@ export const rules = {
85
85
  'ensure-icon-color': ensureIconColor,
86
86
  'ensure-proper-xcss-usage': ensureProperXcssUsage,
87
87
  'icon-label': iconLabel,
88
- 'lozenge-isBold-and-lozenge-badge-appearance-migration': lozengeIsBoldAndLozengeBadgeAppearanceMigration,
88
+ 'lozenge-badge-tag-labelling-system-migration': lozengeBadgeTagLabellingSystemMigration,
89
89
  'no-banned-imports': noBannedImports,
90
90
  'no-boolean-autofocus-on-modal-dialog': noBooleanAutofocusOnModalDialog,
91
91
  'no-css-tagged-template-expression': noCssTaggedTemplateExpression,
@@ -116,6 +116,7 @@ export const rules = {
116
116
  'no-margin': noMargin,
117
117
  'no-nested-styles': noNestedStyles,
118
118
  'no-physical-properties': noPhysicalProperties,
119
+ 'no-placeholder': noPlaceholder,
119
120
  'no-separator-with-list-elements': noSeparatorWithListElements,
120
121
  'no-styled-tagged-template-expression': noStyledTaggedTemplateExpression,
121
122
  'no-to-match-snapshot': noToMatchSnapshot,
@@ -124,7 +125,6 @@ export const rules = {
124
125
  'no-unsafe-style-overrides': noUnsafeStyleOverrides,
125
126
  'no-unsupported-drag-and-drop-libraries': noUnsupportedDragAndDropLibraries,
126
127
  'no-unused-css-map': noUnusedCssMap,
127
- 'no-utility-icons': noUtilityIcons,
128
128
  'prefer-primitives': preferPrimitives,
129
129
  'use-button-group-label': useButtonGroupLabel,
130
130
  'use-character-counter-field': useCharacterCounterField,