@atlaskit/eslint-plugin-design-system 11.10.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 +12 -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 +3 -9
- 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 +3 -9
- 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 +3 -9
- 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 +3 -3
- 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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @repo/internal/react/require-jsdoc */
|
|
2
2
|
|
|
3
3
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
|
+
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
4
5
|
import { Root } from '../../../ast-nodes';
|
|
5
6
|
import { getNodeSource } from '../../utils/get-node-source';
|
|
6
7
|
import { isDecendantOfStyleBlock, isDecendantOfType } from '../../utils/is-node';
|
|
@@ -35,7 +36,7 @@ export var FontFamily = {
|
|
|
35
36
|
return false;
|
|
36
37
|
}
|
|
37
38
|
var isFontFamilyProperty = isNodeOfType(node.key, 'Identifier') && node.key.name === 'fontFamily';
|
|
38
|
-
var valueNodeSource = getNodeSource(context
|
|
39
|
+
var valueNodeSource = getNodeSource(getSourceCode(context), node.value);
|
|
39
40
|
if (isFontFamilyProperty && valueNodeSource.match(/(font\.family.|inherit)/)) {
|
|
40
41
|
return false;
|
|
41
42
|
}
|
|
@@ -62,7 +63,7 @@ export var FontFamily = {
|
|
|
62
63
|
fixes.push(fontWeightValueFix);
|
|
63
64
|
|
|
64
65
|
// Add import if it doesn't exist
|
|
65
|
-
var body = context.
|
|
66
|
+
var body = getSourceCode(context).ast.body;
|
|
66
67
|
var tokensImportDeclarations = Root.findImportsByModule(body, '@atlaskit/tokens');
|
|
67
68
|
|
|
68
69
|
// If there is more than one `@atlaskit/tokens` import, then it becomes difficult to determine which import to transform
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @repo/internal/react/require-jsdoc */
|
|
2
2
|
|
|
3
3
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
|
+
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
4
5
|
import { Root } from '../../../ast-nodes';
|
|
5
6
|
import { getNodeSource } from '../../utils/get-node-source';
|
|
6
7
|
import { isDecendantOfStyleBlock, isDecendantOfType } from '../../utils/is-node';
|
|
@@ -35,7 +36,7 @@ export var FontWeight = {
|
|
|
35
36
|
return false;
|
|
36
37
|
}
|
|
37
38
|
var isFontWeightProperty = isNodeOfType(node.key, 'Identifier') && node.key.name === 'fontWeight';
|
|
38
|
-
var valueNodeSource = getNodeSource(context
|
|
39
|
+
var valueNodeSource = getNodeSource(getSourceCode(context), node.value);
|
|
39
40
|
if (isFontWeightProperty && valueNodeSource.match(/(font\.weight.|inherit)/)) {
|
|
40
41
|
return false;
|
|
41
42
|
}
|
|
@@ -63,7 +64,7 @@ export var FontWeight = {
|
|
|
63
64
|
fixes.push(fontWeightValueFix);
|
|
64
65
|
|
|
65
66
|
// Add import if it doesn't exist
|
|
66
|
-
var body = context.
|
|
67
|
+
var body = getSourceCode(context).ast.body;
|
|
67
68
|
var tokensImportDeclarations = Root.findImportsByModule(body, '@atlaskit/tokens');
|
|
68
69
|
|
|
69
70
|
// If there is more than one `@atlaskit/tokens` import, then it becomes difficult to determine which import to transform
|
|
@@ -4,9 +4,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
/* eslint-disable @repo/internal/react/require-jsdoc */
|
|
5
5
|
|
|
6
6
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
7
|
+
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
7
8
|
import { Object as ASTObject, ObjectEntry, Root } from '../../../ast-nodes';
|
|
8
9
|
import { getValueForPropertyNode, normaliseValue } from '../../ensure-design-token-usage/utils';
|
|
9
|
-
import { getSourceCode } from '../../utils/context-compat';
|
|
10
10
|
import { isDecendantOfGlobalToken, isDecendantOfStyleBlock, isDecendantOfType } from '../../utils/is-node';
|
|
11
11
|
import { convertPropertyNodeToStringableNode, defaultFontWeight, findFontFamilyValueForToken, findFontWeightTokenForValue, findTypographyTokenForValues, fontWeightMap, getLiteralProperty, getTokenProperty, insertFallbackImportFull, insertFallbackImportSpecifier, insertTokensImport, isValidPropertyNode, isValidTypographyToken, notUndefined } from '../utils';
|
|
12
12
|
export var StyleObject = {
|
|
@@ -174,10 +174,7 @@ export var StyleObject = {
|
|
|
174
174
|
var fix = StyleObject._fix(fixerRefs, context);
|
|
175
175
|
context.report(_objectSpread({
|
|
176
176
|
node: fontSizeNode,
|
|
177
|
-
messageId: 'noRawTypographyValues'
|
|
178
|
-
data: {
|
|
179
|
-
payload: "fontSize:".concat(fontSizeRaw)
|
|
180
|
-
}
|
|
177
|
+
messageId: isFontSizeAToken ? 'noFontSizeTypographyToken' : 'noRawTypographyValues'
|
|
181
178
|
}, config.enableUnsafeAutofix ? {
|
|
182
179
|
fix: fix
|
|
183
180
|
} : {
|
|
@@ -189,10 +186,7 @@ export var StyleObject = {
|
|
|
189
186
|
} else if (!matchingTokens.length) {
|
|
190
187
|
context.report({
|
|
191
188
|
node: fontSizeNode,
|
|
192
|
-
messageId: 'noRawTypographyValues'
|
|
193
|
-
data: {
|
|
194
|
-
payload: "fontSize:".concat(fontSizeRaw)
|
|
195
|
-
}
|
|
189
|
+
messageId: 'noRawTypographyValues'
|
|
196
190
|
});
|
|
197
191
|
}
|
|
198
192
|
return;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @repo/internal/react/require-jsdoc */
|
|
2
2
|
|
|
3
3
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
|
+
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
4
5
|
import { getNodeSource } from '../../utils/get-node-source';
|
|
5
6
|
import { isDecendantOfStyleBlock, isDecendantOfType } from '../../utils/is-node';
|
|
6
7
|
export var UntokenizedProperties = {
|
|
@@ -35,7 +36,7 @@ export var UntokenizedProperties = {
|
|
|
35
36
|
return false;
|
|
36
37
|
}
|
|
37
38
|
var isFontProperty = isNodeOfType(node.key, 'Identifier') && node.key.name === 'font';
|
|
38
|
-
var valueNodeSource = getNodeSource(context
|
|
39
|
+
var valueNodeSource = getNodeSource(getSourceCode(context), node.value);
|
|
39
40
|
if (isFontProperty && valueNodeSource.match(/(font\.(body|heading|code)|inherit)/)) {
|
|
40
41
|
return false;
|
|
41
42
|
}
|
|
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
3
3
|
|
|
4
4
|
import { closestOfType, hasImportDeclaration, isNodeOfType } from 'eslint-codemod-utils';
|
|
5
|
-
import { getSourceCode } from '
|
|
5
|
+
import { getDeclaredVariables, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
6
6
|
import { createLintRule } from '../utils/create-rule';
|
|
7
7
|
import { isCssInJsObjectNode, isCssInJsTemplateNode } from '../utils/is-node';
|
|
8
8
|
import fixJsx from './fix-jsx';
|
|
@@ -41,7 +41,7 @@ var rule = createLintRule({
|
|
|
41
41
|
if (!visuallyHiddenOrAssistive) {
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
getDeclaredVariables(context, visuallyHiddenOrAssistive).forEach(function (someNode) {
|
|
45
45
|
someNode.references.map(function (innerNode) {
|
|
46
46
|
return innerNode.identifier;
|
|
47
47
|
}).forEach(function (idNode) {
|
|
@@ -4,7 +4,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
4
4
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
5
|
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; }
|
|
6
6
|
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) { _defineProperty(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; }
|
|
7
|
-
import { getScope, getSourceCode } from '
|
|
7
|
+
import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
8
8
|
import { isStyledComponent } from './is-styled-component';
|
|
9
9
|
var getStack = function getStack(context, node) {
|
|
10
10
|
var _scope;
|
|
@@ -76,7 +76,7 @@ var matches = function matches(defs, refs) {
|
|
|
76
76
|
return false;
|
|
77
77
|
});
|
|
78
78
|
};
|
|
79
|
-
|
|
79
|
+
var _checkIfSupportedExport = function checkIfSupportedExport(context, node, importSources) {
|
|
80
80
|
var _resolved$references;
|
|
81
81
|
var scope = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : getScope(context, node);
|
|
82
82
|
// Ignore any expression defined outside of the global or module scope as we have no way of statically analysing them
|
|
@@ -135,7 +135,7 @@ export var checkIfSupportedExport = function checkIfSupportedExport(context, nod
|
|
|
135
135
|
// Only validate the resolved reference if it accesses the definition node
|
|
136
136
|
if (matches(nodes, refs.reverse())) {
|
|
137
137
|
// Now validate the identifier reference as a definition
|
|
138
|
-
var validity =
|
|
138
|
+
var validity = _checkIfSupportedExport(context, identifier, importSources, nextScope);
|
|
139
139
|
if (validity.isExport) {
|
|
140
140
|
return validity;
|
|
141
141
|
}
|
|
@@ -149,4 +149,5 @@ export var checkIfSupportedExport = function checkIfSupportedExport(context, nod
|
|
|
149
149
|
return {
|
|
150
150
|
isExport: false
|
|
151
151
|
};
|
|
152
|
-
};
|
|
152
|
+
};
|
|
153
|
+
export { _checkIfSupportedExport as checkIfSupportedExport };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
1
2
|
import { getImportSources } from '@atlaskit/eslint-utils/is-supported-import';
|
|
2
|
-
import { getScope, getSourceCode } from '../context-compat';
|
|
3
3
|
import { checkIfSupportedExport } from './check-if-supported-export';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a new ESLint rule for banning exporting certain function calls, e.g.
|
|
@@ -6,8 +6,8 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
6
6
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
7
7
|
|
|
8
8
|
import esquery from 'esquery';
|
|
9
|
+
import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
9
10
|
import { getImportSources, isEmotion } from '@atlaskit/eslint-utils/is-supported-import';
|
|
10
|
-
import { getScope, getSourceCode } from '../context-compat';
|
|
11
11
|
import { generate } from './generate';
|
|
12
12
|
import { getTaggedTemplateExpressionOffset } from './get-tagged-template-expression-offset';
|
|
13
13
|
import { toArguments } from './to-arguments';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
2
|
-
import { getSourceCode } from '
|
|
2
|
+
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
3
3
|
/**
|
|
4
4
|
* Get the first import declaration in the file that matches any of the packages
|
|
5
5
|
* in `importSources`.
|
|
@@ -24,7 +24,7 @@ export var getIsException = function getIsException(exceptions) {
|
|
|
24
24
|
var exceptionsSet = new Set(exceptions.map(function (x) {
|
|
25
25
|
return x.toLowerCase();
|
|
26
26
|
}));
|
|
27
|
-
var
|
|
27
|
+
var _isException = function isException(node) {
|
|
28
28
|
var value = getNodeValue(node);
|
|
29
29
|
if (value) {
|
|
30
30
|
var splitValues = value.split(/[-_\s]+/);
|
|
@@ -35,9 +35,9 @@ export var getIsException = function getIsException(exceptions) {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
if (node.parent) {
|
|
38
|
-
return
|
|
38
|
+
return _isException(node.parent);
|
|
39
39
|
}
|
|
40
40
|
return false;
|
|
41
41
|
};
|
|
42
|
-
return
|
|
42
|
+
return _isException;
|
|
43
43
|
};
|
|
@@ -1,45 +1,48 @@
|
|
|
1
1
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
2
|
|
|
3
3
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
|
+
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
4
5
|
import { isXcss } from '@atlaskit/eslint-utils/is-supported-import';
|
|
5
6
|
import { Root } from '../../ast-nodes';
|
|
6
|
-
|
|
7
|
-
export var isDecendantOfGlobalToken = function isDecendantOfGlobalToken(node) {
|
|
7
|
+
var _isDecendantOfGlobalToken = function isDecendantOfGlobalToken(node) {
|
|
8
8
|
if (isNodeOfType(node, 'CallExpression') && isNodeOfType(node.callee, 'Identifier') && (node.callee.name === 'token' || node.callee.name === 'getTokenValue')) {
|
|
9
9
|
return true;
|
|
10
10
|
}
|
|
11
11
|
if (node.parent) {
|
|
12
|
-
return
|
|
12
|
+
return _isDecendantOfGlobalToken(node.parent);
|
|
13
13
|
}
|
|
14
14
|
return false;
|
|
15
15
|
};
|
|
16
|
-
export
|
|
16
|
+
export { _isDecendantOfGlobalToken as isDecendantOfGlobalToken };
|
|
17
|
+
var _isDecendantOfType = function isDecendantOfType(node, type) {
|
|
17
18
|
var skipNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
18
19
|
if (!skipNode && node.type === type) {
|
|
19
20
|
return true;
|
|
20
21
|
}
|
|
21
22
|
if (node.parent) {
|
|
22
|
-
return
|
|
23
|
+
return _isDecendantOfType(node.parent, type, false);
|
|
23
24
|
}
|
|
24
25
|
return false;
|
|
25
26
|
};
|
|
27
|
+
export { _isDecendantOfType as isDecendantOfType };
|
|
26
28
|
export var isPropertyKey = function isPropertyKey(node) {
|
|
27
|
-
if (isNodeOfType(node, 'Identifier') &&
|
|
29
|
+
if (isNodeOfType(node, 'Identifier') && _isDecendantOfType(node, 'Property')) {
|
|
28
30
|
var parent = node.parent;
|
|
29
31
|
return node === parent.key || parent.shorthand;
|
|
30
32
|
}
|
|
31
33
|
return false;
|
|
32
34
|
};
|
|
33
|
-
|
|
35
|
+
var _isDecendantOfStyleJsxAttribute = function isDecendantOfStyleJsxAttribute(node) {
|
|
34
36
|
if (isNodeOfType(node, 'JSXAttribute')) {
|
|
35
37
|
return true;
|
|
36
38
|
}
|
|
37
39
|
if (node.parent) {
|
|
38
|
-
return
|
|
40
|
+
return _isDecendantOfStyleJsxAttribute(node.parent);
|
|
39
41
|
}
|
|
40
42
|
return false;
|
|
41
43
|
};
|
|
42
|
-
export
|
|
44
|
+
export { _isDecendantOfStyleJsxAttribute as isDecendantOfStyleJsxAttribute };
|
|
45
|
+
var _isDecendantOfSvgElement = function isDecendantOfSvgElement(node) {
|
|
43
46
|
if (isNodeOfType(node, 'JSXElement')) {
|
|
44
47
|
// @ts-ignore
|
|
45
48
|
if (node.openingElement.name.name === 'svg') {
|
|
@@ -47,11 +50,12 @@ export var isDecendantOfSvgElement = function isDecendantOfSvgElement(node) {
|
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
if (node.parent) {
|
|
50
|
-
return
|
|
53
|
+
return _isDecendantOfSvgElement(node.parent);
|
|
51
54
|
}
|
|
52
55
|
return false;
|
|
53
56
|
};
|
|
54
|
-
export
|
|
57
|
+
export { _isDecendantOfSvgElement as isDecendantOfSvgElement };
|
|
58
|
+
var _isDecendantOfPrimitive = function isDecendantOfPrimitive(node, context) {
|
|
55
59
|
var primitivesToCheck = ['Box', 'Text'];
|
|
56
60
|
if (isNodeOfType(node, 'JSXElement')) {
|
|
57
61
|
// @ts-ignore
|
|
@@ -63,10 +67,11 @@ export var isDecendantOfPrimitive = function isDecendantOfPrimitive(node, contex
|
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
if (node.parent) {
|
|
66
|
-
return
|
|
70
|
+
return _isDecendantOfPrimitive(node.parent, context);
|
|
67
71
|
}
|
|
68
72
|
return false;
|
|
69
73
|
};
|
|
74
|
+
export { _isDecendantOfPrimitive as isDecendantOfPrimitive };
|
|
70
75
|
var cssInJsCallees = ['css', 'styled', 'styled2'];
|
|
71
76
|
export var isCssInJsTemplateNode = function isCssInJsTemplateNode(node) {
|
|
72
77
|
return (node === null || node === void 0 ? void 0 : node.type) === 'TaggedTemplateExpression' && node.tag.type === 'MemberExpression' && node.tag.object.type === 'Identifier' && node.tag.object.name === 'styled';
|
|
@@ -77,17 +82,18 @@ export var isCssInJsCallNode = function isCssInJsCallNode(node) {
|
|
|
77
82
|
export var isCssInJsObjectNode = function isCssInJsObjectNode(node) {
|
|
78
83
|
return (node === null || node === void 0 ? void 0 : node.type) === 'CallExpression' && node.callee.type === 'MemberExpression' && node.callee.object.type === 'Identifier' && cssInJsCallees.includes(node.callee.object.name);
|
|
79
84
|
};
|
|
80
|
-
|
|
85
|
+
var _isDecendantOfXcssBlock = function isDecendantOfXcssBlock(node, referencesInScope, importSources) {
|
|
81
86
|
// xcss contains types for all properties that accept tokens, so ignore xcss for linting as it will report false positives
|
|
82
87
|
if (node.type === 'CallExpression' && isXcss(node.callee, referencesInScope, importSources)) {
|
|
83
88
|
return true;
|
|
84
89
|
}
|
|
85
90
|
if (node.parent) {
|
|
86
|
-
return
|
|
91
|
+
return _isDecendantOfXcssBlock(node.parent, referencesInScope, importSources);
|
|
87
92
|
}
|
|
88
93
|
return false;
|
|
89
94
|
};
|
|
90
|
-
export
|
|
95
|
+
export { _isDecendantOfXcssBlock as isDecendantOfXcssBlock };
|
|
96
|
+
var _isDecendantOfStyleBlock = function isDecendantOfStyleBlock(node) {
|
|
91
97
|
if (node.type === 'VariableDeclarator') {
|
|
92
98
|
if (node.id.type !== 'Identifier') {
|
|
93
99
|
return false;
|
|
@@ -122,10 +128,11 @@ export var isDecendantOfStyleBlock = function isDecendantOfStyleBlock(node) {
|
|
|
122
128
|
return true;
|
|
123
129
|
}
|
|
124
130
|
if (node.parent) {
|
|
125
|
-
return
|
|
131
|
+
return _isDecendantOfStyleBlock(node.parent);
|
|
126
132
|
}
|
|
127
133
|
return false;
|
|
128
134
|
};
|
|
135
|
+
export { _isDecendantOfStyleBlock as isDecendantOfStyleBlock };
|
|
129
136
|
export var isChildOfType = function isChildOfType(node, type) {
|
|
130
137
|
return isNodeOfType(node.parent, type);
|
|
131
138
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
export declare const PATTERNS: readonly ["restricted-property", "wrapped-token-value", "restricted-capitalisation"];
|
|
2
|
+
type Pattern = (typeof PATTERNS)[number];
|
|
2
3
|
export interface RuleConfig {
|
|
3
4
|
failSilently: boolean;
|
|
4
5
|
patterns: Pattern[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
export declare const VALID_PATTERNS: string[];
|
|
2
|
+
type Pattern = (typeof VALID_PATTERNS)[number];
|
|
2
3
|
export interface RuleConfig {
|
|
3
4
|
patterns: Pattern[];
|
|
4
5
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
export declare const PATTERNS: readonly [
|
|
2
|
+
"restricted-property",
|
|
3
|
+
"wrapped-token-value",
|
|
4
|
+
"restricted-capitalisation"
|
|
5
|
+
];
|
|
6
|
+
type Pattern = (typeof PATTERNS)[number];
|
|
2
7
|
export interface RuleConfig {
|
|
3
8
|
failSilently: boolean;
|
|
4
9
|
patterns: Pattern[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
export declare const VALID_PATTERNS: string[];
|
|
2
|
+
type Pattern = (typeof VALID_PATTERNS)[number];
|
|
2
3
|
export interface RuleConfig {
|
|
3
4
|
patterns: Pattern[];
|
|
4
5
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/eslint-plugin-design-system",
|
|
3
3
|
"description": "The essential plugin for use with the Atlassian Design System.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "12.0.0",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"publishConfig": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@atlaskit/eslint-utils": "^1.9.0",
|
|
47
|
-
"@atlaskit/icon": "^23.
|
|
48
|
-
"@atlaskit/icon-lab": "^2.
|
|
47
|
+
"@atlaskit/icon": "^23.7.0",
|
|
48
|
+
"@atlaskit/icon-lab": "^2.4.0",
|
|
49
49
|
"@atlaskit/tokens": "*",
|
|
50
50
|
"@babel/runtime": "^7.0.0",
|
|
51
51
|
"@typescript-eslint/utils": "^7.1.0",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getSourceCode = exports.getScope = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* TODO: Consider whether this should be replaced by ESLint's compat library.
|
|
9
|
-
* Either way, this should be removed once we no longer need to support ESLint versions less than 8.40.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Returns the SourceCode object from the ESLint rule context.
|
|
14
|
-
* Compatibility layer to support older versions of ESLint.
|
|
15
|
-
* @param context - The ESLint rule context
|
|
16
|
-
*/
|
|
17
|
-
var getSourceCode = exports.getSourceCode = function getSourceCode(context) {
|
|
18
|
-
var _context$sourceCode;
|
|
19
|
-
// `context.sourceCode` is the preferred way to access SourceCode, as
|
|
20
|
-
// `context.getSourceCode()` is deprecated in v8 and removed in v9.
|
|
21
|
-
return (_context$sourceCode = context.sourceCode) !== null && _context$sourceCode !== void 0 ? _context$sourceCode : context.getSourceCode();
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Returns the Scope object from the ESLint rule context.
|
|
26
|
-
* Compatibility layer to support older versions of ESLint.
|
|
27
|
-
* @param context - The ESLint rule context
|
|
28
|
-
* @param node - The node to get the scope for
|
|
29
|
-
*/
|
|
30
|
-
var getScope = exports.getScope = function getScope(context, node) {
|
|
31
|
-
var _getSourceCode$getSco, _getSourceCode, _getSourceCode$getSco2;
|
|
32
|
-
// `context.sourceCode.getScope()` is the preferred way to access Scope, as
|
|
33
|
-
// `context.getScope()` was removed in v9.
|
|
34
|
-
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 || (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope();
|
|
35
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TODO: Consider whether this should be replaced by ESLint's compat library.
|
|
3
|
-
* Either way, this should be removed once we no longer need to support ESLint versions less than 8.40.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Returns the SourceCode object from the ESLint rule context.
|
|
8
|
-
* Compatibility layer to support older versions of ESLint.
|
|
9
|
-
* @param context - The ESLint rule context
|
|
10
|
-
*/
|
|
11
|
-
export const getSourceCode = context => {
|
|
12
|
-
var _context$sourceCode;
|
|
13
|
-
// `context.sourceCode` is the preferred way to access SourceCode, as
|
|
14
|
-
// `context.getSourceCode()` is deprecated in v8 and removed in v9.
|
|
15
|
-
return (_context$sourceCode = context.sourceCode) !== null && _context$sourceCode !== void 0 ? _context$sourceCode : context.getSourceCode();
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Returns the Scope object from the ESLint rule context.
|
|
20
|
-
* Compatibility layer to support older versions of ESLint.
|
|
21
|
-
* @param context - The ESLint rule context
|
|
22
|
-
* @param node - The node to get the scope for
|
|
23
|
-
*/
|
|
24
|
-
export const getScope = (context, node) => {
|
|
25
|
-
var _getSourceCode$getSco, _getSourceCode, _getSourceCode$getSco2;
|
|
26
|
-
// `context.sourceCode.getScope()` is the preferred way to access Scope, as
|
|
27
|
-
// `context.getScope()` was removed in v9.
|
|
28
|
-
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 ? void 0 : (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope();
|
|
29
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TODO: Consider whether this should be replaced by ESLint's compat library.
|
|
3
|
-
* Either way, this should be removed once we no longer need to support ESLint versions less than 8.40.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Returns the SourceCode object from the ESLint rule context.
|
|
8
|
-
* Compatibility layer to support older versions of ESLint.
|
|
9
|
-
* @param context - The ESLint rule context
|
|
10
|
-
*/
|
|
11
|
-
export var getSourceCode = function getSourceCode(context) {
|
|
12
|
-
var _context$sourceCode;
|
|
13
|
-
// `context.sourceCode` is the preferred way to access SourceCode, as
|
|
14
|
-
// `context.getSourceCode()` is deprecated in v8 and removed in v9.
|
|
15
|
-
return (_context$sourceCode = context.sourceCode) !== null && _context$sourceCode !== void 0 ? _context$sourceCode : context.getSourceCode();
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Returns the Scope object from the ESLint rule context.
|
|
20
|
-
* Compatibility layer to support older versions of ESLint.
|
|
21
|
-
* @param context - The ESLint rule context
|
|
22
|
-
* @param node - The node to get the scope for
|
|
23
|
-
*/
|
|
24
|
-
export var getScope = function getScope(context, node) {
|
|
25
|
-
var _getSourceCode$getSco, _getSourceCode, _getSourceCode$getSco2;
|
|
26
|
-
// `context.sourceCode.getScope()` is the preferred way to access Scope, as
|
|
27
|
-
// `context.getScope()` was removed in v9.
|
|
28
|
-
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 || (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope();
|
|
29
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Rule, Scope, SourceCode } from 'eslint';
|
|
2
|
-
import type { Node } from 'estree';
|
|
3
|
-
/**
|
|
4
|
-
* TODO: Consider whether this should be replaced by ESLint's compat library.
|
|
5
|
-
* Either way, this should be removed once we no longer need to support ESLint versions less than 8.40.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Returns the SourceCode object from the ESLint rule context.
|
|
9
|
-
* Compatibility layer to support older versions of ESLint.
|
|
10
|
-
* @param context - The ESLint rule context
|
|
11
|
-
*/
|
|
12
|
-
export declare const getSourceCode: (context: Rule.RuleContext) => SourceCode;
|
|
13
|
-
/**
|
|
14
|
-
* Returns the Scope object from the ESLint rule context.
|
|
15
|
-
* Compatibility layer to support older versions of ESLint.
|
|
16
|
-
* @param context - The ESLint rule context
|
|
17
|
-
* @param node - The node to get the scope for
|
|
18
|
-
*/
|
|
19
|
-
export declare const getScope: (context: Rule.RuleContext, node: Node) => Scope.Scope;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Rule, Scope, SourceCode } from 'eslint';
|
|
2
|
-
import type { Node } from 'estree';
|
|
3
|
-
/**
|
|
4
|
-
* TODO: Consider whether this should be replaced by ESLint's compat library.
|
|
5
|
-
* Either way, this should be removed once we no longer need to support ESLint versions less than 8.40.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Returns the SourceCode object from the ESLint rule context.
|
|
9
|
-
* Compatibility layer to support older versions of ESLint.
|
|
10
|
-
* @param context - The ESLint rule context
|
|
11
|
-
*/
|
|
12
|
-
export declare const getSourceCode: (context: Rule.RuleContext) => SourceCode;
|
|
13
|
-
/**
|
|
14
|
-
* Returns the Scope object from the ESLint rule context.
|
|
15
|
-
* Compatibility layer to support older versions of ESLint.
|
|
16
|
-
* @param context - The ESLint rule context
|
|
17
|
-
* @param node - The node to get the scope for
|
|
18
|
-
*/
|
|
19
|
-
export declare const getScope: (context: Rule.RuleContext, node: Node) => Scope.Scope;
|