@atlaskit/eslint-plugin-design-system 11.9.0 → 12.0.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 +27 -0
- package/dist/cjs/ast-nodes/object-entry.js +1 -1
- package/dist/cjs/ast-nodes/root.js +1 -1
- package/dist/cjs/presets/all.codegen.js +1 -1
- package/dist/cjs/presets/recommended.codegen.js +1 -1
- package/dist/cjs/rules/consistent-css-prop-usage/index.js +1 -1
- package/dist/cjs/rules/ensure-design-token-usage/color.js +10 -10
- package/dist/cjs/rules/ensure-design-token-usage/index.js +12 -5
- package/dist/cjs/rules/ensure-design-token-usage/utils.js +3 -3
- package/dist/cjs/rules/no-deprecated-apis/index.js +1 -1
- package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +1 -1
- package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +1 -1
- package/dist/cjs/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +1 -1
- package/dist/cjs/rules/no-empty-styled-expression/index.js +1 -1
- package/dist/cjs/rules/no-html-anchor/node-types/jsx-element/index.js +1 -1
- package/dist/cjs/rules/no-html-anchor/node-types/styled-component/index.js +1 -1
- package/dist/cjs/rules/no-html-button/node-types/styled-component/index.js +1 -1
- package/dist/cjs/rules/no-invalid-css-map/index.js +1 -1
- package/dist/cjs/rules/no-invalid-css-map/utils.js +1 -1
- package/dist/cjs/rules/no-legacy-icons/helpers.js +40 -3
- package/dist/cjs/rules/no-margin/index.js +4 -4
- package/dist/cjs/rules/no-nested-styles/index.js +2 -2
- package/dist/cjs/rules/no-physical-properties/index.js +1 -1
- package/dist/cjs/rules/no-unsafe-design-token-usage/index.js +2 -2
- package/dist/cjs/rules/no-unsafe-style-overrides/index.js +1 -1
- package/dist/cjs/rules/use-heading/config/index.js +1 -1
- package/dist/cjs/rules/use-heading/index.js +13 -1
- package/dist/cjs/rules/use-heading-level-in-spotlight-card/index.js +1 -1
- package/dist/cjs/rules/use-href-in-link-item/index.js +1 -1
- package/dist/cjs/rules/use-latest-xcss-syntax/index.js +1 -1
- package/dist/cjs/rules/use-latest-xcss-syntax/transformers/style-property/index.js +1 -1
- package/dist/cjs/rules/use-latest-xcss-syntax-typography/config/index.js +3 -2
- package/dist/cjs/rules/use-latest-xcss-syntax-typography/index.js +24 -6
- package/dist/cjs/rules/use-primitives/config/index.js +41 -1
- package/dist/cjs/rules/use-primitives/index.js +14 -0
- package/dist/cjs/rules/use-primitives/transformers/compiled-styled/index.js +1 -1
- package/dist/cjs/rules/use-primitives/transformers/css-to-xcss.js +1 -1
- package/dist/cjs/rules/use-primitives/transformers/emotion-css/index.js +1 -1
- package/dist/cjs/rules/use-primitives/utils/get-variable-usage-count.js +1 -1
- package/dist/cjs/rules/use-primitives-text/config/index.js +11 -2
- package/dist/cjs/rules/use-primitives-text/index.js +27 -0
- package/dist/cjs/rules/use-primitives-text/transformers/emphasis-elements.js +1 -1
- package/dist/cjs/rules/use-primitives-text/transformers/paragraph-elements.js +1 -1
- package/dist/cjs/rules/use-primitives-text/transformers/span-elements.js +1 -1
- package/dist/cjs/rules/use-primitives-text/transformers/strong-elements.js +1 -1
- package/dist/cjs/rules/use-tokens-space/index.js +5 -5
- package/dist/cjs/rules/use-tokens-typography/config/index.js +1 -1
- package/dist/cjs/rules/use-tokens-typography/index.js +7 -6
- package/dist/cjs/rules/use-tokens-typography/transformers/font-family.js +3 -2
- package/dist/cjs/rules/use-tokens-typography/transformers/font-weight.js +3 -2
- package/dist/cjs/rules/use-tokens-typography/transformers/style-object.js +4 -10
- package/dist/cjs/rules/use-tokens-typography/transformers/untokenized-properties.js +2 -1
- package/dist/cjs/rules/use-visually-hidden/index.js +2 -2
- package/dist/cjs/rules/utils/create-no-exported-rule/check-if-supported-export.js +3 -3
- package/dist/cjs/rules/utils/create-no-exported-rule/main.js +1 -1
- package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/index.js +1 -1
- package/dist/cjs/rules/utils/get-first-supported-import.js +1 -1
- package/dist/cjs/rules/utils/get-is-exception.js +3 -3
- package/dist/cjs/rules/utils/is-node.js +16 -16
- package/dist/es2019/ast-nodes/object-entry.js +1 -1
- package/dist/es2019/ast-nodes/root.js +1 -1
- package/dist/es2019/presets/all.codegen.js +1 -1
- package/dist/es2019/presets/recommended.codegen.js +1 -1
- package/dist/es2019/rules/consistent-css-prop-usage/index.js +1 -1
- package/dist/es2019/rules/ensure-design-token-usage/color.js +10 -10
- package/dist/es2019/rules/ensure-design-token-usage/index.js +8 -1
- package/dist/es2019/rules/ensure-design-token-usage/utils.js +1 -1
- package/dist/es2019/rules/no-deprecated-apis/index.js +1 -1
- package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +1 -1
- package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +1 -1
- package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +1 -1
- package/dist/es2019/rules/no-empty-styled-expression/index.js +1 -1
- package/dist/es2019/rules/no-html-anchor/node-types/jsx-element/index.js +1 -1
- package/dist/es2019/rules/no-html-anchor/node-types/styled-component/index.js +1 -1
- package/dist/es2019/rules/no-html-button/node-types/styled-component/index.js +1 -1
- package/dist/es2019/rules/no-invalid-css-map/index.js +1 -1
- package/dist/es2019/rules/no-invalid-css-map/utils.js +1 -1
- package/dist/es2019/rules/no-legacy-icons/helpers.js +38 -3
- package/dist/es2019/rules/no-nested-styles/index.js +1 -1
- package/dist/es2019/rules/no-unsafe-style-overrides/index.js +1 -1
- package/dist/es2019/rules/use-heading/config/index.js +1 -1
- package/dist/es2019/rules/use-heading/index.js +12 -0
- package/dist/es2019/rules/use-heading-level-in-spotlight-card/index.js +1 -1
- package/dist/es2019/rules/use-href-in-link-item/index.js +1 -1
- package/dist/es2019/rules/use-latest-xcss-syntax/transformers/style-property/index.js +1 -1
- package/dist/es2019/rules/use-latest-xcss-syntax-typography/config/index.js +2 -1
- package/dist/es2019/rules/use-latest-xcss-syntax-typography/index.js +19 -1
- package/dist/es2019/rules/use-primitives/config/index.js +40 -0
- package/dist/es2019/rules/use-primitives/index.js +15 -1
- package/dist/es2019/rules/use-primitives/transformers/compiled-styled/index.js +1 -1
- package/dist/es2019/rules/use-primitives/transformers/css-to-xcss.js +1 -1
- package/dist/es2019/rules/use-primitives/transformers/emotion-css/index.js +1 -1
- package/dist/es2019/rules/use-primitives/utils/get-variable-usage-count.js +1 -1
- package/dist/es2019/rules/use-primitives-text/config/index.js +10 -1
- package/dist/es2019/rules/use-primitives-text/index.js +28 -1
- package/dist/es2019/rules/use-primitives-text/transformers/emphasis-elements.js +1 -1
- package/dist/es2019/rules/use-primitives-text/transformers/paragraph-elements.js +1 -1
- package/dist/es2019/rules/use-primitives-text/transformers/span-elements.js +1 -1
- package/dist/es2019/rules/use-primitives-text/transformers/strong-elements.js +1 -1
- package/dist/es2019/rules/use-tokens-typography/config/index.js +1 -1
- package/dist/es2019/rules/use-tokens-typography/index.js +2 -1
- package/dist/es2019/rules/use-tokens-typography/transformers/font-family.js +3 -2
- package/dist/es2019/rules/use-tokens-typography/transformers/font-weight.js +3 -2
- package/dist/es2019/rules/use-tokens-typography/transformers/style-object.js +4 -10
- package/dist/es2019/rules/use-tokens-typography/transformers/untokenized-properties.js +2 -1
- package/dist/es2019/rules/use-visually-hidden/index.js +2 -2
- package/dist/es2019/rules/utils/create-no-exported-rule/check-if-supported-export.js +1 -1
- package/dist/es2019/rules/utils/create-no-exported-rule/main.js +1 -1
- package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/index.js +1 -1
- package/dist/es2019/rules/utils/get-first-supported-import.js +1 -1
- package/dist/es2019/rules/utils/is-node.js +1 -1
- package/dist/esm/ast-nodes/object-entry.js +1 -1
- package/dist/esm/ast-nodes/root.js +1 -1
- package/dist/esm/presets/all.codegen.js +1 -1
- package/dist/esm/presets/recommended.codegen.js +1 -1
- package/dist/esm/rules/consistent-css-prop-usage/index.js +1 -1
- package/dist/esm/rules/ensure-design-token-usage/color.js +10 -10
- package/dist/esm/rules/ensure-design-token-usage/index.js +12 -5
- package/dist/esm/rules/ensure-design-token-usage/utils.js +4 -3
- package/dist/esm/rules/no-deprecated-apis/index.js +1 -1
- package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +1 -1
- package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +1 -1
- package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +1 -1
- package/dist/esm/rules/no-empty-styled-expression/index.js +1 -1
- package/dist/esm/rules/no-html-anchor/node-types/jsx-element/index.js +1 -1
- package/dist/esm/rules/no-html-anchor/node-types/styled-component/index.js +1 -1
- package/dist/esm/rules/no-html-button/node-types/styled-component/index.js +1 -1
- package/dist/esm/rules/no-invalid-css-map/index.js +1 -1
- package/dist/esm/rules/no-invalid-css-map/utils.js +1 -1
- package/dist/esm/rules/no-legacy-icons/helpers.js +40 -3
- package/dist/esm/rules/no-margin/index.js +4 -4
- package/dist/esm/rules/no-nested-styles/index.js +2 -2
- package/dist/esm/rules/no-physical-properties/index.js +1 -1
- package/dist/esm/rules/no-unsafe-design-token-usage/index.js +2 -2
- package/dist/esm/rules/no-unsafe-style-overrides/index.js +1 -1
- package/dist/esm/rules/use-heading/config/index.js +1 -1
- package/dist/esm/rules/use-heading/index.js +13 -1
- package/dist/esm/rules/use-heading-level-in-spotlight-card/index.js +1 -1
- package/dist/esm/rules/use-href-in-link-item/index.js +1 -1
- package/dist/esm/rules/use-latest-xcss-syntax/index.js +1 -1
- package/dist/esm/rules/use-latest-xcss-syntax/transformers/style-property/index.js +1 -1
- package/dist/esm/rules/use-latest-xcss-syntax-typography/config/index.js +2 -1
- package/dist/esm/rules/use-latest-xcss-syntax-typography/index.js +25 -7
- package/dist/esm/rules/use-primitives/config/index.js +40 -0
- package/dist/esm/rules/use-primitives/index.js +15 -1
- package/dist/esm/rules/use-primitives/transformers/compiled-styled/index.js +1 -1
- package/dist/esm/rules/use-primitives/transformers/css-to-xcss.js +1 -1
- package/dist/esm/rules/use-primitives/transformers/emotion-css/index.js +1 -1
- package/dist/esm/rules/use-primitives/utils/get-variable-usage-count.js +1 -1
- package/dist/esm/rules/use-primitives-text/config/index.js +10 -1
- package/dist/esm/rules/use-primitives-text/index.js +28 -1
- package/dist/esm/rules/use-primitives-text/transformers/emphasis-elements.js +1 -1
- package/dist/esm/rules/use-primitives-text/transformers/paragraph-elements.js +1 -1
- package/dist/esm/rules/use-primitives-text/transformers/span-elements.js +1 -1
- package/dist/esm/rules/use-primitives-text/transformers/strong-elements.js +1 -1
- package/dist/esm/rules/use-tokens-space/index.js +5 -5
- package/dist/esm/rules/use-tokens-typography/config/index.js +1 -1
- package/dist/esm/rules/use-tokens-typography/index.js +7 -6
- package/dist/esm/rules/use-tokens-typography/transformers/font-family.js +3 -2
- package/dist/esm/rules/use-tokens-typography/transformers/font-weight.js +3 -2
- package/dist/esm/rules/use-tokens-typography/transformers/style-object.js +4 -10
- package/dist/esm/rules/use-tokens-typography/transformers/untokenized-properties.js +2 -1
- package/dist/esm/rules/use-visually-hidden/index.js +2 -2
- package/dist/esm/rules/utils/create-no-exported-rule/check-if-supported-export.js +5 -4
- package/dist/esm/rules/utils/create-no-exported-rule/main.js +1 -1
- package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/index.js +1 -1
- package/dist/esm/rules/utils/get-first-supported-import.js +1 -1
- package/dist/esm/rules/utils/get-is-exception.js +3 -3
- package/dist/esm/rules/utils/is-node.js +23 -16
- package/dist/types/rules/use-latest-xcss-syntax-typography/config/index.d.ts +2 -1
- package/dist/types/rules/use-primitives/config/index.d.ts +2 -1
- package/dist/types/rules/use-primitives-text/config/index.d.ts +2 -1
- package/dist/types-ts4.5/rules/use-latest-xcss-syntax-typography/config/index.d.ts +6 -1
- package/dist/types-ts4.5/rules/use-primitives/config/index.d.ts +2 -1
- package/dist/types-ts4.5/rules/use-primitives-text/config/index.d.ts +2 -1
- package/package.json +7 -7
- package/dist/cjs/rules/utils/context-compat.js +0 -35
- package/dist/es2019/rules/utils/context-compat.js +0 -29
- package/dist/esm/rules/utils/context-compat.js +0 -29
- package/dist/types/rules/utils/context-compat.d.ts +0 -19
- package/dist/types-ts4.5/rules/utils/context-compat.d.ts +0 -19
|
@@ -15,6 +15,24 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
15
15
|
type: 'problem',
|
|
16
16
|
fixable: 'code',
|
|
17
17
|
hasSuggestions: false,
|
|
18
|
+
schema: [{
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
failSilently: {
|
|
22
|
+
type: 'boolean'
|
|
23
|
+
},
|
|
24
|
+
patterns: {
|
|
25
|
+
maxLength: _config.PATTERNS.length,
|
|
26
|
+
type: 'array',
|
|
27
|
+
items: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
enum: _config.PATTERNS
|
|
30
|
+
},
|
|
31
|
+
uniqueItems: true
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
additionalProperties: false
|
|
35
|
+
}],
|
|
18
36
|
docs: {
|
|
19
37
|
description: 'Prohibits use of unsafe styling properties in xcss. Please use Text/Heading primitives instead.',
|
|
20
38
|
recommended: true,
|
|
@@ -30,37 +48,37 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
30
48
|
create: function create(context) {
|
|
31
49
|
var config = (0, _config.getConfig)(context.options[0]);
|
|
32
50
|
return (0, _errorBoundary.errorBoundary)({
|
|
33
|
-
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Identifier[name=/(fontSize|lineHeight|fontWeight|letterSpacing)/]': function
|
|
51
|
+
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Identifier[name=/(fontSize|lineHeight|fontWeight|letterSpacing)/]': function CallExpressionCalleeNameXcss_ObjectExpression__Property__IdentifierName_FontSizeLineHeightFontWeightLetterSpacing_(node) {
|
|
34
52
|
return _linters.RestrictedProperty.lint(node, {
|
|
35
53
|
context: context,
|
|
36
54
|
config: config
|
|
37
55
|
});
|
|
38
56
|
},
|
|
39
|
-
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Literal[value=/(fontSize|lineHeight|fontWeight|letterSpacing)/]': function
|
|
57
|
+
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Literal[value=/(fontSize|lineHeight|fontWeight|letterSpacing)/]': function CallExpressionCalleeNameXcss_ObjectExpression__Property__LiteralValue_FontSizeLineHeightFontWeightLetterSpacing_(node) {
|
|
40
58
|
return _linters.RestrictedProperty.lint(node, {
|
|
41
59
|
context: context,
|
|
42
60
|
config: config
|
|
43
61
|
});
|
|
44
62
|
},
|
|
45
|
-
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Identifier[name=textTransform]': function
|
|
63
|
+
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Identifier[name=textTransform]': function CallExpressionCalleeNameXcss_ObjectExpression__Property__IdentifierNameTextTransform(node) {
|
|
46
64
|
return _linters.RestrictedCapitalisation.lint(node, {
|
|
47
65
|
context: context,
|
|
48
66
|
config: config
|
|
49
67
|
});
|
|
50
68
|
},
|
|
51
|
-
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Literal[value=textTransform]': function
|
|
69
|
+
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Literal[value=textTransform]': function CallExpressionCalleeNameXcss_ObjectExpression__Property__LiteralValueTextTransform(node) {
|
|
52
70
|
return _linters.RestrictedCapitalisation.lint(node, {
|
|
53
71
|
context: context,
|
|
54
72
|
config: config
|
|
55
73
|
});
|
|
56
74
|
},
|
|
57
|
-
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Identifier[name=/(font|fontFamily|fontWeight)/]': function
|
|
75
|
+
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Identifier[name=/(font|fontFamily|fontWeight)/]': function CallExpressionCalleeNameXcss_ObjectExpression__Property__IdentifierName_FontFontFamilyFontWeight_(node) {
|
|
58
76
|
return _linters.WrappedTokenValue.lint(node, {
|
|
59
77
|
context: context,
|
|
60
78
|
config: config
|
|
61
79
|
});
|
|
62
80
|
},
|
|
63
|
-
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Literal[value=/(font|fontFamily|fontWeight)/]': function
|
|
81
|
+
'CallExpression[callee.name="xcss"] ObjectExpression > Property > Literal[value=/(font|fontFamily|fontWeight)/]': function CallExpressionCalleeNameXcss_ObjectExpression__Property__LiteralValue_FontFontFamilyFontWeight_(node) {
|
|
64
82
|
return _linters.WrappedTokenValue.lint(node, {
|
|
65
83
|
context: context,
|
|
66
84
|
config: config
|
|
@@ -3,7 +3,47 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getConfig = void 0;
|
|
6
|
+
exports.getConfig = exports.VALID_PATTERNS = void 0;
|
|
7
|
+
var VALID_PATTERNS = exports.VALID_PATTERNS = [
|
|
8
|
+
// this enables the rule to look for a pattern like:
|
|
9
|
+
// const myStyles = css({...})
|
|
10
|
+
'compiled-css-function',
|
|
11
|
+
// this enables the rule to look for a pattern like:
|
|
12
|
+
// const MyComponent = styled.div({...})
|
|
13
|
+
'compiled-styled-object',
|
|
14
|
+
// this enables the rule to look for a pattern like:
|
|
15
|
+
// css({ padding: `I AM A TEMPLATE LITERAL` })
|
|
16
|
+
// or styled.div({ padding: `I AM A TEMPLATE LITERAL` })
|
|
17
|
+
'css-template-literal',
|
|
18
|
+
// this enables the rule to look for a pattern like:
|
|
19
|
+
// css({ padding: token(...) })
|
|
20
|
+
// or styled.div({ padding: token(...) })
|
|
21
|
+
'css-property-with-tokens',
|
|
22
|
+
// this enables the rule to look for a pattern like:
|
|
23
|
+
// css({ padding: '8px 16px' })
|
|
24
|
+
// or styled.div({ padding: css({ padding: '8px 16px' }) })
|
|
25
|
+
// ... and they could be tokenised
|
|
26
|
+
// ... and they could be using template literals
|
|
27
|
+
'css-property-multiple-values',
|
|
28
|
+
// This enables the rule to look for a pattern like:
|
|
29
|
+
// ```
|
|
30
|
+
// const styles = css({ // or `styled.div({`
|
|
31
|
+
// padding: '8px',
|
|
32
|
+
// margin: '8px',
|
|
33
|
+
// })
|
|
34
|
+
'multiple-properties',
|
|
35
|
+
// This enables the rule to look for supported dimension properties set as 100% like:
|
|
36
|
+
// ```
|
|
37
|
+
// const styles = css({ // or `styled.div({`
|
|
38
|
+
// padding: '8px',
|
|
39
|
+
// margin: '8px',
|
|
40
|
+
// width: '100%',
|
|
41
|
+
// })
|
|
42
|
+
'dimension-properties',
|
|
43
|
+
// This enables the rule to look for JSX elements that are defined before the styles
|
|
44
|
+
'jsx-order-fix',
|
|
45
|
+
// This enables a fix for string style properties being incorrectly transformed
|
|
46
|
+
'string-style-property-fix'];
|
|
7
47
|
var defaults = {
|
|
8
48
|
patterns: ['compiled-css-function']
|
|
9
49
|
};
|
|
@@ -19,6 +19,20 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
19
19
|
recommended: false,
|
|
20
20
|
severity: 'warn'
|
|
21
21
|
},
|
|
22
|
+
schema: [{
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
patterns: {
|
|
26
|
+
type: 'array',
|
|
27
|
+
maxLength: _config.VALID_PATTERNS.length,
|
|
28
|
+
items: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
enum: _config.VALID_PATTERNS
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
additionalProperties: false
|
|
35
|
+
}],
|
|
22
36
|
messages: {
|
|
23
37
|
preferPrimitivesBox: "This element can be replaced with a \"Box\" primitive. See ".concat(boxDocsUrl, " for additional guidance.")
|
|
24
38
|
}
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.CompiledStyled = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../../ast-nodes"));
|
|
12
|
-
var _contextCompat = require("../../../utils/context-compat");
|
|
13
13
|
var _utils = require("../../utils");
|
|
14
14
|
var _validateStyles = require("../../utils/validate-styles");
|
|
15
15
|
var _convertJsxCallSite = require("./convert-jsx-call-site");
|
|
@@ -8,8 +8,8 @@ exports.supportedStylesMap = exports.supportedDimensionAttributesMap = exports.s
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
11
12
|
var _tokenMaps = require("../../../common/token-maps.partial");
|
|
12
|
-
var _contextCompat = require("../../utils/context-compat");
|
|
13
13
|
var _utils = require("../utils");
|
|
14
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
15
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.EmotionCSS = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../../ast-nodes"));
|
|
12
|
-
var _contextCompat = require("../../../utils/context-compat");
|
|
13
13
|
var _utils = require("../../utils");
|
|
14
14
|
var _validateStyles = require("../../utils/validate-styles");
|
|
15
15
|
var _cssToXcss = require("../css-to-xcss");
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getVariableUsagesCount = void 0;
|
|
7
|
-
var _contextCompat = require("
|
|
7
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
8
8
|
/**
|
|
9
9
|
* TODO: Update this logic: https://product-fabric.atlassian.net/browse/DSP-16059
|
|
10
10
|
* Using Regex here because otherwise we'd need to traverse the entire AST
|
|
@@ -3,13 +3,22 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getConfig = void 0;
|
|
6
|
+
exports.getConfig = exports.PATTERNS = void 0;
|
|
7
|
+
var PATTERNS = exports.PATTERNS = [
|
|
8
|
+
// <p>text</p>
|
|
9
|
+
'paragraph-elements',
|
|
10
|
+
// <span>text</span>
|
|
11
|
+
'span-elements',
|
|
12
|
+
// <strong>text</strong>
|
|
13
|
+
'strong-elements',
|
|
14
|
+
// <em>text</em>
|
|
15
|
+
'emphasis-elements'];
|
|
7
16
|
var defaults = {
|
|
8
17
|
failSilently: false,
|
|
9
18
|
patterns: ['paragraph-elements', 'span-elements', 'strong-elements', 'emphasis-elements'],
|
|
10
19
|
inheritColor: false,
|
|
11
20
|
enableUnsafeAutofix: false,
|
|
12
|
-
enableUnsafeReport:
|
|
21
|
+
enableUnsafeReport: true
|
|
13
22
|
};
|
|
14
23
|
var getConfig = exports.getConfig = function getConfig(overrides) {
|
|
15
24
|
return Object.assign({}, defaults, overrides);
|
|
@@ -15,6 +15,33 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
15
15
|
type: 'suggestion',
|
|
16
16
|
fixable: 'code',
|
|
17
17
|
hasSuggestions: true,
|
|
18
|
+
schema: [{
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
failSilently: {
|
|
22
|
+
type: 'boolean'
|
|
23
|
+
},
|
|
24
|
+
inheritColor: {
|
|
25
|
+
type: 'boolean'
|
|
26
|
+
},
|
|
27
|
+
enableUnsafeAutofix: {
|
|
28
|
+
type: 'boolean'
|
|
29
|
+
},
|
|
30
|
+
enableUnsafeReport: {
|
|
31
|
+
type: 'boolean'
|
|
32
|
+
},
|
|
33
|
+
patterns: {
|
|
34
|
+
maxLength: _config.PATTERNS.length,
|
|
35
|
+
type: 'array',
|
|
36
|
+
items: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
enum: _config.PATTERNS
|
|
39
|
+
},
|
|
40
|
+
uniqueItems: true
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
additionalProperties: false
|
|
44
|
+
}],
|
|
18
45
|
docs: {
|
|
19
46
|
description: 'Encourage the usage of text components.',
|
|
20
47
|
recommended: false,
|
|
@@ -9,8 +9,8 @@ exports.EmphasisElements = void 0;
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
12
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
12
13
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
13
|
-
var _contextCompat = require("../../utils/context-compat");
|
|
14
14
|
var _common = require("./common");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -9,8 +9,8 @@ exports.ParagraphElements = void 0;
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
12
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
12
13
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
13
|
-
var _contextCompat = require("../../utils/context-compat");
|
|
14
14
|
var _common = require("./common");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -9,8 +9,8 @@ exports.SpanElements = void 0;
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
12
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
12
13
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
13
|
-
var _contextCompat = require("../../utils/context-compat");
|
|
14
14
|
var _common = require("./common");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -9,8 +9,8 @@ exports.StrongElements = void 0;
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
12
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
12
13
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
13
|
-
var _contextCompat = require("../../utils/context-compat");
|
|
14
14
|
var _common = require("./common");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -23,27 +23,27 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
23
23
|
},
|
|
24
24
|
create: function create(context) {
|
|
25
25
|
return {
|
|
26
|
-
'CallExpression[callee.name="css"] ObjectExpression Property': function
|
|
26
|
+
'CallExpression[callee.name="css"] ObjectExpression Property': function CallExpressionCalleeNameCss_ObjectExpression_Property(node) {
|
|
27
27
|
return _transformers.StyleProperty.lint(node, {
|
|
28
28
|
context: context
|
|
29
29
|
});
|
|
30
30
|
},
|
|
31
|
-
'CallExpression[callee.name="keyframes"] ObjectExpression Property': function
|
|
31
|
+
'CallExpression[callee.name="keyframes"] ObjectExpression Property': function CallExpressionCalleeNameKeyframes_ObjectExpression_Property(node) {
|
|
32
32
|
return _transformers.StyleProperty.lint(node, {
|
|
33
33
|
context: context
|
|
34
34
|
});
|
|
35
35
|
},
|
|
36
|
-
'CallExpression[callee.name="cssMap"] ObjectExpression Property': function
|
|
36
|
+
'CallExpression[callee.name="cssMap"] ObjectExpression Property': function CallExpressionCalleeNameCssMap_ObjectExpression_Property(node) {
|
|
37
37
|
return _transformers.StyleProperty.lint(node, {
|
|
38
38
|
context: context
|
|
39
39
|
});
|
|
40
40
|
},
|
|
41
|
-
'CallExpression[callee.object.name=styled] ObjectExpression Property': function
|
|
41
|
+
'CallExpression[callee.object.name=styled] ObjectExpression Property': function CallExpressionCalleeObjectNameStyled_ObjectExpression_Property(node) {
|
|
42
42
|
return _transformers.StyleProperty.lint(node, {
|
|
43
43
|
context: context
|
|
44
44
|
});
|
|
45
45
|
},
|
|
46
|
-
'CallExpression[callee.object.name=styled2] ObjectExpression Property': function
|
|
46
|
+
'CallExpression[callee.object.name=styled2] ObjectExpression Property': function CallExpressionCalleeObjectNameStyled2_ObjectExpression_Property(node) {
|
|
47
47
|
return _transformers.StyleProperty.lint(node, {
|
|
48
48
|
context: context
|
|
49
49
|
});
|
|
@@ -34,7 +34,7 @@ var defaultConfig = {
|
|
|
34
34
|
failSilently: false,
|
|
35
35
|
shouldEnforceFallbacks: false,
|
|
36
36
|
enableUnsafeAutofix: false,
|
|
37
|
-
patterns: ['style-object']
|
|
37
|
+
patterns: ['style-object', 'font-weight', 'font-family', 'untokenized-properties', 'banned-properties', 'restricted-capitalisation']
|
|
38
38
|
};
|
|
39
39
|
var getConfig = exports.getConfig = function getConfig(overrides) {
|
|
40
40
|
return Object.assign({}, defaultConfig, overrides);
|
|
@@ -24,35 +24,35 @@ var create = function create(context) {
|
|
|
24
24
|
});
|
|
25
25
|
},
|
|
26
26
|
// const styles = css({ fontWeight: 600, 'bold', ... })
|
|
27
|
-
'ObjectExpression > Property > Identifier[name=/^fontWeight$/]': function
|
|
27
|
+
'ObjectExpression > Property > Identifier[name=/^fontWeight$/]': function ObjectExpression__Property__IdentifierName_FontWeight$_(node) {
|
|
28
28
|
return _fontWeight.FontWeight.lint(node.parent, {
|
|
29
29
|
context: context,
|
|
30
30
|
config: config
|
|
31
31
|
});
|
|
32
32
|
},
|
|
33
33
|
// const styles = css({ fontFamily: 'Arial, sans-serif', ... })
|
|
34
|
-
'ObjectExpression > Property > Identifier[name=/^fontFamily$/]': function
|
|
34
|
+
'ObjectExpression > Property > Identifier[name=/^fontFamily$/]': function ObjectExpression__Property__IdentifierName_FontFamily$_(node) {
|
|
35
35
|
return _fontFamily.FontFamily.lint(node.parent, {
|
|
36
36
|
context: context,
|
|
37
37
|
config: config
|
|
38
38
|
});
|
|
39
39
|
},
|
|
40
40
|
// const styles = css({ font: 'bold 36px Helvetica, Arial', ... })
|
|
41
|
-
'ObjectExpression > Property > Identifier[name=/^font$/]': function
|
|
41
|
+
'ObjectExpression > Property > Identifier[name=/^font$/]': function ObjectExpression__Property__IdentifierName_Font$_(node) {
|
|
42
42
|
return _untokenizedProperties.UntokenizedProperties.lint(node.parent, {
|
|
43
43
|
context: context,
|
|
44
44
|
config: config
|
|
45
45
|
});
|
|
46
46
|
},
|
|
47
47
|
// const styles = css({ lineHeight: 1.2, letterSpacing: 0.003, ... })
|
|
48
|
-
'ObjectExpression > Property > Identifier[name=/^(lineHeight|letterSpacing)$/]': function
|
|
48
|
+
'ObjectExpression > Property > Identifier[name=/^(lineHeight|letterSpacing)$/]': function ObjectExpression__Property__IdentifierName_LineHeightLetterSpacing$_(node) {
|
|
49
49
|
return _bannedProperties.BannedProperties.lint(node.parent, {
|
|
50
50
|
context: context,
|
|
51
51
|
config: config
|
|
52
52
|
});
|
|
53
53
|
},
|
|
54
54
|
// const styles = css({ textTransform: 'uppercase', ... })
|
|
55
|
-
'ObjectExpression > Property > Identifier[name=/^textTransform$/]': function
|
|
55
|
+
'ObjectExpression > Property > Identifier[name=/^textTransform$/]': function ObjectExpression__Property__IdentifierName_TextTransform$_(node) {
|
|
56
56
|
return _restrictedCapitalisation.RestrictedCapitalisation.lint(node.parent, {
|
|
57
57
|
context: context,
|
|
58
58
|
config: config
|
|
@@ -72,7 +72,8 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
72
72
|
severity: 'warn'
|
|
73
73
|
},
|
|
74
74
|
messages: {
|
|
75
|
-
noRawTypographyValues: 'Typography primitives or tokens should be used instead of hard-coded values
|
|
75
|
+
noRawTypographyValues: 'Typography primitives or tokens should be used instead of hard-coded values.',
|
|
76
|
+
noFontSizeTypographyToken: 'Using tokens with the `fontSize` property is invalid. Any `font.heading` or `font.body` tokens must use the CSS `font` property.',
|
|
76
77
|
noRawFontWeightValues: 'Font weight tokens should be used instead of hard-coded values.',
|
|
77
78
|
noRawFontFamilyValues: 'Font family tokens should be used instead of hard-coded values.',
|
|
78
79
|
noUntokenizedProperties: 'Use typography tokens for `{{property}}`.',
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FontFamily = void 0;
|
|
7
7
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
8
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
8
9
|
var _astNodes = require("../../../ast-nodes");
|
|
9
10
|
var _getNodeSource = require("../../utils/get-node-source");
|
|
10
11
|
var _isNode = require("../../utils/is-node");
|
|
@@ -41,7 +42,7 @@ var FontFamily = exports.FontFamily = {
|
|
|
41
42
|
return false;
|
|
42
43
|
}
|
|
43
44
|
var isFontFamilyProperty = (0, _eslintCodemodUtils.isNodeOfType)(node.key, 'Identifier') && node.key.name === 'fontFamily';
|
|
44
|
-
var valueNodeSource = (0, _getNodeSource.getNodeSource)(context
|
|
45
|
+
var valueNodeSource = (0, _getNodeSource.getNodeSource)((0, _contextCompat.getSourceCode)(context), node.value);
|
|
45
46
|
if (isFontFamilyProperty && valueNodeSource.match(/(font\.family.|inherit)/)) {
|
|
46
47
|
return false;
|
|
47
48
|
}
|
|
@@ -68,7 +69,7 @@ var FontFamily = exports.FontFamily = {
|
|
|
68
69
|
fixes.push(fontWeightValueFix);
|
|
69
70
|
|
|
70
71
|
// Add import if it doesn't exist
|
|
71
|
-
var body = context.
|
|
72
|
+
var body = (0, _contextCompat.getSourceCode)(context).ast.body;
|
|
72
73
|
var tokensImportDeclarations = _astNodes.Root.findImportsByModule(body, '@atlaskit/tokens');
|
|
73
74
|
|
|
74
75
|
// If there is more than one `@atlaskit/tokens` import, then it becomes difficult to determine which import to transform
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FontWeight = void 0;
|
|
7
7
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
8
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
8
9
|
var _astNodes = require("../../../ast-nodes");
|
|
9
10
|
var _getNodeSource = require("../../utils/get-node-source");
|
|
10
11
|
var _isNode = require("../../utils/is-node");
|
|
@@ -41,7 +42,7 @@ var FontWeight = exports.FontWeight = {
|
|
|
41
42
|
return false;
|
|
42
43
|
}
|
|
43
44
|
var isFontWeightProperty = (0, _eslintCodemodUtils.isNodeOfType)(node.key, 'Identifier') && node.key.name === 'fontWeight';
|
|
44
|
-
var valueNodeSource = (0, _getNodeSource.getNodeSource)(context
|
|
45
|
+
var valueNodeSource = (0, _getNodeSource.getNodeSource)((0, _contextCompat.getSourceCode)(context), node.value);
|
|
45
46
|
if (isFontWeightProperty && valueNodeSource.match(/(font\.weight.|inherit)/)) {
|
|
46
47
|
return false;
|
|
47
48
|
}
|
|
@@ -69,7 +70,7 @@ var FontWeight = exports.FontWeight = {
|
|
|
69
70
|
fixes.push(fontWeightValueFix);
|
|
70
71
|
|
|
71
72
|
// Add import if it doesn't exist
|
|
72
|
-
var body = context.
|
|
73
|
+
var body = (0, _contextCompat.getSourceCode)(context).ast.body;
|
|
73
74
|
var tokensImportDeclarations = _astNodes.Root.findImportsByModule(body, '@atlaskit/tokens');
|
|
74
75
|
|
|
75
76
|
// If there is more than one `@atlaskit/tokens` import, then it becomes difficult to determine which import to transform
|
|
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.StyleObject = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
10
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
10
11
|
var _astNodes = require("../../../ast-nodes");
|
|
11
12
|
var _utils = require("../../ensure-design-token-usage/utils");
|
|
12
|
-
var _contextCompat = require("../../utils/context-compat");
|
|
13
13
|
var _isNode = require("../../utils/is-node");
|
|
14
14
|
var _utils2 = require("../utils");
|
|
15
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -179,10 +179,7 @@ var StyleObject = exports.StyleObject = {
|
|
|
179
179
|
var fix = StyleObject._fix(fixerRefs, context);
|
|
180
180
|
context.report(_objectSpread({
|
|
181
181
|
node: fontSizeNode,
|
|
182
|
-
messageId: 'noRawTypographyValues'
|
|
183
|
-
data: {
|
|
184
|
-
payload: "fontSize:".concat(fontSizeRaw)
|
|
185
|
-
}
|
|
182
|
+
messageId: isFontSizeAToken ? 'noFontSizeTypographyToken' : 'noRawTypographyValues'
|
|
186
183
|
}, config.enableUnsafeAutofix ? {
|
|
187
184
|
fix: fix
|
|
188
185
|
} : {
|
|
@@ -194,10 +191,7 @@ var StyleObject = exports.StyleObject = {
|
|
|
194
191
|
} else if (!matchingTokens.length) {
|
|
195
192
|
context.report({
|
|
196
193
|
node: fontSizeNode,
|
|
197
|
-
messageId: 'noRawTypographyValues'
|
|
198
|
-
data: {
|
|
199
|
-
payload: "fontSize:".concat(fontSizeRaw)
|
|
200
|
-
}
|
|
194
|
+
messageId: 'noRawTypographyValues'
|
|
201
195
|
});
|
|
202
196
|
}
|
|
203
197
|
return;
|
|
@@ -226,7 +220,7 @@ var StyleObject = exports.StyleObject = {
|
|
|
226
220
|
var fontSizeRaw = (0, _utils.getValueForPropertyNode)(fontSizeNode, context);
|
|
227
221
|
|
|
228
222
|
// Without a valid fontSize value we can't be certain what token should be used; exit
|
|
229
|
-
if (
|
|
223
|
+
if (fontSizeRaw === undefined || fontSizeRaw === null) {
|
|
230
224
|
return {
|
|
231
225
|
success: false
|
|
232
226
|
};
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UntokenizedProperties = void 0;
|
|
7
7
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
8
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
8
9
|
var _getNodeSource = require("../../utils/get-node-source");
|
|
9
10
|
var _isNode = require("../../utils/is-node");
|
|
10
11
|
/* eslint-disable @repo/internal/react/require-jsdoc */
|
|
@@ -41,7 +42,7 @@ var UntokenizedProperties = exports.UntokenizedProperties = {
|
|
|
41
42
|
return false;
|
|
42
43
|
}
|
|
43
44
|
var isFontProperty = (0, _eslintCodemodUtils.isNodeOfType)(node.key, 'Identifier') && node.key.name === 'font';
|
|
44
|
-
var valueNodeSource = (0, _getNodeSource.getNodeSource)(context
|
|
45
|
+
var valueNodeSource = (0, _getNodeSource.getNodeSource)((0, _contextCompat.getSourceCode)(context), node.value);
|
|
45
46
|
if (isFontProperty && valueNodeSource.match(/(font\.(body|heading|code)|inherit)/)) {
|
|
46
47
|
return false;
|
|
47
48
|
}
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
10
|
-
var _contextCompat = require("
|
|
10
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
11
11
|
var _createRule = require("../utils/create-rule");
|
|
12
12
|
var _isNode = require("../utils/is-node");
|
|
13
13
|
var _fixJsx = _interopRequireDefault(require("./fix-jsx"));
|
|
@@ -48,7 +48,7 @@ var rule = (0, _createRule.createLintRule)({
|
|
|
48
48
|
if (!visuallyHiddenOrAssistive) {
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
(0, _contextCompat.getDeclaredVariables)(context, visuallyHiddenOrAssistive).forEach(function (someNode) {
|
|
52
52
|
someNode.references.map(function (innerNode) {
|
|
53
53
|
return innerNode.identifier;
|
|
54
54
|
}).forEach(function (idNode) {
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.checkIfSupportedExport = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _contextCompat = require("
|
|
9
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
10
10
|
var _isStyledComponent = require("./is-styled-component");
|
|
11
11
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
12
12
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -83,7 +83,7 @@ var matches = function matches(defs, refs) {
|
|
|
83
83
|
return false;
|
|
84
84
|
});
|
|
85
85
|
};
|
|
86
|
-
var
|
|
86
|
+
var _checkIfSupportedExport = exports.checkIfSupportedExport = function checkIfSupportedExport(context, node, importSources) {
|
|
87
87
|
var _resolved$references;
|
|
88
88
|
var scope = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : (0, _contextCompat.getScope)(context, node);
|
|
89
89
|
// Ignore any expression defined outside of the global or module scope as we have no way of statically analysing them
|
|
@@ -142,7 +142,7 @@ var checkIfSupportedExport = exports.checkIfSupportedExport = function checkIfSu
|
|
|
142
142
|
// Only validate the resolved reference if it accesses the definition node
|
|
143
143
|
if (matches(nodes, refs.reverse())) {
|
|
144
144
|
// Now validate the identifier reference as a definition
|
|
145
|
-
var validity =
|
|
145
|
+
var validity = _checkIfSupportedExport(context, identifier, importSources, nextScope);
|
|
146
146
|
if (validity.isExport) {
|
|
147
147
|
return validity;
|
|
148
148
|
}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createNoExportedRule = void 0;
|
|
7
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
7
8
|
var _isSupportedImport = require("@atlaskit/eslint-utils/is-supported-import");
|
|
8
|
-
var _contextCompat = require("../context-compat");
|
|
9
9
|
var _checkIfSupportedExport = require("./check-if-supported-export");
|
|
10
10
|
/**
|
|
11
11
|
* Creates a new ESLint rule for banning exporting certain function calls, e.g.
|
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.noTaggedTemplateExpressionRuleSchema = exports.createNoTaggedTemplateExpressionRule = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _esquery = _interopRequireDefault(require("esquery"));
|
|
10
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
10
11
|
var _isSupportedImport = require("@atlaskit/eslint-utils/is-supported-import");
|
|
11
|
-
var _contextCompat = require("../context-compat");
|
|
12
12
|
var _generate = require("./generate");
|
|
13
13
|
var _getTaggedTemplateExpressionOffset = require("./get-tagged-template-expression-offset");
|
|
14
14
|
var _toArguments = require("./to-arguments");
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getFirstSupportedImport = void 0;
|
|
7
7
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
8
|
-
var _contextCompat = require("
|
|
8
|
+
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
9
9
|
/**
|
|
10
10
|
* Get the first import declaration in the file that matches any of the packages
|
|
11
11
|
* in `importSources`.
|
|
@@ -30,7 +30,7 @@ var getIsException = exports.getIsException = function getIsException(exceptions
|
|
|
30
30
|
var exceptionsSet = new Set(exceptions.map(function (x) {
|
|
31
31
|
return x.toLowerCase();
|
|
32
32
|
}));
|
|
33
|
-
var
|
|
33
|
+
var _isException = function isException(node) {
|
|
34
34
|
var value = getNodeValue(node);
|
|
35
35
|
if (value) {
|
|
36
36
|
var splitValues = value.split(/[-_\s]+/);
|
|
@@ -41,9 +41,9 @@ var getIsException = exports.getIsException = function getIsException(exceptions
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
if (node.parent) {
|
|
44
|
-
return
|
|
44
|
+
return _isException(node.parent);
|
|
45
45
|
}
|
|
46
46
|
return false;
|
|
47
47
|
};
|
|
48
|
-
return
|
|
48
|
+
return _isException;
|
|
49
49
|
};
|