@atlaskit/eslint-plugin-design-system 13.7.0 → 13.9.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/CHANGELOG.md +16 -0
- package/README.md +57 -55
- package/dist/cjs/presets/all-flat.codegen.js +3 -1
- package/dist/cjs/presets/all.codegen.js +3 -1
- package/dist/cjs/presets/recommended-flat.codegen.js +3 -1
- package/dist/cjs/presets/recommended.codegen.js +3 -1
- package/dist/cjs/rules/index.codegen.js +5 -1
- package/dist/cjs/rules/no-html-range/index.js +34 -0
- package/dist/cjs/rules/no-html-range/node-types/index.js +12 -0
- package/dist/cjs/rules/no-html-range/node-types/jsx-element/index.js +27 -0
- package/dist/cjs/rules/no-html-range/node-types/supported.js +70 -0
- package/dist/cjs/rules/no-html-select/index.js +40 -0
- package/dist/cjs/rules/no-html-select/node-types/index.js +19 -0
- package/dist/cjs/rules/no-html-select/node-types/jsx-element/index.js +27 -0
- package/dist/cjs/rules/no-html-select/node-types/styled-component/index.js +42 -0
- package/dist/cjs/rules/no-html-select/node-types/supported.js +66 -0
- package/dist/es2019/presets/all-flat.codegen.js +3 -1
- package/dist/es2019/presets/all.codegen.js +3 -1
- package/dist/es2019/presets/recommended-flat.codegen.js +3 -1
- package/dist/es2019/presets/recommended.codegen.js +3 -1
- package/dist/es2019/rules/index.codegen.js +5 -1
- package/dist/es2019/rules/no-html-range/index.js +28 -0
- package/dist/es2019/rules/no-html-range/node-types/index.js +1 -0
- package/dist/es2019/rules/no-html-range/node-types/jsx-element/index.js +19 -0
- package/dist/es2019/rules/no-html-range/node-types/supported.js +60 -0
- package/dist/es2019/rules/no-html-select/index.js +34 -0
- package/dist/es2019/rules/no-html-select/node-types/index.js +2 -0
- package/dist/es2019/rules/no-html-select/node-types/jsx-element/index.js +19 -0
- package/dist/es2019/rules/no-html-select/node-types/styled-component/index.js +37 -0
- package/dist/es2019/rules/no-html-select/node-types/supported.js +56 -0
- package/dist/esm/presets/all-flat.codegen.js +3 -1
- package/dist/esm/presets/all.codegen.js +3 -1
- package/dist/esm/presets/recommended-flat.codegen.js +3 -1
- package/dist/esm/presets/recommended.codegen.js +3 -1
- package/dist/esm/rules/index.codegen.js +5 -1
- package/dist/esm/rules/no-html-range/index.js +28 -0
- package/dist/esm/rules/no-html-range/node-types/index.js +1 -0
- package/dist/esm/rules/no-html-range/node-types/jsx-element/index.js +18 -0
- package/dist/esm/rules/no-html-range/node-types/supported.js +61 -0
- package/dist/esm/rules/no-html-select/index.js +34 -0
- package/dist/esm/rules/no-html-select/node-types/index.js +2 -0
- package/dist/esm/rules/no-html-select/node-types/jsx-element/index.js +18 -0
- package/dist/esm/rules/no-html-select/node-types/styled-component/index.js +36 -0
- package/dist/esm/rules/no-html-select/node-types/supported.js +57 -0
- package/dist/types/index.codegen.d.ts +18 -0
- package/dist/types/presets/all-flat.codegen.d.ts +2 -0
- package/dist/types/presets/all.codegen.d.ts +2 -0
- package/dist/types/presets/recommended-flat.codegen.d.ts +2 -0
- package/dist/types/presets/recommended.codegen.d.ts +2 -0
- package/dist/types/rules/index.codegen.d.ts +2 -0
- package/dist/types/rules/no-html-range/index.d.ts +3 -0
- package/dist/types/rules/no-html-range/node-types/index.d.ts +1 -0
- package/dist/types/rules/no-html-range/node-types/jsx-element/index.d.ts +8 -0
- package/dist/types/rules/no-html-range/node-types/supported.d.ts +7 -0
- package/dist/types/rules/no-html-select/index.d.ts +3 -0
- package/dist/types/rules/no-html-select/node-types/index.d.ts +2 -0
- package/dist/types/rules/no-html-select/node-types/jsx-element/index.d.ts +8 -0
- package/dist/types/rules/no-html-select/node-types/styled-component/index.d.ts +8 -0
- package/dist/types/rules/no-html-select/node-types/supported.d.ts +7 -0
- package/dist/types-ts4.5/index.codegen.d.ts +18 -0
- package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +2 -0
- package/dist/types-ts4.5/presets/all.codegen.d.ts +2 -0
- package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +2 -0
- package/dist/types-ts4.5/presets/recommended.codegen.d.ts +2 -0
- package/dist/types-ts4.5/rules/index.codegen.d.ts +2 -0
- package/dist/types-ts4.5/rules/no-html-range/index.d.ts +3 -0
- package/dist/types-ts4.5/rules/no-html-range/node-types/index.d.ts +1 -0
- package/dist/types-ts4.5/rules/no-html-range/node-types/jsx-element/index.d.ts +8 -0
- package/dist/types-ts4.5/rules/no-html-range/node-types/supported.d.ts +7 -0
- package/dist/types-ts4.5/rules/no-html-select/index.d.ts +3 -0
- package/dist/types-ts4.5/rules/no-html-select/node-types/index.d.ts +2 -0
- package/dist/types-ts4.5/rules/no-html-select/node-types/jsx-element/index.d.ts +8 -0
- package/dist/types-ts4.5/rules/no-html-select/node-types/styled-component/index.d.ts +8 -0
- package/dist/types-ts4.5/rules/no-html-select/node-types/supported.d.ts +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
2
|
+
import * as ast from '../../../ast-nodes';
|
|
3
|
+
var supportedElements = [{
|
|
4
|
+
name: 'input',
|
|
5
|
+
attributes: [{
|
|
6
|
+
name: 'type',
|
|
7
|
+
values: ['range']
|
|
8
|
+
}]
|
|
9
|
+
}];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Determines if the given JSX element is a supported element to lint with this rule.
|
|
13
|
+
*/
|
|
14
|
+
export function isSupportedForLint(jsxNode, elementName) {
|
|
15
|
+
if (!isNodeOfType(jsxNode, 'JSXElement')) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Allow passing in the element name because the jsxNode doesn't
|
|
20
|
+
// represent the element name with styled components
|
|
21
|
+
var elName = elementName || ast.JSXElement.getName(jsxNode);
|
|
22
|
+
if (!elName) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Only check native HTML elements, not components
|
|
27
|
+
if (elName[0] !== elName[0].toLowerCase()) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
var supportedElement = supportedElements.find(function (_ref) {
|
|
31
|
+
var name = _ref.name;
|
|
32
|
+
return name === elName;
|
|
33
|
+
});
|
|
34
|
+
if (!supportedElement) {
|
|
35
|
+
supportedElement = supportedElements.find(function (_ref2) {
|
|
36
|
+
var name = _ref2.name;
|
|
37
|
+
return name === '*';
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (!supportedElement) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Check if the element has any attributes that are not supported
|
|
45
|
+
var attributes = ast.JSXElement.getAttributes(jsxNode);
|
|
46
|
+
if (supportedElement.attributes && !supportedElement.attributes.every(function (_ref3) {
|
|
47
|
+
var name = _ref3.name,
|
|
48
|
+
values = _ref3.values;
|
|
49
|
+
return attributes.some(function (attribute) {
|
|
50
|
+
if (attribute.type === 'JSXSpreadAttribute') {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
var isMatchingName = attribute.name.name === name;
|
|
54
|
+
var isMatchingValues = values && attribute.value && attribute.value.type === 'Literal' && typeof attribute.value.value === 'string' && (values === null || values === void 0 ? void 0 : values.includes(attribute.value.value));
|
|
55
|
+
return isMatchingName && isMatchingValues;
|
|
56
|
+
});
|
|
57
|
+
})) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createLintRule } from '../utils/create-rule';
|
|
2
|
+
import { JSXElement as _JSXElement, StyledComponent } from './node-types';
|
|
3
|
+
var rule = createLintRule({
|
|
4
|
+
meta: {
|
|
5
|
+
name: 'no-html-select',
|
|
6
|
+
type: 'suggestion',
|
|
7
|
+
hasSuggestions: true,
|
|
8
|
+
docs: {
|
|
9
|
+
description: 'Discourage direct usage of HTML select elements in favor of the Atlassian Design System select component.',
|
|
10
|
+
recommended: true,
|
|
11
|
+
severity: 'warn'
|
|
12
|
+
},
|
|
13
|
+
messages: {
|
|
14
|
+
noHtmlSelect: "This <{{ name }}> should be replaced with the select component from the Atlassian Design System. ADS select components have event tracking, ensure accessible implementations, and provide access to ADS styling features like design tokens."
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
create: function create(context) {
|
|
18
|
+
return {
|
|
19
|
+
// transforms styled.<anchor>(...) usages
|
|
20
|
+
CallExpression: function CallExpression(node) {
|
|
21
|
+
StyledComponent.lint(node, {
|
|
22
|
+
context: context
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
// transforms <anchor css={...}> usages
|
|
26
|
+
JSXElement: function JSXElement(node) {
|
|
27
|
+
_JSXElement.lint(node, {
|
|
28
|
+
context: context
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
export default rule;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as ast from '../../../../ast-nodes';
|
|
2
|
+
import { isSupportedForLint } from '../supported';
|
|
3
|
+
export var JSXElement = {
|
|
4
|
+
lint: function lint(node, _ref) {
|
|
5
|
+
var context = _ref.context;
|
|
6
|
+
if (!isSupportedForLint(node)) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
var nodeName = ast.JSXElement.getName(node);
|
|
10
|
+
context.report({
|
|
11
|
+
node: node.openingElement,
|
|
12
|
+
messageId: 'noHtmlSelect',
|
|
13
|
+
data: {
|
|
14
|
+
name: nodeName
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* eslint-disable @repo/internal/react/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
|
+
import { getScope } from '@atlaskit/eslint-utils/context-compat';
|
|
5
|
+
import { getJsxElementByName } from '../../../utils/get-jsx-element-by-name';
|
|
6
|
+
import { getStyledComponentCall } from '../../../utils/get-styled-component-call';
|
|
7
|
+
import { isSupportedForLint } from '../supported';
|
|
8
|
+
export var StyledComponent = {
|
|
9
|
+
lint: function lint(node, _ref) {
|
|
10
|
+
var _getJsxElementByName;
|
|
11
|
+
var context = _ref.context;
|
|
12
|
+
if (!isNodeOfType(node, 'CallExpression') || !isNodeOfType(node.callee, 'MemberExpression') || !isNodeOfType(node.callee.object, 'Identifier') || !isNodeOfType(node.callee.property, 'Identifier')) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
var styles = getStyledComponentCall(node);
|
|
16
|
+
var elementName = node.callee.property.name;
|
|
17
|
+
if (!styles || !isNodeOfType(styles.id, 'Identifier')) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
var jsxElement = (_getJsxElementByName = getJsxElementByName(styles.id.name, getScope(context, node))) === null || _getJsxElementByName === void 0 ? void 0 : _getJsxElementByName.parent;
|
|
21
|
+
if (!jsxElement) {
|
|
22
|
+
// If there's no JSX element, we can't determine if it's being used as an select or not
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (jsxElement && !isSupportedForLint(jsxElement, elementName)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
context.report({
|
|
29
|
+
node: styles,
|
|
30
|
+
messageId: 'noHtmlSelect',
|
|
31
|
+
data: {
|
|
32
|
+
name: node.callee.property.name
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
2
|
+
import * as ast from '../../../ast-nodes';
|
|
3
|
+
var supportedElements = [{
|
|
4
|
+
name: 'select'
|
|
5
|
+
}];
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Determines if the given JSX element is a supported element to lint with this rule.
|
|
9
|
+
*/
|
|
10
|
+
export function isSupportedForLint(jsxNode, elementName) {
|
|
11
|
+
if (!isNodeOfType(jsxNode, 'JSXElement')) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Allow passing in the element name because the jsxNode doesn't
|
|
16
|
+
// represent the element name with styled components
|
|
17
|
+
var elName = elementName || ast.JSXElement.getName(jsxNode);
|
|
18
|
+
if (!elName) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Only check native HTML elements, not components
|
|
23
|
+
if (elName[0] !== elName[0].toLowerCase()) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
var supportedElement = supportedElements.find(function (_ref) {
|
|
27
|
+
var name = _ref.name;
|
|
28
|
+
return name === elName;
|
|
29
|
+
});
|
|
30
|
+
if (!supportedElement) {
|
|
31
|
+
supportedElement = supportedElements.find(function (_ref2) {
|
|
32
|
+
var name = _ref2.name;
|
|
33
|
+
return name === '*';
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (!supportedElement) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Check if the element has any attributes that are not supported
|
|
41
|
+
var attributes = ast.JSXElement.getAttributes(jsxNode);
|
|
42
|
+
if (supportedElement.attributes && !supportedElement.attributes.every(function (_ref3) {
|
|
43
|
+
var name = _ref3.name,
|
|
44
|
+
values = _ref3.values;
|
|
45
|
+
return attributes.some(function (attribute) {
|
|
46
|
+
if (attribute.type === 'JSXSpreadAttribute') {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
var isMatchingName = attribute.name.name === name;
|
|
50
|
+
var isMatchingValues = values && attribute.value && attribute.value.type === 'Literal' && typeof attribute.value.value === 'string' && (values === null || values === void 0 ? void 0 : values.includes(attribute.value.value));
|
|
51
|
+
return isMatchingName && isMatchingValues;
|
|
52
|
+
});
|
|
53
|
+
})) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
@@ -36,6 +36,8 @@ export declare const plugin: {
|
|
|
36
36
|
'no-html-button': import("eslint").Rule.RuleModule;
|
|
37
37
|
'no-html-checkbox': import("eslint").Rule.RuleModule;
|
|
38
38
|
'no-html-image': import("eslint").Rule.RuleModule;
|
|
39
|
+
'no-html-range': import("eslint").Rule.RuleModule;
|
|
40
|
+
'no-html-select': import("eslint").Rule.RuleModule;
|
|
39
41
|
'no-invalid-css-map': import("eslint").Rule.RuleModule;
|
|
40
42
|
'no-keyframes-tagged-template-expression': import("eslint").Rule.RuleModule;
|
|
41
43
|
'no-legacy-icons': import("eslint").Rule.RuleModule;
|
|
@@ -91,6 +93,8 @@ export declare const plugin: {
|
|
|
91
93
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
92
94
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
93
95
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
96
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
97
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
94
98
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
95
99
|
allowedFunctionCalls: string[][];
|
|
96
100
|
}];
|
|
@@ -150,6 +154,8 @@ export declare const plugin: {
|
|
|
150
154
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
151
155
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
152
156
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
157
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
158
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
153
159
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
154
160
|
allowedFunctionCalls: string[][];
|
|
155
161
|
}];
|
|
@@ -202,6 +208,8 @@ export declare const plugin: {
|
|
|
202
208
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
203
209
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
204
210
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
211
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
212
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
205
213
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
206
214
|
allowedFunctionCalls: string[][];
|
|
207
215
|
}];
|
|
@@ -245,6 +253,8 @@ export declare const plugin: {
|
|
|
245
253
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
246
254
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
247
255
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
256
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
257
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
248
258
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
249
259
|
allowedFunctionCalls: string[][];
|
|
250
260
|
}];
|
|
@@ -294,6 +304,8 @@ declare const configs: {
|
|
|
294
304
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
295
305
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
296
306
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
307
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
308
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
297
309
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
298
310
|
allowedFunctionCalls: string[][];
|
|
299
311
|
}];
|
|
@@ -353,6 +365,8 @@ declare const configs: {
|
|
|
353
365
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
354
366
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
355
367
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
368
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
369
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
356
370
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
357
371
|
allowedFunctionCalls: string[][];
|
|
358
372
|
}];
|
|
@@ -405,6 +419,8 @@ declare const configs: {
|
|
|
405
419
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
406
420
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
407
421
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
422
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
423
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
408
424
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
409
425
|
allowedFunctionCalls: string[][];
|
|
410
426
|
}];
|
|
@@ -448,6 +464,8 @@ declare const configs: {
|
|
|
448
464
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
449
465
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
450
466
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
467
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
468
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
451
469
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
452
470
|
allowedFunctionCalls: string[][];
|
|
453
471
|
}];
|
|
@@ -19,6 +19,8 @@ declare const _default: {
|
|
|
19
19
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
20
20
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
21
21
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
22
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
23
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
22
24
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
23
25
|
allowedFunctionCalls: string[][];
|
|
24
26
|
}];
|
|
@@ -19,6 +19,8 @@ declare const _default: {
|
|
|
19
19
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
20
20
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
21
21
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
22
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
23
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
22
24
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
23
25
|
allowedFunctionCalls: string[][];
|
|
24
26
|
}];
|
|
@@ -14,6 +14,8 @@ declare const _default: {
|
|
|
14
14
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
15
15
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
16
16
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
17
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
18
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
17
19
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
18
20
|
allowedFunctionCalls: string[][];
|
|
19
21
|
}];
|
|
@@ -14,6 +14,8 @@ declare const _default: {
|
|
|
14
14
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
15
15
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
16
16
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
17
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
18
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
17
19
|
'@atlaskit/design-system/no-invalid-css-map': ["error", {
|
|
18
20
|
allowedFunctionCalls: string[][];
|
|
19
21
|
}];
|
|
@@ -20,6 +20,8 @@ export declare const rules: {
|
|
|
20
20
|
'no-html-button': import("eslint").Rule.RuleModule;
|
|
21
21
|
'no-html-checkbox': import("eslint").Rule.RuleModule;
|
|
22
22
|
'no-html-image': import("eslint").Rule.RuleModule;
|
|
23
|
+
'no-html-range': import("eslint").Rule.RuleModule;
|
|
24
|
+
'no-html-select': import("eslint").Rule.RuleModule;
|
|
23
25
|
'no-invalid-css-map': import("eslint").Rule.RuleModule;
|
|
24
26
|
'no-keyframes-tagged-template-expression': import("eslint").Rule.RuleModule;
|
|
25
27
|
'no-legacy-icons': import("eslint").Rule.RuleModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { JSXElement } from './jsx-element';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type EslintNode } from 'eslint-codemod-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Determines if the given JSX element is a supported element to lint with this rule.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isSupportedForLint(jsxNode: EslintNode, elementName?: string): jsxNode is Extract<EslintNode, {
|
|
6
|
+
type: 'JSXElement';
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type EslintNode } from 'eslint-codemod-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Determines if the given JSX element is a supported element to lint with this rule.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isSupportedForLint(jsxNode: EslintNode, elementName?: string): jsxNode is Extract<EslintNode, {
|
|
6
|
+
type: 'JSXElement';
|
|
7
|
+
}>;
|
|
@@ -36,6 +36,8 @@ export declare const plugin: {
|
|
|
36
36
|
'no-html-button': import("eslint").Rule.RuleModule;
|
|
37
37
|
'no-html-checkbox': import("eslint").Rule.RuleModule;
|
|
38
38
|
'no-html-image': import("eslint").Rule.RuleModule;
|
|
39
|
+
'no-html-range': import("eslint").Rule.RuleModule;
|
|
40
|
+
'no-html-select': import("eslint").Rule.RuleModule;
|
|
39
41
|
'no-invalid-css-map': import("eslint").Rule.RuleModule;
|
|
40
42
|
'no-keyframes-tagged-template-expression': import("eslint").Rule.RuleModule;
|
|
41
43
|
'no-legacy-icons': import("eslint").Rule.RuleModule;
|
|
@@ -91,6 +93,8 @@ export declare const plugin: {
|
|
|
91
93
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
92
94
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
93
95
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
96
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
97
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
94
98
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
95
99
|
"error",
|
|
96
100
|
{
|
|
@@ -153,6 +157,8 @@ export declare const plugin: {
|
|
|
153
157
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
154
158
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
155
159
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
160
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
161
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
156
162
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
157
163
|
"error",
|
|
158
164
|
{
|
|
@@ -208,6 +214,8 @@ export declare const plugin: {
|
|
|
208
214
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
209
215
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
210
216
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
217
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
218
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
211
219
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
212
220
|
"error",
|
|
213
221
|
{
|
|
@@ -254,6 +262,8 @@ export declare const plugin: {
|
|
|
254
262
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
255
263
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
256
264
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
265
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
266
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
257
267
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
258
268
|
"error",
|
|
259
269
|
{
|
|
@@ -306,6 +316,8 @@ declare const configs: {
|
|
|
306
316
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
307
317
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
308
318
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
319
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
320
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
309
321
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
310
322
|
"error",
|
|
311
323
|
{
|
|
@@ -368,6 +380,8 @@ declare const configs: {
|
|
|
368
380
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
369
381
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
370
382
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
383
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
384
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
371
385
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
372
386
|
"error",
|
|
373
387
|
{
|
|
@@ -423,6 +437,8 @@ declare const configs: {
|
|
|
423
437
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
424
438
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
425
439
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
440
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
441
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
426
442
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
427
443
|
"error",
|
|
428
444
|
{
|
|
@@ -469,6 +485,8 @@ declare const configs: {
|
|
|
469
485
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
470
486
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
471
487
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
488
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
489
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
472
490
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
473
491
|
"error",
|
|
474
492
|
{
|
|
@@ -19,6 +19,8 @@ declare const _default: {
|
|
|
19
19
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
20
20
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
21
21
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
22
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
23
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
22
24
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
23
25
|
"error",
|
|
24
26
|
{
|
|
@@ -19,6 +19,8 @@ declare const _default: {
|
|
|
19
19
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
20
20
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
21
21
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
22
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
23
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
22
24
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
23
25
|
"error",
|
|
24
26
|
{
|
|
@@ -14,6 +14,8 @@ declare const _default: {
|
|
|
14
14
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
15
15
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
16
16
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
17
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
18
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
17
19
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
18
20
|
"error",
|
|
19
21
|
{
|
|
@@ -14,6 +14,8 @@ declare const _default: {
|
|
|
14
14
|
'@atlaskit/design-system/no-html-button': "warn";
|
|
15
15
|
'@atlaskit/design-system/no-html-checkbox': "warn";
|
|
16
16
|
'@atlaskit/design-system/no-html-image': "warn";
|
|
17
|
+
'@atlaskit/design-system/no-html-range': "warn";
|
|
18
|
+
'@atlaskit/design-system/no-html-select': "warn";
|
|
17
19
|
'@atlaskit/design-system/no-invalid-css-map': [
|
|
18
20
|
"error",
|
|
19
21
|
{
|
|
@@ -20,6 +20,8 @@ export declare const rules: {
|
|
|
20
20
|
'no-html-button': import("eslint").Rule.RuleModule;
|
|
21
21
|
'no-html-checkbox': import("eslint").Rule.RuleModule;
|
|
22
22
|
'no-html-image': import("eslint").Rule.RuleModule;
|
|
23
|
+
'no-html-range': import("eslint").Rule.RuleModule;
|
|
24
|
+
'no-html-select': import("eslint").Rule.RuleModule;
|
|
23
25
|
'no-invalid-css-map': import("eslint").Rule.RuleModule;
|
|
24
26
|
'no-keyframes-tagged-template-expression': import("eslint").Rule.RuleModule;
|
|
25
27
|
'no-legacy-icons': import("eslint").Rule.RuleModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { JSXElement } from './jsx-element';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type EslintNode } from 'eslint-codemod-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Determines if the given JSX element is a supported element to lint with this rule.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isSupportedForLint(jsxNode: EslintNode, elementName?: string): jsxNode is Extract<EslintNode, {
|
|
6
|
+
type: 'JSXElement';
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type EslintNode } from 'eslint-codemod-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Determines if the given JSX element is a supported element to lint with this rule.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isSupportedForLint(jsxNode: EslintNode, elementName?: string): jsxNode is Extract<EslintNode, {
|
|
6
|
+
type: 'JSXElement';
|
|
7
|
+
}>;
|
package/package.json
CHANGED