@atlaskit/eslint-plugin-design-system 13.4.1 → 13.5.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 +8 -0
- package/README.md +1 -0
- package/dist/cjs/ast-nodes/object.js +0 -2
- package/dist/cjs/presets/all-flat.codegen.js +2 -1
- package/dist/cjs/presets/all.codegen.js +2 -1
- package/dist/cjs/presets/recommended-flat.codegen.js +2 -1
- package/dist/cjs/presets/recommended.codegen.js +2 -1
- package/dist/cjs/rules/consistent-css-prop-usage/index.js +0 -2
- package/dist/cjs/rules/ensure-design-token-usage/color.js +0 -2
- package/dist/cjs/rules/ensure-design-token-usage/index.js +0 -2
- package/dist/cjs/rules/ensure-design-token-usage/spacing.js +1 -1
- package/dist/cjs/rules/ensure-design-token-usage/utils.js +0 -2
- package/dist/cjs/rules/ensure-icon-color/index.js +0 -2
- package/dist/cjs/rules/index.codegen.js +3 -1
- package/dist/cjs/rules/no-boolean-autofocus-on-modal-dialog/index.js +0 -2
- package/dist/cjs/rules/no-custom-icons/index.js +0 -2
- package/dist/cjs/rules/no-deprecated-design-token-usage/index.js +0 -2
- 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 +0 -2
- package/dist/cjs/rules/no-html-anchor/node-types/jsx-element/index.js +1 -1
- package/dist/cjs/rules/no-html-button/node-types/jsx-element/index.js +0 -2
- package/dist/cjs/rules/no-margin/index.js +0 -2
- package/dist/cjs/rules/no-nested-styles/index.js +0 -2
- package/dist/cjs/rules/no-physical-properties/index.js +0 -2
- package/dist/cjs/rules/no-unsafe-design-token-usage/index.js +1 -1
- package/dist/cjs/rules/use-button-group-label/index.js +0 -2
- package/dist/cjs/rules/use-datetime-picker-calendar-button/index.js +0 -2
- package/dist/cjs/rules/use-drawer-label/index.js +0 -2
- package/dist/cjs/rules/use-heading-level-in-spotlight-card/index.js +0 -2
- package/dist/cjs/rules/use-href-in-link-item/index.js +0 -2
- package/dist/cjs/rules/use-href-in-link-item/utils.js +0 -2
- package/dist/cjs/rules/use-menu-section-title/index.js +0 -2
- package/dist/cjs/rules/use-modal-dialog-close-button/index.js +1 -1
- package/dist/cjs/rules/use-onboarding-spotlight-label/index.js +0 -2
- package/dist/cjs/rules/use-popup-label/index.js +0 -2
- package/dist/cjs/rules/use-should-render-to-parent/index.js +113 -0
- package/dist/cjs/rules/use-tag-group-label/index.js +0 -2
- package/dist/cjs/rules/use-visually-hidden/fix-jsx.js +0 -2
- package/dist/cjs/rules/use-visually-hidden/fix-vanilla.js +0 -2
- package/dist/cjs/rules/use-visually-hidden/index.js +0 -2
- package/dist/cjs/rules/use-visually-hidden/utils.js +0 -3
- package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +0 -1
- package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/index.js +0 -4
- package/dist/cjs/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +0 -1
- package/dist/cjs/rules/utils/error-boundary.js +0 -2
- package/dist/cjs/rules/utils/find-in-parent.js +0 -2
- package/dist/cjs/rules/utils/get-import-node-by-source.js +0 -2
- package/dist/cjs/rules/utils/get-is-exception.js +0 -2
- package/dist/cjs/rules/utils/is-node.js +0 -2
- package/dist/es2019/ast-nodes/object.js +0 -2
- package/dist/es2019/presets/all-flat.codegen.js +2 -1
- package/dist/es2019/presets/all.codegen.js +2 -1
- package/dist/es2019/presets/recommended-flat.codegen.js +2 -1
- package/dist/es2019/presets/recommended.codegen.js +2 -1
- package/dist/es2019/rules/consistent-css-prop-usage/index.js +0 -2
- package/dist/es2019/rules/ensure-design-token-usage/color.js +0 -2
- package/dist/es2019/rules/ensure-design-token-usage/index.js +0 -2
- package/dist/es2019/rules/ensure-design-token-usage/spacing.js +0 -2
- package/dist/es2019/rules/ensure-design-token-usage/utils.js +0 -2
- package/dist/es2019/rules/ensure-icon-color/index.js +0 -2
- package/dist/es2019/rules/index.codegen.js +3 -1
- package/dist/es2019/rules/no-boolean-autofocus-on-modal-dialog/index.js +0 -2
- package/dist/es2019/rules/no-custom-icons/index.js +0 -2
- package/dist/es2019/rules/no-deprecated-design-token-usage/index.js +0 -2
- package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +0 -2
- package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +0 -2
- package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +0 -2
- package/dist/es2019/rules/no-html-anchor/node-types/jsx-element/index.js +0 -2
- package/dist/es2019/rules/no-html-button/node-types/jsx-element/index.js +0 -2
- package/dist/es2019/rules/no-margin/index.js +0 -2
- package/dist/es2019/rules/no-nested-styles/index.js +0 -2
- package/dist/es2019/rules/no-physical-properties/index.js +0 -2
- package/dist/es2019/rules/no-unsafe-design-token-usage/index.js +0 -2
- package/dist/es2019/rules/use-button-group-label/index.js +0 -2
- package/dist/es2019/rules/use-datetime-picker-calendar-button/index.js +0 -2
- package/dist/es2019/rules/use-drawer-label/index.js +0 -2
- package/dist/es2019/rules/use-heading-level-in-spotlight-card/index.js +0 -2
- package/dist/es2019/rules/use-href-in-link-item/index.js +0 -2
- package/dist/es2019/rules/use-href-in-link-item/utils.js +0 -2
- package/dist/es2019/rules/use-menu-section-title/index.js +0 -2
- package/dist/es2019/rules/use-modal-dialog-close-button/index.js +0 -2
- package/dist/es2019/rules/use-onboarding-spotlight-label/index.js +0 -2
- package/dist/es2019/rules/use-popup-label/index.js +0 -2
- package/dist/es2019/rules/use-should-render-to-parent/index.js +97 -0
- package/dist/es2019/rules/use-tag-group-label/index.js +0 -2
- package/dist/es2019/rules/use-visually-hidden/fix-jsx.js +0 -2
- package/dist/es2019/rules/use-visually-hidden/fix-vanilla.js +0 -2
- package/dist/es2019/rules/use-visually-hidden/index.js +0 -2
- package/dist/es2019/rules/use-visually-hidden/utils.js +0 -4
- package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +0 -1
- package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/index.js +0 -4
- package/dist/es2019/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +0 -1
- package/dist/es2019/rules/utils/error-boundary.js +0 -2
- package/dist/es2019/rules/utils/find-in-parent.js +0 -2
- package/dist/es2019/rules/utils/get-import-node-by-source.js +0 -2
- package/dist/es2019/rules/utils/get-is-exception.js +0 -2
- package/dist/es2019/rules/utils/is-node.js +0 -2
- package/dist/esm/ast-nodes/object.js +0 -2
- package/dist/esm/presets/all-flat.codegen.js +2 -1
- package/dist/esm/presets/all.codegen.js +2 -1
- package/dist/esm/presets/recommended-flat.codegen.js +2 -1
- package/dist/esm/presets/recommended.codegen.js +2 -1
- package/dist/esm/rules/consistent-css-prop-usage/index.js +0 -2
- package/dist/esm/rules/ensure-design-token-usage/color.js +0 -2
- package/dist/esm/rules/ensure-design-token-usage/index.js +0 -2
- package/dist/esm/rules/ensure-design-token-usage/spacing.js +0 -2
- package/dist/esm/rules/ensure-design-token-usage/utils.js +0 -2
- package/dist/esm/rules/ensure-icon-color/index.js +0 -2
- package/dist/esm/rules/index.codegen.js +3 -1
- package/dist/esm/rules/no-boolean-autofocus-on-modal-dialog/index.js +0 -2
- package/dist/esm/rules/no-custom-icons/index.js +0 -2
- package/dist/esm/rules/no-deprecated-design-token-usage/index.js +0 -2
- package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js +0 -2
- package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js +0 -2
- package/dist/esm/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-jsx-attribute.js +0 -2
- package/dist/esm/rules/no-html-anchor/node-types/jsx-element/index.js +0 -2
- package/dist/esm/rules/no-html-button/node-types/jsx-element/index.js +0 -2
- package/dist/esm/rules/no-margin/index.js +0 -2
- package/dist/esm/rules/no-nested-styles/index.js +0 -2
- package/dist/esm/rules/no-physical-properties/index.js +0 -2
- package/dist/esm/rules/no-unsafe-design-token-usage/index.js +0 -2
- package/dist/esm/rules/use-button-group-label/index.js +0 -2
- package/dist/esm/rules/use-datetime-picker-calendar-button/index.js +0 -2
- package/dist/esm/rules/use-drawer-label/index.js +0 -2
- package/dist/esm/rules/use-heading-level-in-spotlight-card/index.js +0 -2
- package/dist/esm/rules/use-href-in-link-item/index.js +0 -2
- package/dist/esm/rules/use-href-in-link-item/utils.js +0 -2
- package/dist/esm/rules/use-menu-section-title/index.js +0 -2
- package/dist/esm/rules/use-modal-dialog-close-button/index.js +0 -2
- package/dist/esm/rules/use-onboarding-spotlight-label/index.js +0 -2
- package/dist/esm/rules/use-popup-label/index.js +0 -2
- package/dist/esm/rules/use-should-render-to-parent/index.js +107 -0
- package/dist/esm/rules/use-tag-group-label/index.js +0 -2
- package/dist/esm/rules/use-visually-hidden/fix-jsx.js +0 -2
- package/dist/esm/rules/use-visually-hidden/fix-vanilla.js +0 -2
- package/dist/esm/rules/use-visually-hidden/index.js +0 -2
- package/dist/esm/rules/use-visually-hidden/utils.js +0 -4
- package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +0 -1
- package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/index.js +0 -4
- package/dist/esm/rules/utils/create-no-tagged-template-expression-rule/to-arguments.js +0 -1
- package/dist/esm/rules/utils/error-boundary.js +0 -2
- package/dist/esm/rules/utils/find-in-parent.js +0 -2
- package/dist/esm/rules/utils/get-import-node-by-source.js +0 -2
- package/dist/esm/rules/utils/get-is-exception.js +0 -2
- package/dist/esm/rules/utils/is-node.js +0 -2
- package/dist/types/index.codegen.d.ts +9 -0
- package/dist/types/presets/all-flat.codegen.d.ts +1 -0
- package/dist/types/presets/all.codegen.d.ts +1 -0
- package/dist/types/presets/recommended-flat.codegen.d.ts +1 -0
- package/dist/types/presets/recommended.codegen.d.ts +1 -0
- package/dist/types/rules/index.codegen.d.ts +1 -0
- package/dist/types/rules/use-should-render-to-parent/index.d.ts +6 -0
- package/dist/types-ts4.5/index.codegen.d.ts +9 -0
- package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +1 -0
- package/dist/types-ts4.5/presets/all.codegen.d.ts +1 -0
- package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +1 -0
- package/dist/types-ts4.5/presets/recommended.codegen.d.ts +1 -0
- package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -0
- package/dist/types-ts4.5/rules/use-should-render-to-parent/index.d.ts +6 -0
- package/package.json +4 -4
|
@@ -12,12 +12,8 @@ var _isSupportedImport = require("@atlaskit/eslint-utils/is-supported-import");
|
|
|
12
12
|
var _generate = require("./generate");
|
|
13
13
|
var _getTaggedTemplateExpressionOffset = require("./get-tagged-template-expression-offset");
|
|
14
14
|
var _toArguments = require("./to-arguments");
|
|
15
|
-
/* eslint-disable @atlassian/tangerine/import/entry-points */
|
|
16
|
-
|
|
17
15
|
// Original source from Compiled https://github.com/atlassian-labs/compiled/blob/master/packages/eslint-plugin/src/utils/create-no-tagged-template-expression-rule/index.ts
|
|
18
16
|
|
|
19
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
20
|
-
|
|
21
17
|
var noTaggedTemplateExpressionRuleSchema = exports.noTaggedTemplateExpressionRuleSchema = [{
|
|
22
18
|
type: 'object',
|
|
23
19
|
properties: {
|
|
@@ -11,7 +11,6 @@ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol
|
|
|
11
11
|
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; } }
|
|
12
12
|
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; }
|
|
13
13
|
// Original source from Compiled https://github.com/atlassian-labs/compiled/blob/master/packages/eslint-plugin/src/utils/create-no-tagged-template-expression-rule/to-arguments.ts
|
|
14
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
15
14
|
|
|
16
15
|
var getArguments = function getArguments(chars) {
|
|
17
16
|
var expressions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.errorBoundary = errorBoundary;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
11
|
-
|
|
12
10
|
// Need to intersect type RuleListener with a generic function to allow use of Parameters<...> to be used
|
|
13
11
|
|
|
14
12
|
// Allow config to be to be easily passed from rules
|
|
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.findIdentifierInParentScope = findIdentifierInParentScope;
|
|
7
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
8
|
-
|
|
9
7
|
/**
|
|
10
8
|
* This will search first matched identifier in same and parent scopes.
|
|
11
9
|
* Returns first matched identifer otherwise null.
|
|
@@ -7,8 +7,6 @@ exports.getModuleOfIdentifier = exports.getImportedNodeBySource = void 0;
|
|
|
7
7
|
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; } } }; }
|
|
8
8
|
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; } }
|
|
9
9
|
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; }
|
|
10
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
11
|
-
|
|
12
10
|
/**
|
|
13
11
|
* @param {SourceCode} source The eslint source
|
|
14
12
|
* @param {string} path The path specified to find
|
|
@@ -8,8 +8,6 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
|
8
8
|
var _contextCompat = require("@atlaskit/eslint-utils/context-compat");
|
|
9
9
|
var _isSupportedImport = require("@atlaskit/eslint-utils/is-supported-import");
|
|
10
10
|
var _astNodes = require("../../ast-nodes");
|
|
11
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
12
|
-
|
|
13
11
|
var _isDecendantOfGlobalToken = exports.isDecendantOfGlobalToken = function isDecendantOfGlobalToken(node) {
|
|
14
12
|
if ((0, _eslintCodemodUtils.isNodeOfType)(node, 'CallExpression') && (0, _eslintCodemodUtils.isNodeOfType)(node.callee, 'Identifier') && (node.callee.name === 'token' || node.callee.name === 'getTokenValue')) {
|
|
15
13
|
return true;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::d6f1473b4b8a65399a9c887b4ba1912e>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -53,6 +53,7 @@ export default {
|
|
|
53
53
|
'@atlaskit/design-system/use-popup-label': 'warn',
|
|
54
54
|
'@atlaskit/design-system/use-primitives': 'warn',
|
|
55
55
|
'@atlaskit/design-system/use-primitives-text': 'warn',
|
|
56
|
+
'@atlaskit/design-system/use-should-render-to-parent': 'warn',
|
|
56
57
|
'@atlaskit/design-system/use-tag-group-label': 'warn',
|
|
57
58
|
'@atlaskit/design-system/use-tokens-space': 'error',
|
|
58
59
|
'@atlaskit/design-system/use-tokens-typography': 'warn',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::011cbb2ac5166d9a4a1d1cab68d0156d>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -52,6 +52,7 @@ export default {
|
|
|
52
52
|
'@atlaskit/design-system/use-popup-label': 'warn',
|
|
53
53
|
'@atlaskit/design-system/use-primitives': 'warn',
|
|
54
54
|
'@atlaskit/design-system/use-primitives-text': 'warn',
|
|
55
|
+
'@atlaskit/design-system/use-should-render-to-parent': 'warn',
|
|
55
56
|
'@atlaskit/design-system/use-tag-group-label': 'warn',
|
|
56
57
|
'@atlaskit/design-system/use-tokens-space': 'error',
|
|
57
58
|
'@atlaskit/design-system/use-tokens-typography': 'warn',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::abef9d23f187fcebf6ab9cdeb874229b>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -39,6 +39,7 @@ export default {
|
|
|
39
39
|
'@atlaskit/design-system/use-modal-dialog-close-button': 'warn',
|
|
40
40
|
'@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
|
|
41
41
|
'@atlaskit/design-system/use-popup-label': 'warn',
|
|
42
|
+
'@atlaskit/design-system/use-should-render-to-parent': 'warn',
|
|
42
43
|
'@atlaskit/design-system/use-tag-group-label': 'warn',
|
|
43
44
|
'@atlaskit/design-system/use-visually-hidden': 'error'
|
|
44
45
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::3d1a55011e92acf33daaf53e8bfc3532>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -38,6 +38,7 @@ export default {
|
|
|
38
38
|
'@atlaskit/design-system/use-modal-dialog-close-button': 'warn',
|
|
39
39
|
'@atlaskit/design-system/use-onboarding-spotlight-label': 'warn',
|
|
40
40
|
'@atlaskit/design-system/use-popup-label': 'warn',
|
|
41
|
+
'@atlaskit/design-system/use-should-render-to-parent': 'warn',
|
|
41
42
|
'@atlaskit/design-system/use-tag-group-label': 'warn',
|
|
42
43
|
'@atlaskit/design-system/use-visually-hidden': 'error'
|
|
43
44
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { node as generate, isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getIsException } from '../utils/get-is-exception';
|
|
5
3
|
import { includesHardCodedColor, isHardCodedColor, isLegacyColor, isLegacyNamedColor } from '../utils/is-color';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
5
3
|
import { getImportSources } from '@atlaskit/eslint-utils/is-supported-import';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { isNodeOfType, property } from 'eslint-codemod-utils';
|
|
4
2
|
import { emToPixels, findTokenNameByPropertyValue, getRawExpression, getTokenNodeForValue, getTokenReplacement, getValue, insertTokensImport, isAuto, isCalc, isValidSpacingValue, isZero, splitShorthandValues } from './utils';
|
|
5
3
|
export const lintObjectForSpacing = (node, context, ruleConfig, fontSize, tokenNode) => {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { callExpression, identifier, insertAtStartOfFile, insertImportDeclaration, isNodeOfType, literal } from 'eslint-codemod-utils';
|
|
4
2
|
import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
5
3
|
import { spacing as spacingScale } from '@atlaskit/tokens/tokens-raw';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { createIsFromImportSourceFor } from '../no-custom-icons/checks/is-from-import-source';
|
|
5
3
|
import { createLintRule } from '../utils/create-rule';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::f169e765038e90ec6531f19333f70cfb>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
import consistentCssPropUsage from './consistent-css-prop-usage';
|
|
@@ -49,6 +49,7 @@ import useOnboardingSpotlightLabel from './use-onboarding-spotlight-label';
|
|
|
49
49
|
import usePopupLabel from './use-popup-label';
|
|
50
50
|
import usePrimitives from './use-primitives';
|
|
51
51
|
import usePrimitivesText from './use-primitives-text';
|
|
52
|
+
import useShouldRenderToParent from './use-should-render-to-parent';
|
|
52
53
|
import useTagGroupLabel from './use-tag-group-label';
|
|
53
54
|
import useTokensSpace from './use-tokens-space';
|
|
54
55
|
import useTokensTypography from './use-tokens-typography';
|
|
@@ -100,6 +101,7 @@ export const rules = {
|
|
|
100
101
|
'use-popup-label': usePopupLabel,
|
|
101
102
|
'use-primitives': usePrimitives,
|
|
102
103
|
'use-primitives-text': usePrimitivesText,
|
|
104
|
+
'use-should-render-to-parent': useShouldRenderToParent,
|
|
103
105
|
'use-tag-group-label': useTagGroupLabel,
|
|
104
106
|
'use-tokens-space': useTokensSpace,
|
|
105
107
|
'use-tokens-typography': useTokensTypography,
|
package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind-all.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
5
3
|
import { getModuleOfIdentifier } from '../../utils/get-import-node-by-source';
|
package/dist/es2019/rules/no-direct-use-of-web-platform-drag-and-drop/checks/is-blocked-bind.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
5
3
|
import { getModuleOfIdentifier } from '../../utils/get-import-node-by-source';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
5
3
|
import { getModuleOfIdentifier } from '../../utils/get-import-node-by-source';
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
+
|
|
3
|
+
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
4
|
+
import { createLintRule } from '../utils/create-rule';
|
|
5
|
+
export const RULE_NAME = 'use-should-render-to-parent';
|
|
6
|
+
const PROP_NAME = 'shouldRenderToParent';
|
|
7
|
+
const message = `Setting the \`${PROP_NAME}\` prop to anything other than \`true\` causes accessibility issues. Only set to \`false\` as a last resort.`;
|
|
8
|
+
export const addProp = `Add \`${PROP_NAME}\` prop.`;
|
|
9
|
+
export const setPropToTrue = `Set \`${PROP_NAME}\` prop to \`true\`.`;
|
|
10
|
+
const components = ['@atlaskit/popup', '@atlaskit/dropdown-menu'];
|
|
11
|
+
const rule = createLintRule({
|
|
12
|
+
meta: {
|
|
13
|
+
name: RULE_NAME,
|
|
14
|
+
type: 'suggestion',
|
|
15
|
+
docs: {
|
|
16
|
+
description: `Encourages makers to use the \`${PROP_NAME}\` where possible in Atlassian Design System \`Popup\` and \`DropdownMenu\` components.`,
|
|
17
|
+
recommended: true,
|
|
18
|
+
severity: 'warn'
|
|
19
|
+
},
|
|
20
|
+
messages: {
|
|
21
|
+
missingShouldRenderToParentProp: `The default value of \`${PROP_NAME}\` is \`false\`. ${message}`,
|
|
22
|
+
falseShouldRenderToParentProp: message
|
|
23
|
+
},
|
|
24
|
+
hasSuggestions: true
|
|
25
|
+
},
|
|
26
|
+
create(context) {
|
|
27
|
+
let componentLocalName;
|
|
28
|
+
return {
|
|
29
|
+
ImportDeclaration(node) {
|
|
30
|
+
const source = node.source.value;
|
|
31
|
+
if (typeof source !== 'string') {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!components.includes(source)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!node.specifiers.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const defaultImport = node.specifiers.filter(spec => spec.type === 'ImportDefaultSpecifier');
|
|
41
|
+
const namedImport = node.specifiers.filter(spec => spec.type === 'ImportSpecifier');
|
|
42
|
+
|
|
43
|
+
// If popup or dropdown menu and using a default import
|
|
44
|
+
if (defaultImport.length && defaultImport[0].local) {
|
|
45
|
+
componentLocalName = defaultImport[0].local.name;
|
|
46
|
+
// or if popup and using a named import
|
|
47
|
+
} else if (namedImport.length && namedImport[0].type === 'ImportSpecifier' && namedImport[0].imported.name === 'Popup') {
|
|
48
|
+
componentLocalName = namedImport[0].local.name;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
JSXElement(node) {
|
|
52
|
+
if (!isNodeOfType(node, 'JSXElement')) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (!isNodeOfType(node.openingElement.name, 'JSXIdentifier')) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const name = node.openingElement.name.name;
|
|
59
|
+
if (name === componentLocalName) {
|
|
60
|
+
const prop = node.openingElement.attributes.find(attr => isNodeOfType(attr, 'JSXAttribute') && isNodeOfType(attr.name, 'JSXIdentifier') && attr.name.name === PROP_NAME);
|
|
61
|
+
|
|
62
|
+
// If the prop does not exist, throw
|
|
63
|
+
if (!prop) {
|
|
64
|
+
return context.report({
|
|
65
|
+
node: node.openingElement.name,
|
|
66
|
+
messageId: 'missingShouldRenderToParentProp',
|
|
67
|
+
suggest: [{
|
|
68
|
+
desc: addProp,
|
|
69
|
+
fix: fixer => [fixer.insertTextAfter(node.openingElement.name, ` ${PROP_NAME}`)]
|
|
70
|
+
}]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// If the prop is a boolean attribute with no value (set to `true`),
|
|
75
|
+
// it's valid
|
|
76
|
+
if (!('value' in prop) || prop.value === null) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// If the prop has a falsy literal value or a falsy value in an
|
|
81
|
+
// expression container, throw
|
|
82
|
+
if (isNodeOfType(prop.value, 'Literal') && !prop.value.value || isNodeOfType(prop.value, 'JSXExpressionContainer') && prop.value.expression.type === 'Literal' && !prop.value.expression.value) {
|
|
83
|
+
return context.report({
|
|
84
|
+
node: prop,
|
|
85
|
+
messageId: 'falseShouldRenderToParentProp',
|
|
86
|
+
suggest: [{
|
|
87
|
+
desc: setPropToTrue,
|
|
88
|
+
fix: fixer => [fixer.replaceText(prop, PROP_NAME)]
|
|
89
|
+
}]
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
export default rule;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { closestOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getImportedNodeBySource } from '../utils/get-import-node-by-source';
|
|
5
3
|
import { IMPORT_NAME, VISUALLY_HIDDEN_IMPORT, VISUALLY_HIDDEN_SOURCE } from './constants';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { getImportedNodeBySource } from '../utils/get-import-node-by-source';
|
|
4
2
|
import { IMPORT_NAME, VISUALLY_HIDDEN_IMPORT, VISUALLY_HIDDEN_SOURCE } from './constants';
|
|
5
3
|
import { getFirstImport } from './utils';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
-
|
|
3
1
|
import { closestOfType, hasImportDeclaration, isNodeOfType } from 'eslint-codemod-utils';
|
|
4
2
|
import { getDeclaredVariables, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
5
3
|
import { createLintRule } from '../utils/create-rule';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// Original source from Compiled https://github.com/atlassian-labs/compiled/blob/master/packages/eslint-plugin/src/utils/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.ts
|
|
2
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
3
2
|
|
|
4
3
|
export const getTaggedTemplateExpressionOffset = node => {
|
|
5
4
|
const {
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
/* eslint-disable @atlassian/tangerine/import/entry-points */
|
|
2
|
-
|
|
3
1
|
// Original source from Compiled https://github.com/atlassian-labs/compiled/blob/master/packages/eslint-plugin/src/utils/create-no-tagged-template-expression-rule/index.ts
|
|
4
2
|
|
|
5
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
6
|
-
|
|
7
3
|
import esquery from 'esquery';
|
|
8
4
|
import { getScope, getSourceCode } from '@atlaskit/eslint-utils/context-compat';
|
|
9
5
|
import { getImportSources, isEmotion } from '@atlaskit/eslint-utils/is-supported-import';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// Original source from Compiled https://github.com/atlassian-labs/compiled/blob/master/packages/eslint-plugin/src/utils/create-no-tagged-template-expression-rule/to-arguments.ts
|
|
2
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
3
2
|
|
|
4
3
|
const getArguments = (chars, expressions = []) => {
|
|
5
4
|
if (!chars.trim().length && expressions) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::d6f1473b4b8a65399a9c887b4ba1912e>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -53,6 +53,7 @@ export default {
|
|
|
53
53
|
'@atlaskit/design-system/use-popup-label': 'warn',
|
|
54
54
|
'@atlaskit/design-system/use-primitives': 'warn',
|
|
55
55
|
'@atlaskit/design-system/use-primitives-text': 'warn',
|
|
56
|
+
'@atlaskit/design-system/use-should-render-to-parent': 'warn',
|
|
56
57
|
'@atlaskit/design-system/use-tag-group-label': 'warn',
|
|
57
58
|
'@atlaskit/design-system/use-tokens-space': 'error',
|
|
58
59
|
'@atlaskit/design-system/use-tokens-typography': 'warn',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
-
* @codegen <<SignedSource::
|
|
3
|
+
* @codegen <<SignedSource::011cbb2ac5166d9a4a1d1cab68d0156d>>
|
|
4
4
|
* @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -52,6 +52,7 @@ export default {
|
|
|
52
52
|
'@atlaskit/design-system/use-popup-label': 'warn',
|
|
53
53
|
'@atlaskit/design-system/use-primitives': 'warn',
|
|
54
54
|
'@atlaskit/design-system/use-primitives-text': 'warn',
|
|
55
|
+
'@atlaskit/design-system/use-should-render-to-parent': 'warn',
|
|
55
56
|
'@atlaskit/design-system/use-tag-group-label': 'warn',
|
|
56
57
|
'@atlaskit/design-system/use-tokens-space': 'error',
|
|
57
58
|
'@atlaskit/design-system/use-tokens-typography': 'warn',
|