@atlaskit/codemod-cli 0.25.0 → 0.25.2

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 (45) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/main.js +1 -1
  3. package/dist/cjs/presets/migrate-to-new-buttons/codemods/next-migrate-link-button-to-link.js +111 -0
  4. package/dist/cjs/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.js +58 -15
  5. package/dist/cjs/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.js +4 -3
  6. package/dist/cjs/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +2 -1
  7. package/dist/cjs/presets/migrate-to-new-buttons/utils/constants.js +12 -5
  8. package/dist/cjs/presets/migrate-to-new-buttons/utils/find-attribute-with-value.js +17 -0
  9. package/dist/cjs/presets/migrate-to-new-buttons/utils/generate-link-element.js +40 -0
  10. package/dist/cjs/presets/migrate-to-new-buttons/utils/generate-new-button-element.js +19 -2
  11. package/dist/cjs/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.js +30 -0
  12. package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-migrate-link-button-to-link.js +95 -0
  13. package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.js +54 -16
  14. package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.js +3 -2
  15. package/dist/es2019/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +2 -1
  16. package/dist/es2019/presets/migrate-to-new-buttons/utils/constants.js +11 -4
  17. package/dist/es2019/presets/migrate-to-new-buttons/utils/find-attribute-with-value.js +11 -0
  18. package/dist/es2019/presets/migrate-to-new-buttons/utils/generate-link-element.js +36 -0
  19. package/dist/es2019/presets/migrate-to-new-buttons/utils/generate-new-button-element.js +18 -1
  20. package/dist/es2019/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.js +24 -0
  21. package/dist/esm/main.js +1 -1
  22. package/dist/esm/presets/migrate-to-new-buttons/codemods/next-migrate-link-button-to-link.js +103 -0
  23. package/dist/esm/presets/migrate-to-new-buttons/codemods/next-migrate-to-new-button-variants.js +58 -16
  24. package/dist/esm/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.js +3 -2
  25. package/dist/esm/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +2 -1
  26. package/dist/esm/presets/migrate-to-new-buttons/utils/constants.js +11 -4
  27. package/dist/esm/presets/migrate-to-new-buttons/utils/find-attribute-with-value.js +11 -0
  28. package/dist/esm/presets/migrate-to-new-buttons/utils/generate-link-element.js +34 -0
  29. package/dist/esm/presets/migrate-to-new-buttons/utils/generate-new-button-element.js +18 -1
  30. package/dist/esm/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.js +24 -0
  31. package/dist/types/presets/migrate-to-new-buttons/codemods/next-migrate-link-button-to-link.d.ts +3 -0
  32. package/dist/types/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.d.ts +2 -1
  33. package/dist/types/presets/migrate-to-new-buttons/utils/constants.d.ts +10 -3
  34. package/dist/types/presets/migrate-to-new-buttons/utils/find-attribute-with-value.d.ts +2 -0
  35. package/dist/types/presets/migrate-to-new-buttons/utils/generate-link-element.d.ts +3 -0
  36. package/dist/types/presets/migrate-to-new-buttons/utils/generate-new-button-element.d.ts +2 -1
  37. package/dist/types/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.d.ts +3 -0
  38. package/dist/types-ts4.5/presets/migrate-to-new-buttons/codemods/next-migrate-link-button-to-link.d.ts +3 -0
  39. package/dist/types-ts4.5/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.d.ts +2 -1
  40. package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/constants.d.ts +10 -3
  41. package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/find-attribute-with-value.d.ts +2 -0
  42. package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/generate-link-element.d.ts +3 -0
  43. package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/generate-new-button-element.d.ts +2 -1
  44. package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.d.ts +3 -0
  45. package/package.json +2 -2
@@ -0,0 +1,11 @@
1
+ export var findJSXAttributeWithValue = function findJSXAttributeWithValue(path, attributeName, attributeValue) {
2
+ var _path$attributes;
3
+ if (!path || path.type === 'JSXSpreadAttribute') {
4
+ return false;
5
+ }
6
+ var attribute = path === null || path === void 0 || (_path$attributes = path.attributes) === null || _path$attributes === void 0 ? void 0 : _path$attributes.find(function (attribute) {
7
+ var _attribute$value;
8
+ return attribute.type === 'JSXAttribute' && attribute.name.name === attributeName && ((_attribute$value = attribute.value) === null || _attribute$value === void 0 ? void 0 : _attribute$value.type) === 'StringLiteral' && attribute.value.value === attributeValue;
9
+ });
10
+ return Boolean(attribute);
11
+ };
@@ -0,0 +1,34 @@
1
+ export var modifyLinkAttributes = function modifyLinkAttributes(element, j) {
2
+ j(element).find(j.JSXAttribute).filter(function (path) {
3
+ var _path$node$value, _path$node$value2;
4
+ return path.node.name.name === 'appearance' && ((_path$node$value = path.node.value) === null || _path$node$value === void 0 ? void 0 : _path$node$value.type) === 'StringLiteral' && path.node.value.value === 'link' || path.node.name.name === 'spacing' && ((_path$node$value2 = path.node.value) === null || _path$node$value2 === void 0 ? void 0 : _path$node$value2.type) === 'StringLiteral' && path.node.value.value === 'none';
5
+ }).remove();
6
+ j(element).find(j.JSXAttribute).filter(function (path) {
7
+ var _path$node$value3;
8
+ return path.node.name.name === 'appearance' && ((_path$node$value3 = path.node.value) === null || _path$node$value3 === void 0 ? void 0 : _path$node$value3.type) === 'StringLiteral' && path.node.value.value === 'subtle-link';
9
+ }).replaceWith(j.jsxAttribute(j.jsxIdentifier('appearance'), j.stringLiteral('subtle')));
10
+ };
11
+ export var generateLinkComponent = function generateLinkComponent(element, j) {
12
+ var attributes = element.openingElement.attributes;
13
+ if (!element.children) {
14
+ return;
15
+ }
16
+ modifyLinkAttributes(element, j);
17
+ j(element).find(j.JSXAttribute).filter(function (attribute) {
18
+ var _attribute$node$value;
19
+ var isIconAttribute = attribute.node.name.name === 'iconBefore' || attribute.node.name.name === 'iconAfter';
20
+ if (((_attribute$node$value = attribute.node.value) === null || _attribute$node$value === void 0 ? void 0 : _attribute$node$value.type) === 'JSXExpressionContainer' && isIconAttribute) {
21
+ var iconNode = attribute.node.value;
22
+ if (iconNode && iconNode.type === 'JSXExpressionContainer' && iconNode.expression.type === 'JSXElement' && element.children) {
23
+ var icon = iconNode.expression;
24
+ attribute.node.name.name === 'iconBefore' ? element.children.unshift(icon) : element.children.push(icon);
25
+ }
26
+ }
27
+ return isIconAttribute;
28
+ }).remove();
29
+ return j.jsxElement.from({
30
+ openingElement: j.jsxOpeningElement(j.jsxIdentifier('Link'), attributes, false),
31
+ closingElement: j.jsxClosingElement(j.jsxIdentifier('Link')),
32
+ children: element.children
33
+ });
34
+ };
@@ -32,7 +32,6 @@ export var getIconElement = function getIconElement(iconAttr) {
32
32
  export var handleIconAttributes = function handleIconAttributes(element, j) {
33
33
  var iconRenamed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
34
34
  var buttonAttributes = element.openingElement.attributes;
35
-
36
35
  // Get iconBefore and iconAfter attributes
37
36
  var buttonIconAttributes = buttonAttributes && getIconAttributes(buttonAttributes);
38
37
  buttonIconAttributes === null || buttonIconAttributes === void 0 || buttonIconAttributes.forEach(function (iconAttribute) {
@@ -107,6 +106,12 @@ export var generateNewElement = function generateNewElement(variant, element, j)
107
106
  var attributes = element.openingElement.attributes;
108
107
  var iconAttrs = attributes && getIconAttributes(attributes);
109
108
  var isIconOrLinkIcon = variant === NEW_BUTTON_VARIANTS.icon || variant === NEW_BUTTON_VARIANTS.linkIcon;
109
+ if (variant === NEW_BUTTON_VARIANTS.link) {
110
+ j(element).find(j.JSXAttribute).filter(function (path) {
111
+ var _path$node$value;
112
+ return path.node.name.name === 'appearance' && ((_path$node$value = path.node.value) === null || _path$node$value === void 0 ? void 0 : _path$node$value.type) === 'StringLiteral' && (path.node.value.value === 'subtle-link' || path.node.value.value === 'link');
113
+ }).replaceWith(j.jsxAttribute(j.jsxIdentifier('appearance'), j.stringLiteral('subtle')));
114
+ }
110
115
  if (isIconOrLinkIcon && iconAttrs !== null && iconAttrs !== void 0 && iconAttrs.length) {
111
116
  handleIconAttributes(element, j, true);
112
117
 
@@ -134,4 +139,16 @@ export var generateNewElement = function generateNewElement(variant, element, j)
134
139
  closingElement: isIconOrLinkIcon ? null : j.jsxClosingElement(j.jsxIdentifier(variant)),
135
140
  children: element.children
136
141
  });
142
+ };
143
+ export var modifyButtonAttributes = function modifyButtonAttributes(element, j, hasSpacingNone) {
144
+ j(element).find(j.JSXAttribute).filter(function (path) {
145
+ var _path$node$value2;
146
+ return path.node.name.name === 'appearance' && ((_path$node$value2 = path.node.value) === null || _path$node$value2 === void 0 ? void 0 : _path$node$value2.type) === 'StringLiteral' && (path.node.value.value === 'link' || path.node.value.value === 'subtle-link');
147
+ }).replaceWith(j.jsxAttribute(j.jsxIdentifier('appearance'), j.stringLiteral('subtle')));
148
+ if (hasSpacingNone) {
149
+ j(element).find(j.JSXAttribute).filter(function (path) {
150
+ var _path$node$value3;
151
+ return path.node.name.name === 'spacing' && ((_path$node$value3 = path.node.value) === null || _path$node$value3 === void 0 ? void 0 : _path$node$value3.type) === 'StringLiteral' && path.node.value.value === 'none';
152
+ }).remove();
153
+ }
137
154
  };
@@ -0,0 +1,24 @@
1
+ var moveIcon = function moveIcon(j, path, iconNode, beforeOrAfter) {
2
+ var element;
3
+ if (!iconNode) {
4
+ return;
5
+ }
6
+ if (iconNode.type === 'JSXExpressionContainer') {
7
+ // when iconBefore={(iconProps) => <AddIcon {...iconProps} />}
8
+ if (iconNode.expression.type === 'ArrowFunctionExpression' && iconNode.expression.body.type === 'JSXElement') {
9
+ // remove {...iconProps} spread attribute
10
+ element = iconNode.expression.body;
11
+ j(element).find(j.JSXSpreadAttribute).remove();
12
+ j(element).find(j.JSXAttribute).insertBefore(j.jsxAttribute(j.jsxIdentifier('label'), j.stringLiteral('')));
13
+ }
14
+
15
+ // when iconBefore={AddIcon}
16
+ if (iconNode.expression.type === 'Identifier') {
17
+ element = j.jsxElement(j.jsxOpeningElement(j.jsxIdentifier(iconNode.expression.name), [j.jsxAttribute(j.jsxIdentifier('label'), j.stringLiteral(''))], true));
18
+ }
19
+ if (element && path.node.children) {
20
+ beforeOrAfter === 'iconBefore' ? path.node.children.unshift(element) : path.node.children.push(element);
21
+ }
22
+ }
23
+ };
24
+ export default moveIcon;
@@ -0,0 +1,3 @@
1
+ import { type API, type FileInfo } from 'jscodeshift';
2
+ declare function transformer(file: FileInfo, api: API): string;
3
+ export default transformer;
@@ -1,2 +1,3 @@
1
1
  import { type API, type FileInfo } from 'jscodeshift';
2
- export default function (file: FileInfo, api: API): string;
2
+ declare function transformer(file: FileInfo, api: API): string;
3
+ export default transformer;
@@ -1,12 +1,16 @@
1
1
  export declare const PRINT_SETTINGS: {
2
2
  quote: "single";
3
3
  };
4
- /** NEW button **/
4
+ /**
5
+ * NEW button *
6
+ */
5
7
  export declare const NEW_BUTTON_ENTRY_POINT = "@atlaskit/button/new";
6
8
  export declare const NEW_BUTTON_VARIANTS: {
7
9
  [key: string]: string;
8
10
  };
9
- /** OLD button **/
11
+ /**
12
+ * OLD button *
13
+ */
10
14
  export declare const OLD_BUTTON_ENTRY_POINT = "@atlaskit/button";
11
15
  export declare const OLD_BUTTON_VARIANTS: {
12
16
  [key: string]: string;
@@ -17,7 +21,8 @@ export declare const entryPointsMapping: {
17
21
  export declare const BUTTON_TYPES: string[];
18
22
  export declare const UNSAFE_SIZE_PROPS_MAP: Record<string, string>;
19
23
  export declare const unsupportedProps: string[];
20
- export declare const linkButtonMissingHrefComment = "\"link\" and \"subtle-link\" appearances are only available in LinkButton, please either provide a href prop then migrate to LinkButton, or remove the appearance from the default button.";
24
+ export declare const linkButtonMissingHrefComment = "\"link\" and \"subtle-link\" appearances are not available in the new Button, appearance should be \"subtle\" or \"default\".";
25
+ export declare const noSpacinglinkButtonMissingHrefComment = "\"link\" and \"subtle-link\" appearances are not available in the new Button, appearance should be \"subtle\" or \"default\", or provide a href prop then migrate to Link.";
21
26
  export declare const buttonPropsNoLongerSupportedComment = "Buttons with \"component\", \"css\" or \"style\" prop can't be automatically migrated with codemods. Please migrate it manually.";
22
27
  export declare const migrateFitContainerButtonToDefaultButtonComment = "Migrated to a default button with text which is from the icon label.";
23
28
  export declare const migrateFitContainerButtonToIconButtonComment = "\"shouldFitContainer\" is not available in icon buttons, please consider using a default button with text.";
@@ -27,3 +32,5 @@ export declare const loadingButtonComment: ({ hasLinkAppearance, hasHref, }: {
27
32
  hasLinkAppearance: boolean;
28
33
  hasHref: boolean;
29
34
  }) => string;
35
+ export declare const migrateButtonToSubtleLinkButton = "\"link\" and \"subtle-link\" appearances are not available in the new Button. Appearance should be migrated to \"subtle\" or \"default\" for Link Button, or use Link with \"default\" appearance.";
36
+ export declare const migrateSubtleButtonToSubtleLinkButton = "\"link\" and \"subtle-link\" appearances are not available in the new Button. Appearance should be migrated to \"subtle\" or \"default\" for Link Button, or use Link with \"subtle\" appearance.";
@@ -0,0 +1,2 @@
1
+ import { type JSXOpeningElement, type JSXSpreadAttribute } from 'jscodeshift';
2
+ export declare const findJSXAttributeWithValue: (path: JSXOpeningElement | JSXSpreadAttribute | undefined, attributeName: string, attributeValue: string) => boolean;
@@ -0,0 +1,3 @@
1
+ import { type API, type JSXElement } from 'jscodeshift';
2
+ export declare const modifyLinkAttributes: (element: JSXElement, j: API['jscodeshift']) => void;
3
+ export declare const generateLinkComponent: (element: JSXElement, j: API['jscodeshift']) => JSXElement | undefined;
@@ -1,4 +1,4 @@
1
- import { type API, type JSXElement, type JSXAttribute, type JSXSpreadAttribute } from 'jscodeshift';
1
+ import { type API, type JSXAttribute, type JSXElement, type JSXSpreadAttribute } from 'jscodeshift';
2
2
  import { NEW_BUTTON_VARIANTS } from '../utils/constants';
3
3
  export declare const getIconAttributes: (attributes: (JSXAttribute | JSXSpreadAttribute)[]) => JSXAttribute[] | null;
4
4
  export declare const getIconElement: (iconAttr: JSXAttribute) => JSXElement | null;
@@ -17,3 +17,4 @@ export declare const getIconElement: (iconAttr: JSXAttribute) => JSXElement | nu
17
17
  */
18
18
  export declare const handleIconAttributes: (element: JSXElement, j: API['jscodeshift'], iconRenamed?: boolean) => void;
19
19
  export declare const generateNewElement: (variant: (typeof NEW_BUTTON_VARIANTS)[keyof typeof NEW_BUTTON_VARIANTS], element: JSXElement, j: API['jscodeshift']) => JSXElement;
20
+ export declare const modifyButtonAttributes: (element: JSXElement, j: API['jscodeshift'], hasSpacingNone: boolean) => void;
@@ -0,0 +1,3 @@
1
+ import { type JSXElement, type API, type JSXExpressionContainer, type ASTPath } from 'jscodeshift';
2
+ declare const moveIcon: (j: API['jscodeshift'], path: ASTPath<JSXElement>, iconNode: JSXExpressionContainer | undefined | null, beforeOrAfter: 'iconBefore' | 'iconAfter') => void;
3
+ export default moveIcon;
@@ -0,0 +1,3 @@
1
+ import { type API, type FileInfo } from 'jscodeshift';
2
+ declare function transformer(file: FileInfo, api: API): string;
3
+ export default transformer;
@@ -1,2 +1,3 @@
1
1
  import { type API, type FileInfo } from 'jscodeshift';
2
- export default function (file: FileInfo, api: API): string;
2
+ declare function transformer(file: FileInfo, api: API): string;
3
+ export default transformer;
@@ -1,12 +1,16 @@
1
1
  export declare const PRINT_SETTINGS: {
2
2
  quote: "single";
3
3
  };
4
- /** NEW button **/
4
+ /**
5
+ * NEW button *
6
+ */
5
7
  export declare const NEW_BUTTON_ENTRY_POINT = "@atlaskit/button/new";
6
8
  export declare const NEW_BUTTON_VARIANTS: {
7
9
  [key: string]: string;
8
10
  };
9
- /** OLD button **/
11
+ /**
12
+ * OLD button *
13
+ */
10
14
  export declare const OLD_BUTTON_ENTRY_POINT = "@atlaskit/button";
11
15
  export declare const OLD_BUTTON_VARIANTS: {
12
16
  [key: string]: string;
@@ -17,7 +21,8 @@ export declare const entryPointsMapping: {
17
21
  export declare const BUTTON_TYPES: string[];
18
22
  export declare const UNSAFE_SIZE_PROPS_MAP: Record<string, string>;
19
23
  export declare const unsupportedProps: string[];
20
- export declare const linkButtonMissingHrefComment = "\"link\" and \"subtle-link\" appearances are only available in LinkButton, please either provide a href prop then migrate to LinkButton, or remove the appearance from the default button.";
24
+ export declare const linkButtonMissingHrefComment = "\"link\" and \"subtle-link\" appearances are not available in the new Button, appearance should be \"subtle\" or \"default\".";
25
+ export declare const noSpacinglinkButtonMissingHrefComment = "\"link\" and \"subtle-link\" appearances are not available in the new Button, appearance should be \"subtle\" or \"default\", or provide a href prop then migrate to Link.";
21
26
  export declare const buttonPropsNoLongerSupportedComment = "Buttons with \"component\", \"css\" or \"style\" prop can't be automatically migrated with codemods. Please migrate it manually.";
22
27
  export declare const migrateFitContainerButtonToDefaultButtonComment = "Migrated to a default button with text which is from the icon label.";
23
28
  export declare const migrateFitContainerButtonToIconButtonComment = "\"shouldFitContainer\" is not available in icon buttons, please consider using a default button with text.";
@@ -27,3 +32,5 @@ export declare const loadingButtonComment: ({ hasLinkAppearance, hasHref, }: {
27
32
  hasLinkAppearance: boolean;
28
33
  hasHref: boolean;
29
34
  }) => string;
35
+ export declare const migrateButtonToSubtleLinkButton = "\"link\" and \"subtle-link\" appearances are not available in the new Button. Appearance should be migrated to \"subtle\" or \"default\" for Link Button, or use Link with \"default\" appearance.";
36
+ export declare const migrateSubtleButtonToSubtleLinkButton = "\"link\" and \"subtle-link\" appearances are not available in the new Button. Appearance should be migrated to \"subtle\" or \"default\" for Link Button, or use Link with \"subtle\" appearance.";
@@ -0,0 +1,2 @@
1
+ import { type JSXOpeningElement, type JSXSpreadAttribute } from 'jscodeshift';
2
+ export declare const findJSXAttributeWithValue: (path: JSXOpeningElement | JSXSpreadAttribute | undefined, attributeName: string, attributeValue: string) => boolean;
@@ -0,0 +1,3 @@
1
+ import { type API, type JSXElement } from 'jscodeshift';
2
+ export declare const modifyLinkAttributes: (element: JSXElement, j: API['jscodeshift']) => void;
3
+ export declare const generateLinkComponent: (element: JSXElement, j: API['jscodeshift']) => JSXElement | undefined;
@@ -1,4 +1,4 @@
1
- import { type API, type JSXElement, type JSXAttribute, type JSXSpreadAttribute } from 'jscodeshift';
1
+ import { type API, type JSXAttribute, type JSXElement, type JSXSpreadAttribute } from 'jscodeshift';
2
2
  import { NEW_BUTTON_VARIANTS } from '../utils/constants';
3
3
  export declare const getIconAttributes: (attributes: (JSXAttribute | JSXSpreadAttribute)[]) => JSXAttribute[] | null;
4
4
  export declare const getIconElement: (iconAttr: JSXAttribute) => JSXElement | null;
@@ -17,3 +17,4 @@ export declare const getIconElement: (iconAttr: JSXAttribute) => JSXElement | nu
17
17
  */
18
18
  export declare const handleIconAttributes: (element: JSXElement, j: API['jscodeshift'], iconRenamed?: boolean) => void;
19
19
  export declare const generateNewElement: (variant: (typeof NEW_BUTTON_VARIANTS)[keyof typeof NEW_BUTTON_VARIANTS], element: JSXElement, j: API['jscodeshift']) => JSXElement;
20
+ export declare const modifyButtonAttributes: (element: JSXElement, j: API['jscodeshift'], hasSpacingNone: boolean) => void;
@@ -0,0 +1,3 @@
1
+ import { type JSXElement, type API, type JSXExpressionContainer, type ASTPath } from 'jscodeshift';
2
+ declare const moveIcon: (j: API['jscodeshift'], path: ASTPath<JSXElement>, iconNode: JSXExpressionContainer | undefined | null, beforeOrAfter: 'iconBefore' | 'iconAfter') => void;
3
+ export default moveIcon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/codemod-cli",
3
- "version": "0.25.0",
3
+ "version": "0.25.2",
4
4
  "description": "A cli for distributing codemods for atlassian-frontend components and services",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -40,7 +40,7 @@
40
40
  "bin": "./bin/codemod-cli.js",
41
41
  "dependencies": {
42
42
  "@atlaskit/codemod-utils": "^4.2.0",
43
- "@atlaskit/tokens": "^1.51.0",
43
+ "@atlaskit/tokens": "^1.56.0",
44
44
  "@babel/runtime": "^7.0.0",
45
45
  "@codeshift/utils": "^0.2.4",
46
46
  "@hypermod/utils": "^0.4.2",