@atlaskit/eslint-plugin-design-system 8.14.1 → 8.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/constellation/index/usage.mdx +1 -0
  3. package/dist/cjs/rules/consistent-css-prop-usage/index.js +2 -0
  4. package/dist/cjs/rules/ensure-design-token-usage/color.js +2 -0
  5. package/dist/cjs/rules/ensure-design-token-usage/index.js +2 -0
  6. package/dist/cjs/rules/ensure-design-token-usage/spacing.js +1 -1
  7. package/dist/cjs/rules/ensure-design-token-usage/utils.js +2 -0
  8. package/dist/cjs/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +1 -0
  9. package/dist/cjs/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/index.js +1 -0
  10. package/dist/cjs/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/to-arguments.js +1 -0
  11. package/dist/cjs/rules/no-css-tagged-template-expression/is-supported-import.js +2 -0
  12. package/dist/cjs/rules/no-deprecated-design-token-usage/index.js +2 -0
  13. package/dist/cjs/rules/no-margin/index.js +2 -0
  14. package/dist/cjs/rules/no-nested-styles/index.js +2 -0
  15. package/dist/cjs/rules/no-physical-properties/index.js +2 -0
  16. package/dist/cjs/rules/no-unsafe-design-token-usage/index.js +9 -6
  17. package/dist/cjs/rules/prefer-primitives/index.js +2 -0
  18. package/dist/cjs/rules/use-drawer-label/index.js +2 -0
  19. package/dist/cjs/rules/use-href-in-link-item/index.js +2 -0
  20. package/dist/cjs/rules/use-href-in-link-item/utils.js +2 -0
  21. package/dist/cjs/rules/use-primitives/index.js +2 -0
  22. package/dist/cjs/rules/use-primitives/utils.js +1 -1
  23. package/dist/cjs/rules/use-visually-hidden/fix-jsx.js +1 -0
  24. package/dist/cjs/rules/use-visually-hidden/fix-vanilla.js +1 -0
  25. package/dist/cjs/rules/use-visually-hidden/index.js +2 -0
  26. package/dist/cjs/rules/use-visually-hidden/utils.js +2 -0
  27. package/dist/cjs/rules/utils/create-rule.js +2 -0
  28. package/dist/cjs/rules/utils/find-in-parent.js +2 -0
  29. package/dist/cjs/rules/utils/get-import-node-by-source.js +2 -0
  30. package/dist/cjs/rules/utils/get-is-exception.js +2 -0
  31. package/dist/cjs/rules/utils/is-node.js +2 -0
  32. package/dist/es2019/rules/consistent-css-prop-usage/index.js +2 -0
  33. package/dist/es2019/rules/ensure-design-token-usage/color.js +2 -0
  34. package/dist/es2019/rules/ensure-design-token-usage/index.js +2 -0
  35. package/dist/es2019/rules/ensure-design-token-usage/spacing.js +2 -0
  36. package/dist/es2019/rules/ensure-design-token-usage/utils.js +2 -0
  37. package/dist/es2019/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +1 -0
  38. package/dist/es2019/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/index.js +1 -0
  39. package/dist/es2019/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/to-arguments.js +1 -0
  40. package/dist/es2019/rules/no-css-tagged-template-expression/is-supported-import.js +2 -0
  41. package/dist/es2019/rules/no-deprecated-design-token-usage/index.js +2 -0
  42. package/dist/es2019/rules/no-margin/index.js +2 -0
  43. package/dist/es2019/rules/no-nested-styles/index.js +2 -0
  44. package/dist/es2019/rules/no-physical-properties/index.js +2 -0
  45. package/dist/es2019/rules/no-unsafe-design-token-usage/index.js +10 -6
  46. package/dist/es2019/rules/prefer-primitives/index.js +2 -0
  47. package/dist/es2019/rules/use-drawer-label/index.js +2 -0
  48. package/dist/es2019/rules/use-href-in-link-item/index.js +2 -0
  49. package/dist/es2019/rules/use-href-in-link-item/utils.js +2 -0
  50. package/dist/es2019/rules/use-primitives/index.js +2 -0
  51. package/dist/es2019/rules/use-primitives/utils.js +2 -0
  52. package/dist/es2019/rules/use-visually-hidden/fix-jsx.js +2 -0
  53. package/dist/es2019/rules/use-visually-hidden/fix-vanilla.js +2 -0
  54. package/dist/es2019/rules/use-visually-hidden/index.js +2 -0
  55. package/dist/es2019/rules/use-visually-hidden/utils.js +2 -0
  56. package/dist/es2019/rules/utils/create-rule.js +2 -0
  57. package/dist/es2019/rules/utils/find-in-parent.js +2 -0
  58. package/dist/es2019/rules/utils/get-import-node-by-source.js +2 -0
  59. package/dist/es2019/rules/utils/get-is-exception.js +2 -0
  60. package/dist/es2019/rules/utils/is-node.js +2 -0
  61. package/dist/esm/rules/consistent-css-prop-usage/index.js +2 -0
  62. package/dist/esm/rules/ensure-design-token-usage/color.js +2 -0
  63. package/dist/esm/rules/ensure-design-token-usage/index.js +2 -0
  64. package/dist/esm/rules/ensure-design-token-usage/spacing.js +2 -0
  65. package/dist/esm/rules/ensure-design-token-usage/utils.js +2 -0
  66. package/dist/esm/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/get-tagged-template-expression-offset.js +1 -0
  67. package/dist/esm/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/index.js +1 -0
  68. package/dist/esm/rules/no-css-tagged-template-expression/create-no-tagged-template-expression-rule/to-arguments.js +1 -0
  69. package/dist/esm/rules/no-css-tagged-template-expression/is-supported-import.js +2 -0
  70. package/dist/esm/rules/no-deprecated-design-token-usage/index.js +2 -0
  71. package/dist/esm/rules/no-margin/index.js +2 -0
  72. package/dist/esm/rules/no-nested-styles/index.js +2 -0
  73. package/dist/esm/rules/no-physical-properties/index.js +2 -0
  74. package/dist/esm/rules/no-unsafe-design-token-usage/index.js +11 -6
  75. package/dist/esm/rules/prefer-primitives/index.js +2 -0
  76. package/dist/esm/rules/use-drawer-label/index.js +2 -0
  77. package/dist/esm/rules/use-href-in-link-item/index.js +2 -0
  78. package/dist/esm/rules/use-href-in-link-item/utils.js +2 -0
  79. package/dist/esm/rules/use-primitives/index.js +2 -0
  80. package/dist/esm/rules/use-primitives/utils.js +2 -0
  81. package/dist/esm/rules/use-visually-hidden/fix-jsx.js +2 -0
  82. package/dist/esm/rules/use-visually-hidden/fix-vanilla.js +2 -0
  83. package/dist/esm/rules/use-visually-hidden/index.js +2 -0
  84. package/dist/esm/rules/use-visually-hidden/utils.js +2 -0
  85. package/dist/esm/rules/utils/create-rule.js +2 -0
  86. package/dist/esm/rules/utils/find-in-parent.js +2 -0
  87. package/dist/esm/rules/utils/get-import-node-by-source.js +2 -0
  88. package/dist/esm/rules/utils/get-is-exception.js +2 -0
  89. package/dist/esm/rules/utils/is-node.js +2 -0
  90. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @atlaskit/eslint-plugin-design-system
2
2
 
3
+ ## 8.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#43258](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/43258) [`0004d49c240`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0004d49c240) - Adds a new argument `fallbackUsage` which replaces `shouldEnforceFallbacks`. This new argument is an enum which represents the three possible states this rule can be configured with.
8
+
9
+ - `forced`: Fallbacks must always been in use
10
+ - `none`: Fallbacks must never been in use. (Fixer will remove any value provided )
11
+ - `optional`: (new) Fallbacks are optional
12
+
3
13
  ## 8.14.1
4
14
 
5
15
  ### Patch Changes
@@ -658,6 +658,7 @@ This rule comes with options to aid in migrating to design tokens.
658
658
 
659
659
  When `true` the rule will mark token function usage as violations when fallbacks aren't defined.
660
660
  When `false` the rule will mark token function usage as violations when fallbacks are defined.
661
+ When `'optional'` the rule will not mark token function usage as violations when fallbacks are not defined.
661
662
 
662
663
  ## no-unsupported-drag-and-drop-libraries
663
664
 
@@ -10,6 +10,8 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _eslintCodemodUtils = require("eslint-codemod-utils");
11
11
  var _assign = _interopRequireDefault(require("lodash/assign"));
12
12
  var _createRule = require("../utils/create-rule");
13
+ // eslint-disable-next-line import/no-extraneous-dependencies
14
+
13
15
  var declarationSuffix = 'Styles';
14
16
  function isCssCallExpression(node, cssFunctions) {
15
17
  return !!((0, _eslintCodemodUtils.isNodeOfType)(node, 'CallExpression') && node.callee && node.callee.type === 'Identifier' && cssFunctions.includes(node.callee.name) && node.arguments.length && node.arguments[0].type === 'ObjectExpression');
@@ -9,6 +9,8 @@ var _getIsException = require("../utils/get-is-exception");
9
9
  var _isColor = require("../utils/is-color");
10
10
  var _isElevation = require("../utils/is-elevation");
11
11
  var _isNode = require("../utils/is-node");
12
+ // eslint-disable-next-line import/no-extraneous-dependencies
13
+
12
14
  // TemplateLiteral > Identifier
13
15
  var lintTemplateIdentifierForColor = exports.lintTemplateIdentifierForColor = function lintTemplateIdentifierForColor(node, context, config) {
14
16
  if (node.type !== 'Identifier') {
@@ -14,6 +14,8 @@ var _color = require("./color");
14
14
  var _ruleMeta = _interopRequireDefault(require("./rule-meta"));
15
15
  var _spacing = require("./spacing");
16
16
  var _utils = require("./utils");
17
+ // eslint-disable-next-line import/no-extraneous-dependencies
18
+
17
19
  var defaultConfig = {
18
20
  domains: ['color', 'spacing'],
19
21
  applyImport: true,
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _eslintCodemodUtils = require("eslint-codemod-utils");
11
11
  var _utils = require("./utils");
12
12
  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; }
13
- 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; }
13
+ 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; } // eslint-disable-next-line import/no-extraneous-dependencies
14
14
  var lintObjectForSpacing = exports.lintObjectForSpacing = function lintObjectForSpacing(node, context, ruleConfig, fontSize, tokenNode) {
15
15
  if ((0, _eslintCodemodUtils.isNodeOfType)(node.value, 'Literal') && !(0, _utils.isValidSpacingValue)(node.value.value, fontSize)) {
16
16
  context.report({
@@ -31,6 +31,8 @@ var _findInParent = require("../utils/find-in-parent");
31
31
  var _isColor = require("../utils/is-color");
32
32
  var _shape = require("./shape");
33
33
  var _typography = require("./typography");
34
+ // eslint-disable-next-line import/no-extraneous-dependencies
35
+
34
36
  var properties = ['padding', 'paddingBlock', 'paddingInline', 'paddingLeft', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd', 'marginLeft', 'marginTop', 'marginRight', 'marginBottom', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd', 'margin', 'gap', 'rowGap', 'gridRowGap', 'columnGap', 'gridColumnGap', 'top', 'left', 'right', 'bottom', 'inlineStart', 'inlineEnd', 'blockStart', 'blockEnd', 'outline-offset'];
35
37
  var spacingValueToToken = Object.fromEntries(_tokensRaw.spacing.map(function (token) {
36
38
  return [token.value, token.cleanName];
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getTaggedTemplateExpressionOffset = void 0;
7
7
  // 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
8
+ // eslint-disable-next-line import/no-extraneous-dependencies
8
9
 
9
10
  var getTaggedTemplateExpressionOffset = exports.getTaggedTemplateExpressionOffset = function getTaggedTemplateExpressionOffset(node) {
10
11
  var parent = node.parent;
@@ -10,6 +10,7 @@ var _generate = require("./generate");
10
10
  var _getTaggedTemplateExpressionOffset = require("./get-tagged-template-expression-offset");
11
11
  var _toArguments = require("./to-arguments");
12
12
  // 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
13
+ // eslint-disable-next-line import/no-extraneous-dependencies
13
14
 
14
15
  var createNoTaggedTemplateExpressionRule = exports.createNoTaggedTemplateExpressionRule = function createNoTaggedTemplateExpressionRule(isUsage, messageId) {
15
16
  return function (context) {
@@ -11,6 +11,7 @@ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol
11
11
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
12
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
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
14
15
 
15
16
  var getArguments = function getArguments(chars) {
16
17
  var expressions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isSupportedImport = exports.SUPPORTED_IMPORTS = void 0;
7
+ // eslint-disable-next-line import/no-extraneous-dependencies
8
+
7
9
  var SUPPORTED_IMPORTS = exports.SUPPORTED_IMPORTS = {
8
10
  compiled: '@compiled/react',
9
11
  emotionReact: '@emotion/react',
@@ -8,6 +8,8 @@ exports.default = void 0;
8
8
  var _renameMapping = _interopRequireDefault(require("@atlaskit/tokens/rename-mapping"));
9
9
  var _tokenIds = require("@atlaskit/tokens/token-ids");
10
10
  var _createRule = require("../utils/create-rule");
11
+ // eslint-disable-next-line import/no-extraneous-dependencies
12
+
11
13
  var rule = (0, _createRule.createLintRule)({
12
14
  meta: {
13
15
  name: 'no-deprecated-design-token-usage',
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
+ // eslint-disable-next-line import/no-extraneous-dependencies
10
+
9
11
  var rule = (0, _createRule.createLintRule)({
10
12
  meta: {
11
13
  name: 'no-margin',
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
9
  var _findInParent = require("../utils/find-in-parent");
10
+ // eslint-disable-next-line import/no-extraneous-dependencies
11
+
10
12
  var allowedPrefix = [':', '&:'];
11
13
  var allowedResponsiveImports = ['@atlaskit/primitives/responsive', '@atlaskit/primitives'];
12
14
 
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
9
  var _logicalPhysicalMap = require("./logical-physical-map");
10
+ // eslint-disable-next-line import/no-extraneous-dependencies
11
+
10
12
  var rule = (0, _createRule.createLintRule)({
11
13
  meta: {
12
14
  name: 'no-physical-properties',
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
9
  var _eslintCodemodUtils = require("eslint-codemod-utils");
9
10
  var _renameMapping = _interopRequireDefault(require("@atlaskit/tokens/rename-mapping"));
10
11
  var _tokenIds = require("@atlaskit/tokens/token-ids");
@@ -12,9 +13,8 @@ var _tokenNames = _interopRequireDefault(require("@atlaskit/tokens/token-names")
12
13
  var _createRule = require("../utils/create-rule");
13
14
  var _isNode = require("../utils/is-node");
14
15
  var _isToken = require("../utils/is-token");
15
- var defaultConfig = {
16
- shouldEnforceFallbacks: false
17
- };
16
+ 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; }
17
+ 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; } // eslint-disable-next-line import/no-extraneous-dependencies
18
18
  var rule = (0, _createRule.createLintRule)({
19
19
  meta: {
20
20
  name: 'no-unsafe-design-token-usage',
@@ -36,7 +36,10 @@ var rule = (0, _createRule.createLintRule)({
36
36
  }
37
37
  },
38
38
  create: function create(context) {
39
- var config = context.options[0] || defaultConfig;
39
+ var config = _objectSpread({}, context.options[0]);
40
+ if (!config.fallbackUsage) {
41
+ config.fallbackUsage = config.shouldEnforceFallbacks ? 'forced' : 'none';
42
+ }
40
43
  var UNSAFE_ignoreTokens = new Set(config.UNSAFE_ignoreTokens);
41
44
  return {
42
45
  'TaggedTemplateExpression[tag.name="css"],TaggedTemplateExpression[tag.object.name="styled"]': function TaggedTemplateExpressionTagNameCssTaggedTemplateExpressionTagObjectNameStyled(node) {
@@ -88,12 +91,12 @@ var rule = (0, _createRule.createLintRule)({
88
91
  if (!(0, _eslintCodemodUtils.isNodeOfType)(node, 'CallExpression')) {
89
92
  return;
90
93
  }
91
- if (node.arguments.length < 2 && config.shouldEnforceFallbacks === true) {
94
+ if (node.arguments.length < 2 && config.fallbackUsage === 'forced') {
92
95
  context.report({
93
96
  messageId: 'tokenFallbackEnforced',
94
97
  node: node
95
98
  });
96
- } else if (node.arguments.length > 1 && config.shouldEnforceFallbacks === false) {
99
+ } else if (node.arguments.length > 1 && config.fallbackUsage === 'none') {
97
100
  if (node.arguments[0].type === 'Literal') {
98
101
  var value = node.arguments[0].value;
99
102
  context.report({
@@ -8,6 +8,8 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _utils = require("../use-primitives/utils");
9
9
  var _createRule = require("../utils/create-rule");
10
10
  var _utils2 = require("./utils");
11
+ // eslint-disable-next-line import/no-extraneous-dependencies
12
+
11
13
  var primitiveDocsUrl = 'https://go.atlassian.com/dst-prefer-primitives';
12
14
  var rule = (0, _createRule.createLintRule)({
13
15
  meta: {
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
+ // eslint-disable-next-line import/no-extraneous-dependencies
10
+
9
11
  var elementsAccessibleNameProps = ['label', 'titleId'];
10
12
  var rule = (0, _createRule.createLintRule)({
11
13
  meta: {
@@ -7,6 +7,8 @@ exports.hrefRequiredSuggestionText = exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
9
  var _utils = require("./utils");
10
+ // eslint-disable-next-line import/no-extraneous-dependencies
11
+
10
12
  var hrefRequiredSuggestionText = exports.hrefRequiredSuggestionText = 'Convert LinkItem to ButtonItem';
11
13
  var rule = (0, _createRule.createLintRule)({
12
14
  meta: {
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.insertButtonItemImport = exports.insertButtonItemDefaultImport = exports.hrefHasInvalidValue = exports.hasImportOfName = exports.getUniqueButtonItemName = exports.getLinkItemImportName = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _findInParent = require("../utils/find-in-parent");
9
+ // eslint-disable-next-line import/no-extraneous-dependencies
10
+
9
11
  var getLinkItemImportName = exports.getLinkItemImportName = function getLinkItemImportName(scope) {
10
12
  var traversingScope = scope;
11
13
  var matchedVariable;
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _createRule = require("../utils/create-rule");
9
9
  var _utils = require("./utils");
10
+ // eslint-disable-next-line import/no-extraneous-dependencies
11
+
10
12
  var boxDocsUrl = 'https://staging.atlassian.design/components/primitives/box';
11
13
  var inlineDocsUrl = 'https://staging.atlassian.design/components/primitives/inline';
12
14
  var stackDocsUrl = 'https://staging.atlassian.design/components/primitives/stack';
@@ -8,7 +8,7 @@ exports.validPrimitiveElements = exports.shouldSuggestText = exports.shouldSugge
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _eslintCodemodUtils = require("eslint-codemod-utils");
10
10
  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; }
11
- 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; }
11
+ 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; } // eslint-disable-next-line import/no-extraneous-dependencies
12
12
  var shouldSuggestBox = exports.shouldSuggestBox = function shouldSuggestBox(node
13
13
  // scope: Scope.Scope,
14
14
  ) {
@@ -8,6 +8,7 @@ var _eslintCodemodUtils = require("eslint-codemod-utils");
8
8
  var _getImportNodeBySource = require("../utils/get-import-node-by-source");
9
9
  var _constants = require("./constants");
10
10
  var _utils = require("./utils");
11
+ // eslint-disable-next-line import/no-extraneous-dependencies
11
12
  var _default = exports.default = function _default(source, node) {
12
13
  return function (fixer) {
13
14
  var fixes = [];
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var _getImportNodeBySource = require("../utils/get-import-node-by-source");
8
8
  var _constants = require("./constants");
9
9
  var _utils = require("./utils");
10
+ // eslint-disable-next-line import/no-extraneous-dependencies
10
11
  var _default = exports.default = function _default(source, node) {
11
12
  return function (fixer) {
12
13
  var fixes = [];
@@ -12,6 +12,8 @@ var _isNode = require("../utils/is-node");
12
12
  var _fixJsx = _interopRequireDefault(require("./fix-jsx"));
13
13
  var _fixVanilla = _interopRequireDefault(require("./fix-vanilla"));
14
14
  var _utils = require("./utils");
15
+ // eslint-disable-next-line import/no-extraneous-dependencies
16
+
15
17
  var THEME_IMPORT_NAMES = ['visuallyHidden', 'assistive'];
16
18
  var rule = (0, _createRule.createLintRule)({
17
19
  meta: {
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.makeTemplateLiteralIntoEntries = exports.getObjectLikeness = exports.getFirstImport = exports.countMatchingKeyValues = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
+ // eslint-disable-next-line import/no-extraneous-dependencies
9
+
8
10
  // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden
9
11
  var referenceObject = {
10
12
  width: '1px',
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createRule = exports.createLintRule = void 0;
7
7
  var _utils = require("@typescript-eslint/utils");
8
+ // eslint-disable-next-line import/no-extraneous-dependencies
9
+
8
10
  /**
9
11
  * We are moving to our own small abstraction to create a lint rule that we have the power
10
12
  * to change and mold to our own needs.
@@ -4,6 +4,8 @@ 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
+
7
9
  /**
8
10
  * This will search first matched identifier in same and parent scopes.
9
11
  * Returns first matched identifer otherwise null.
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getImportedNodeBySource = void 0;
7
+ // eslint-disable-next-line import/no-extraneous-dependencies
8
+
7
9
  /**
8
10
  * @param {SourceCode} source The eslint source
9
11
  * @param {string} path The path specified to find
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getIsException = void 0;
7
+ // eslint-disable-next-line import/no-extraneous-dependencies
8
+
7
9
  var getNodeValue = function getNodeValue(node) {
8
10
  var _node$value;
9
11
  switch (node.type) {
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isPropertyKey = exports.isDecendantOfType = exports.isDecendantOfStyleJsxAttribute = exports.isDecendantOfStyleBlock = exports.isDecendantOfGlobalToken = exports.isCssInJsTemplateNode = exports.isCssInJsObjectNode = exports.isCssInJsCallNode = exports.isChildOfType = void 0;
7
7
  var _eslintCodemodUtils = require("eslint-codemod-utils");
8
+ // eslint-disable-next-line import/no-extraneous-dependencies
9
+
8
10
  var isDecendantOfGlobalToken = exports.isDecendantOfGlobalToken = function isDecendantOfGlobalToken(node) {
9
11
  if ((0, _eslintCodemodUtils.isNodeOfType)(node, 'CallExpression') && (0, _eslintCodemodUtils.isNodeOfType)(node.callee, 'Identifier') && (node.callee.name === 'token' || node.callee.name === 'getTokenValue')) {
10
12
  return true;
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { getIdentifierInParentScope, isNodeOfType } from 'eslint-codemod-utils';
2
4
  import assign from 'lodash/assign';
3
5
  import { createLintRule } from '../utils/create-rule';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { node as generate, isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { getIsException } from '../utils/get-is-exception';
3
5
  import { includesHardCodedColor, isHardCodedColor, isLegacyColor, isLegacyNamedColor } from '../utils/is-color';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { includesHardCodedColor } from '../utils/is-color';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType, property } from 'eslint-codemod-utils';
2
4
  import { emToPixels, findTokenNameByPropertyValue, getRawExpression, getTokenNodeForValue, getTokenReplacement, getValue, insertTokensImport, isAuto, isCalc, isValidSpacingValue, isZero, splitShorthandValues } from './utils';
3
5
  export const lintObjectForSpacing = (node, context, ruleConfig, fontSize, tokenNode) => {
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { callExpression, identifier, insertAtStartOfFile, insertImportDeclaration, isNodeOfType, literal } from 'eslint-codemod-utils';
2
4
  import { spacing as spacingScale } from '@atlaskit/tokens/tokens-raw';
3
5
  import { findIdentifierInParentScope } from '../utils/find-in-parent';
@@ -1,4 +1,5 @@
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
2
3
 
3
4
  export const getTaggedTemplateExpressionOffset = node => {
4
5
  const {
@@ -1,4 +1,5 @@
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/index.ts
2
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
3
 
3
4
  import { generate } from './generate';
4
5
  import { getTaggedTemplateExpressionOffset } from './get-tagged-template-expression-offset';
@@ -1,4 +1,5 @@
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
2
3
 
3
4
  const getArguments = (chars, expressions = []) => {
4
5
  if (!chars.trim().length && expressions) {
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  export const SUPPORTED_IMPORTS = {
2
4
  compiled: '@compiled/react',
3
5
  emotionReact: '@emotion/react',
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import renameMapping from '@atlaskit/tokens/rename-mapping';
2
4
  import { getTokenId } from '@atlaskit/tokens/token-ids';
3
5
  import { createLintRule } from '../utils/create-rule';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  const rule = createLintRule({
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { findIdentifierInParentScope } from '../utils/find-in-parent';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { physicalLogicalMap } from './logical-physical-map';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import renameMapping from '@atlaskit/tokens/rename-mapping';
3
5
  import { getTokenId } from '@atlaskit/tokens/token-ids';
@@ -5,9 +7,6 @@ import tokens from '@atlaskit/tokens/token-names';
5
7
  import { createLintRule } from '../utils/create-rule';
6
8
  import { isDecendantOfStyleBlock, isDecendantOfStyleJsxAttribute } from '../utils/is-node';
7
9
  import { isToken } from '../utils/is-token';
8
- const defaultConfig = {
9
- shouldEnforceFallbacks: false
10
- };
11
10
  const rule = createLintRule({
12
11
  meta: {
13
12
  name: 'no-unsafe-design-token-usage',
@@ -51,7 +50,12 @@ token('color.background.blanket');
51
50
  }
52
51
  },
53
52
  create(context) {
54
- const config = context.options[0] || defaultConfig;
53
+ const config = {
54
+ ...context.options[0]
55
+ };
56
+ if (!config.fallbackUsage) {
57
+ config.fallbackUsage = config.shouldEnforceFallbacks ? 'forced' : 'none';
58
+ }
55
59
  const UNSAFE_ignoreTokens = new Set(config.UNSAFE_ignoreTokens);
56
60
  return {
57
61
  'TaggedTemplateExpression[tag.name="css"],TaggedTemplateExpression[tag.object.name="styled"]': node => {
@@ -99,12 +103,12 @@ token('color.background.blanket');
99
103
  if (!isNodeOfType(node, 'CallExpression')) {
100
104
  return;
101
105
  }
102
- if (node.arguments.length < 2 && config.shouldEnforceFallbacks === true) {
106
+ if (node.arguments.length < 2 && config.fallbackUsage === 'forced') {
103
107
  context.report({
104
108
  messageId: 'tokenFallbackEnforced',
105
109
  node
106
110
  });
107
- } else if (node.arguments.length > 1 && config.shouldEnforceFallbacks === false) {
111
+ } else if (node.arguments.length > 1 && config.fallbackUsage === 'none') {
108
112
  if (node.arguments[0].type === 'Literal') {
109
113
  const {
110
114
  value
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { validPrimitiveElements } from '../use-primitives/utils';
3
5
  import { createLintRule } from '../utils/create-rule';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  const elementsAccessibleNameProps = ['label', 'titleId'];
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { getLinkItemImportName, getUniqueButtonItemName, hasImportOfName, hrefHasInvalidValue, insertButtonItemDefaultImport, insertButtonItemImport } from './utils';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { findIdentifierInParentScope } from '../utils/find-in-parent';
3
5
  export const getLinkItemImportName = scope => {
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { primitiveFixer, shouldSuggestBox, shouldSuggestInline, shouldSuggestStack } from './utils';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { getIdentifierInParentScope, hasImportDeclaration, insertImportDeclaration, insertImportSpecifier, isNodeOfType, jsxAttribute, jsxIdentifier, jsxOpeningElement, literal } from 'eslint-codemod-utils';
2
4
  export const shouldSuggestBox = (node
3
5
  // scope: Scope.Scope,
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { closestOfType } from 'eslint-codemod-utils';
2
4
  import { getImportedNodeBySource } from '../utils/get-import-node-by-source';
3
5
  import { IMPORT_NAME, VISUALLY_HIDDEN_IMPORT, VISUALLY_HIDDEN_SOURCE } from './constants';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { getImportedNodeBySource } from '../utils/get-import-node-by-source';
2
4
  import { IMPORT_NAME, VISUALLY_HIDDEN_IMPORT, VISUALLY_HIDDEN_SOURCE } from './constants';
3
5
  import { getFirstImport } from './utils';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { closestOfType, hasImportDeclaration, isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { isCssInJsObjectNode, isCssInJsTemplateNode } from '../utils/is-node';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
 
3
5
  // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden
@@ -1,4 +1,6 @@
1
1
  import { ESLintUtils } from '@typescript-eslint/utils';
2
+ // eslint-disable-next-line import/no-extraneous-dependencies
3
+
2
4
  /**
3
5
  * We are moving to our own small abstraction to create a lint rule that we have the power
4
6
  * to change and mold to our own needs.
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  /**
2
4
  * This will search first matched identifier in same and parent scopes.
3
5
  * Returns first matched identifer otherwise null.
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  /**
2
4
  * @param {SourceCode} source The eslint source
3
5
  * @param {string} path The path specified to find
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  const getNodeValue = node => {
2
4
  var _node$value;
3
5
  switch (node.type) {
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  export const isDecendantOfGlobalToken = node => {
3
5
  if (isNodeOfType(node, 'CallExpression') && isNodeOfType(node.callee, 'Identifier') && (node.callee.name === 'token' || node.callee.name === 'getTokenValue')) {
@@ -1,5 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ // eslint-disable-next-line import/no-extraneous-dependencies
4
+
3
5
  import { getIdentifierInParentScope, isNodeOfType } from 'eslint-codemod-utils';
4
6
  import assign from 'lodash/assign';
5
7
  import { createLintRule } from '../utils/create-rule';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { node as generate, isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { getIsException } from '../utils/get-is-exception';
3
5
  import { includesHardCodedColor, isHardCodedColor, isLegacyColor, isLegacyNamedColor } from '../utils/is-color';
@@ -1,4 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ // eslint-disable-next-line import/no-extraneous-dependencies
3
+
2
4
  import { isNodeOfType } from 'eslint-codemod-utils';
3
5
  import { createLintRule } from '../utils/create-rule';
4
6
  import { includesHardCodedColor } from '../utils/is-color';
@@ -2,6 +2,8 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  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; }
4
4
  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; }
5
+ // eslint-disable-next-line import/no-extraneous-dependencies
6
+
5
7
  import { isNodeOfType, property } from 'eslint-codemod-utils';
6
8
  import { emToPixels, findTokenNameByPropertyValue, getRawExpression, getTokenNodeForValue, getTokenReplacement, getValue, insertTokensImport, isAuto, isCalc, isValidSpacingValue, isZero, splitShorthandValues } from './utils';
7
9
  export var lintObjectForSpacing = function lintObjectForSpacing(node, context, ruleConfig, fontSize, tokenNode) {
@@ -1,4 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ // eslint-disable-next-line import/no-extraneous-dependencies
3
+
2
4
  import { callExpression, identifier, insertAtStartOfFile, insertImportDeclaration, isNodeOfType, literal } from 'eslint-codemod-utils';
3
5
  import { spacing as spacingScale } from '@atlaskit/tokens/tokens-raw';
4
6
  import { findIdentifierInParentScope } from '../utils/find-in-parent';
@@ -1,4 +1,5 @@
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
2
3
 
3
4
  export var getTaggedTemplateExpressionOffset = function getTaggedTemplateExpressionOffset(node) {
4
5
  var parent = node.parent;
@@ -1,5 +1,6 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/regenerator";
2
2
  // 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
3
+ // eslint-disable-next-line import/no-extraneous-dependencies
3
4
 
4
5
  import { generate } from './generate';
5
6
  import { getTaggedTemplateExpressionOffset } from './get-tagged-template-expression-offset';
@@ -4,6 +4,7 @@ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol
4
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
6
  // 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
7
+ // eslint-disable-next-line import/no-extraneous-dependencies
7
8
 
8
9
  var getArguments = function getArguments(chars) {
9
10
  var expressions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  export var SUPPORTED_IMPORTS = {
2
4
  compiled: '@compiled/react',
3
5
  emotionReact: '@emotion/react',
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import renameMapping from '@atlaskit/tokens/rename-mapping';
2
4
  import { getTokenId } from '@atlaskit/tokens/token-ids';
3
5
  import { createLintRule } from '../utils/create-rule';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  var rule = createLintRule({
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { findIdentifierInParentScope } from '../utils/find-in-parent';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { physicalLogicalMap } from './logical-physical-map';
@@ -1,3 +1,8 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ // eslint-disable-next-line import/no-extraneous-dependencies
5
+
1
6
  import { isNodeOfType } from 'eslint-codemod-utils';
2
7
  import renameMapping from '@atlaskit/tokens/rename-mapping';
3
8
  import { getTokenId } from '@atlaskit/tokens/token-ids';
@@ -5,9 +10,6 @@ import tokens from '@atlaskit/tokens/token-names';
5
10
  import { createLintRule } from '../utils/create-rule';
6
11
  import { isDecendantOfStyleBlock, isDecendantOfStyleJsxAttribute } from '../utils/is-node';
7
12
  import { isToken } from '../utils/is-token';
8
- var defaultConfig = {
9
- shouldEnforceFallbacks: false
10
- };
11
13
  var rule = createLintRule({
12
14
  meta: {
13
15
  name: 'no-unsafe-design-token-usage',
@@ -29,7 +31,10 @@ var rule = createLintRule({
29
31
  }
30
32
  },
31
33
  create: function create(context) {
32
- var config = context.options[0] || defaultConfig;
34
+ var config = _objectSpread({}, context.options[0]);
35
+ if (!config.fallbackUsage) {
36
+ config.fallbackUsage = config.shouldEnforceFallbacks ? 'forced' : 'none';
37
+ }
33
38
  var UNSAFE_ignoreTokens = new Set(config.UNSAFE_ignoreTokens);
34
39
  return {
35
40
  'TaggedTemplateExpression[tag.name="css"],TaggedTemplateExpression[tag.object.name="styled"]': function TaggedTemplateExpressionTagNameCssTaggedTemplateExpressionTagObjectNameStyled(node) {
@@ -81,12 +86,12 @@ var rule = createLintRule({
81
86
  if (!isNodeOfType(node, 'CallExpression')) {
82
87
  return;
83
88
  }
84
- if (node.arguments.length < 2 && config.shouldEnforceFallbacks === true) {
89
+ if (node.arguments.length < 2 && config.fallbackUsage === 'forced') {
85
90
  context.report({
86
91
  messageId: 'tokenFallbackEnforced',
87
92
  node: node
88
93
  });
89
- } else if (node.arguments.length > 1 && config.shouldEnforceFallbacks === false) {
94
+ } else if (node.arguments.length > 1 && config.fallbackUsage === 'none') {
90
95
  if (node.arguments[0].type === 'Literal') {
91
96
  var value = node.arguments[0].value;
92
97
  context.report({
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { validPrimitiveElements } from '../use-primitives/utils';
3
5
  import { createLintRule } from '../utils/create-rule';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  var elementsAccessibleNameProps = ['label', 'titleId'];
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { getLinkItemImportName, getUniqueButtonItemName, hasImportOfName, hrefHasInvalidValue, insertButtonItemDefaultImport, insertButtonItemImport } from './utils';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { findIdentifierInParentScope } from '../utils/find-in-parent';
3
5
  export var getLinkItemImportName = function getLinkItemImportName(scope) {
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  import { createLintRule } from '../utils/create-rule';
3
5
  import { primitiveFixer, shouldSuggestBox, shouldSuggestInline, shouldSuggestStack } from './utils';
@@ -1,6 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  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; }
3
3
  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; }
4
+ // eslint-disable-next-line import/no-extraneous-dependencies
5
+
4
6
  import { getIdentifierInParentScope, hasImportDeclaration, insertImportDeclaration, insertImportSpecifier, isNodeOfType, jsxAttribute, jsxIdentifier, jsxOpeningElement, literal } from 'eslint-codemod-utils';
5
7
  export var shouldSuggestBox = function shouldSuggestBox(node
6
8
  // scope: Scope.Scope,
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { closestOfType } from 'eslint-codemod-utils';
2
4
  import { getImportedNodeBySource } from '../utils/get-import-node-by-source';
3
5
  import { IMPORT_NAME, VISUALLY_HIDDEN_IMPORT, VISUALLY_HIDDEN_SOURCE } from './constants';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { getImportedNodeBySource } from '../utils/get-import-node-by-source';
2
4
  import { IMPORT_NAME, VISUALLY_HIDDEN_IMPORT, VISUALLY_HIDDEN_SOURCE } from './constants';
3
5
  import { getFirstImport } from './utils';
@@ -1,4 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ // eslint-disable-next-line import/no-extraneous-dependencies
3
+
2
4
  import { closestOfType, hasImportDeclaration, isNodeOfType } from 'eslint-codemod-utils';
3
5
  import { createLintRule } from '../utils/create-rule';
4
6
  import { isCssInJsObjectNode, isCssInJsTemplateNode } from '../utils/is-node';
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
 
3
5
  // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden
@@ -1,4 +1,6 @@
1
1
  import { ESLintUtils } from '@typescript-eslint/utils';
2
+ // eslint-disable-next-line import/no-extraneous-dependencies
3
+
2
4
  /**
3
5
  * We are moving to our own small abstraction to create a lint rule that we have the power
4
6
  * to change and mold to our own needs.
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  /**
2
4
  * This will search first matched identifier in same and parent scopes.
3
5
  * Returns first matched identifer otherwise null.
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  /**
2
4
  * @param {SourceCode} source The eslint source
3
5
  * @param {string} path The path specified to find
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  var getNodeValue = function getNodeValue(node) {
2
4
  var _node$value;
3
5
  switch (node.type) {
@@ -1,3 +1,5 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
1
3
  import { isNodeOfType } from 'eslint-codemod-utils';
2
4
  export var isDecendantOfGlobalToken = function isDecendantOfGlobalToken(node) {
3
5
  if (isNodeOfType(node, 'CallExpression') && isNodeOfType(node.callee, 'Identifier') && (node.callee.name === 'token' || node.callee.name === 'getTokenValue')) {
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": "8.14.1",
4
+ "version": "8.15.0",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
7
7
  "registry": "https://registry.npmjs.org/"