@atlaskit/codemod-cli 0.13.3 → 0.14.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 (61) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +117 -3
  3. package/dist/cjs/cli.js +70 -75
  4. package/dist/cjs/filepath.js +65 -29
  5. package/dist/cjs/index.js +3 -3
  6. package/dist/cjs/main.js +329 -167
  7. package/dist/cjs/presets/css-to-design-tokens/css-to-design-tokens.js +86 -34
  8. package/dist/cjs/presets/css-to-design-tokens/utils/legacy-colors.js +3 -3
  9. package/dist/cjs/presets/css-to-design-tokens/utils/meta.js +19 -6
  10. package/dist/cjs/presets/index.js +3 -1
  11. package/dist/cjs/presets/styled-to-emotion/styled-to-emotion.js +19 -12
  12. package/dist/cjs/presets/theme-remove-deprecated-mixins/theme-remove-deprecated-mixins.js +51 -36
  13. package/dist/cjs/presets/theme-remove-deprecated-mixins/utils/replacements.js +25 -25
  14. package/dist/cjs/presets/theme-to-design-tokens/theme-to-design-tokens.js +378 -114
  15. package/dist/cjs/presets/theme-to-design-tokens/utils/ast-meta.js +33 -18
  16. package/dist/cjs/presets/theme-to-design-tokens/utils/ast.js +1 -1
  17. package/dist/cjs/presets/theme-to-design-tokens/utils/color.js +25 -17
  18. package/dist/cjs/presets/theme-to-design-tokens/utils/css-utils.js +38 -0
  19. package/dist/cjs/presets/theme-to-design-tokens/utils/fuzzy-search.js +10 -6
  20. package/dist/cjs/presets/theme-to-design-tokens/utils/legacy-colors.js +3 -3
  21. package/dist/cjs/presets/theme-to-design-tokens/utils/named-colors.js +1 -1
  22. package/dist/cjs/presets/theme-to-design-tokens/utils/string-utils.js +26 -0
  23. package/dist/cjs/presets/theme-to-design-tokens/utils/tokens.js +16 -2
  24. package/dist/cjs/sinceRef.js +69 -35
  25. package/dist/cjs/transforms.js +44 -26
  26. package/dist/cjs/types.js +27 -3
  27. package/dist/cjs/utils.js +6 -6
  28. package/dist/es2019/cli.js +4 -0
  29. package/dist/es2019/main.js +2 -0
  30. package/dist/es2019/presets/css-to-design-tokens/css-to-design-tokens.js +19 -8
  31. package/dist/es2019/presets/theme-to-design-tokens/theme-to-design-tokens.js +191 -32
  32. package/dist/es2019/presets/theme-to-design-tokens/utils/ast.js +1 -1
  33. package/dist/es2019/presets/theme-to-design-tokens/utils/color.js +12 -10
  34. package/dist/es2019/presets/theme-to-design-tokens/utils/css-utils.js +31 -0
  35. package/dist/es2019/presets/theme-to-design-tokens/utils/string-utils.js +13 -0
  36. package/dist/es2019/sinceRef.js +1 -0
  37. package/dist/esm/cli.js +4 -0
  38. package/dist/esm/main.js +3 -1
  39. package/dist/esm/presets/css-to-design-tokens/css-to-design-tokens.js +23 -12
  40. package/dist/esm/presets/theme-to-design-tokens/theme-to-design-tokens.js +346 -100
  41. package/dist/esm/presets/theme-to-design-tokens/utils/ast.js +1 -1
  42. package/dist/esm/presets/theme-to-design-tokens/utils/color.js +12 -10
  43. package/dist/esm/presets/theme-to-design-tokens/utils/css-utils.js +31 -0
  44. package/dist/esm/presets/theme-to-design-tokens/utils/string-utils.js +17 -0
  45. package/dist/esm/sinceRef.js +1 -0
  46. package/dist/types/presets/css-to-design-tokens/css-to-design-tokens.d.ts +2 -1
  47. package/dist/types/presets/theme-to-design-tokens/theme-to-design-tokens.d.ts +1 -1
  48. package/dist/types/presets/theme-to-design-tokens/utils/ast.d.ts +1 -1
  49. package/dist/types/presets/theme-to-design-tokens/utils/color.d.ts +2 -1
  50. package/dist/types/presets/theme-to-design-tokens/utils/css-utils.d.ts +2 -0
  51. package/dist/types/presets/theme-to-design-tokens/utils/string-utils.d.ts +3 -0
  52. package/dist/types-ts4.5/presets/css-to-design-tokens/css-to-design-tokens.d.ts +2 -1
  53. package/dist/types-ts4.5/presets/theme-to-design-tokens/theme-to-design-tokens.d.ts +1 -1
  54. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/ast.d.ts +1 -1
  55. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/color.d.ts +2 -1
  56. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/css-utils.d.ts +2 -0
  57. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/string-utils.d.ts +6 -0
  58. package/package.json +2 -2
  59. package/dist/cjs/version.json +0 -4
  60. package/dist/es2019/version.json +0 -4
  61. package/dist/esm/version.json +0 -4
@@ -1,17 +1,20 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.cleanMeta = cleanMeta;
7
8
  exports.getMetaFromAncestors = getMetaFromAncestors;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
10
  var _ast = require("./ast");
9
11
  var _tokens = require("./tokens");
10
- function getMetaFromAncestors(j, path, meta = []) {
11
- const parent = path.parentPath;
12
- const grandParent = parent && parent.parentPath;
12
+ function getMetaFromAncestors(j, path) {
13
+ var meta = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
14
+ var parent = path.parentPath;
15
+ var grandParent = parent && parent.parentPath;
13
16
  if (parent && parent.value.type === 'ObjectProperty') {
14
- let value = '';
17
+ var value = '';
15
18
  if (parent.value.key.type === 'Literal' || parent.value.key.type === 'StringLiteral' || parent.value.key.type === 'NumericLiteral') {
16
19
  value = parent.value.key.value.toString();
17
20
  } else {
@@ -20,13 +23,19 @@ function getMetaFromAncestors(j, path, meta = []) {
20
23
  meta.push(value);
21
24
  }
22
25
  if (parent && grandParent && grandParent.value.type === 'TemplateLiteral') {
23
- const expressionIndex = grandParent.value.expressions.findIndex(exp => exp.name === path.value.name);
24
- const quasi = grandParent.value.quasis[expressionIndex];
25
- const propertyName = (quasi.value.cooked || quasi.value.raw || '').replace(/\n/g, '').split(/;|{|}/).filter(el => !el.match(/\.|\@|\(|\)/)).pop().split(/:/g)[0].trim();
26
- grandParent.value.quasis.slice(0, expressionIndex + 1).map(q => q.value.cooked)
26
+ var expressionIndex = grandParent.value.expressions.findIndex(function (exp) {
27
+ return exp.name === path.value.name;
28
+ });
29
+ var quasi = grandParent.value.quasis[expressionIndex];
30
+ var propertyName = (quasi.value.cooked || quasi.value.raw || '').replace(/\n/g, '').split(/;|{|}/).filter(function (el) {
31
+ return !el.match(/\.|\@|\(|\)/);
32
+ }).pop().split(/:/g)[0].trim();
33
+ grandParent.value.quasis.slice(0, expressionIndex + 1).map(function (q) {
34
+ return q.value.cooked;
35
+ })
27
36
  // We reverse so the most nested one is first which we're more likely than not interested in
28
- .reverse().some(str => {
29
- const result = /(hover|active|disabled|focus)/.exec(str.toLowerCase());
37
+ .reverse().some(function (str) {
38
+ var result = /(hover|active|disabled|focus)/.exec(str.toLowerCase());
30
39
  if (result) {
31
40
  meta.push(result[0]);
32
41
  return true;
@@ -39,11 +48,11 @@ function getMetaFromAncestors(j, path, meta = []) {
39
48
  meta.push(parent.value.name.name);
40
49
  }
41
50
  }
42
- const closestJSXElement = (0, _ast.getClosestDecendantOfType)(j, path, j.JSXOpeningElement);
51
+ var closestJSXElement = (0, _ast.getClosestDecendantOfType)(j, path, j.JSXOpeningElement);
43
52
  if (closestJSXElement) {
44
- const jsxElementName = closestJSXElement.value.name.name;
45
- const nameComponents = jsxElementName.replace(/([a-z])([A-Z])/g, '$1 $2').split(' ');
46
- meta.push(...nameComponents);
53
+ var jsxElementName = closestJSXElement.value.name.name;
54
+ var nameComponents = jsxElementName.replace(/([a-z])([A-Z])/g, '$1 $2').split(' ');
55
+ meta.push.apply(meta, (0, _toConsumableArray2.default)(nameComponents));
47
56
  }
48
57
  if (parent && parent.value.type === 'VariableDeclarator') {
49
58
  meta.push(parent.value.id.name);
@@ -54,11 +63,17 @@ function getMetaFromAncestors(j, path, meta = []) {
54
63
  return meta;
55
64
  }
56
65
  function cleanMeta(meta) {
57
- return meta.reduce((accum, val) => [...accum, ...(typeof val === 'string' ? val.split(/(?=[A-Z])/g).map(e => e.toLowerCase()) : [])], []).reduce((accum, val) => {
58
- const cleanVal = val.replace(/:/g, '').replace(/,/g, '').replace('grey', 'neutral').replace('skeleton', 'neutral').replace('texts', 'text').replace('red', 'danger').replace('error', 'danger').replace('invalid', 'danger').replace('removed', 'danger').replace('removal', 'danger').replace('remove', 'danger').replace('focus', 'focused').replace('valid', 'success').replace('successful', 'success').replace('risk', 'warning').replace('caution', 'warning').replace('primary', 'bold').replace('secondary', 'subtle').replace('hyperlink', 'link').replace('anchor', 'link').replace('active', 'pressed').replace('hover', 'hovered').replace('card', 'raised').replace('dragged', 'surface overlay').replace('dragging', 'surface overlay').replace('drag', 'surface overlay').replace('background-color', 'background').replace('color', 'text').replace('icons', 'icon').replace('glyph', 'icon').replace('stroke', 'border').replace('border-left', 'border').replace('border-right', 'border').replace('border-top', 'border').replace('border-bottom', 'border').replace('box-shadow', 'shadow');
59
- accum.push(...cleanVal.split(' '));
66
+ return meta.reduce(function (accum, val) {
67
+ return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(typeof val === 'string' ? val.split(/(?=[A-Z])/g).map(function (e) {
68
+ return e.toLowerCase();
69
+ }) : []));
70
+ }, []).reduce(function (accum, val) {
71
+ var cleanVal = val.replace(/:/g, '').replace(/,/g, '').replace('grey', 'neutral').replace('skeleton', 'neutral').replace('texts', 'text').replace('red', 'danger').replace('error', 'danger').replace('invalid', 'danger').replace('removed', 'danger').replace('removal', 'danger').replace('remove', 'danger').replace('focus', 'focused').replace('valid', 'success').replace('successful', 'success').replace('risk', 'warning').replace('caution', 'warning').replace('primary', 'bold').replace('secondary', 'subtle').replace('hyperlink', 'link').replace('anchor', 'link').replace('active', 'pressed').replace('hover', 'hovered').replace('card', 'raised').replace('dragged', 'surface overlay').replace('dragging', 'surface overlay').replace('drag', 'surface overlay').replace('background-color', 'background').replace('color', 'text').replace('icons', 'icon').replace('glyph', 'icon').replace('stroke', 'border').replace('border-left', 'border').replace('border-right', 'border').replace('border-top', 'border').replace('border-bottom', 'border').replace('box-shadow', 'shadow');
72
+ accum.push.apply(accum, (0, _toConsumableArray2.default)(cleanVal.split(' ')));
60
73
  return accum;
61
- }, []).filter(val => _tokens.getUniqueWordsFromTokens.includes(val)).reduce((accum, val) => {
74
+ }, []).filter(function (val) {
75
+ return _tokens.getUniqueWordsFromTokens.includes(val);
76
+ }).reduce(function (accum, val) {
62
77
  if (!accum.includes(val)) {
63
78
  accum.push(val);
64
79
  }
@@ -8,7 +8,7 @@ exports.isDecendantOfToken = isDecendantOfToken;
8
8
  exports.isParentOfToken = isParentOfToken;
9
9
  var _utils = require("@codeshift/utils");
10
10
  function isDecendantOfToken(j, path) {
11
- if (path.type === 'CallExpression' && path.callee.type === 'Identifier' && path.callee.name === 'token') {
11
+ if ('type' in path && path.type === 'CallExpression' && path.callee.type === 'Identifier' && path.callee.name === 'token') {
12
12
  return true;
13
13
  }
14
14
  return j(path).closest(j.CallExpression, {
@@ -3,38 +3,46 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isLegacyNamedColor = exports.isLegacyColor = exports.isHardCodedColor = exports.includesHardCodedColor = void 0;
6
+ exports.includesHardCodedColor = void 0;
7
+ exports.isBoldColor = isBoldColor;
8
+ exports.isLegacyNamedColor = exports.isLegacyColor = exports.isHardCodedColor = void 0;
7
9
  var _legacyColors = require("./legacy-colors");
8
10
  var _namedColors = require("./named-colors");
9
- const isLegacyColor = value => _legacyColors.legacyColors.includes(value);
11
+ var isLegacyColor = function isLegacyColor(value) {
12
+ return _legacyColors.legacyColors.includes(value);
13
+ };
10
14
  exports.isLegacyColor = isLegacyColor;
11
- const isLegacyNamedColor = value => _legacyColors.legacyColorMixins.includes(value);
15
+ var isLegacyNamedColor = function isLegacyNamedColor(value) {
16
+ return _legacyColors.legacyColorMixins.includes(value);
17
+ };
12
18
  exports.isLegacyNamedColor = isLegacyNamedColor;
13
- const includesHardCodedColor = raw => {
14
- const value = raw.toLowerCase();
15
- if (/#(?:[a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})\b|(?:rgb|hsl)a?\([^\)]*\)/.exec(value.toLowerCase())) {
19
+ var colorRegexp = /#(?:[a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})\b|(?:rgb|rgba|hsl|hsla|lch|lab|color)\([^\)]*\)/;
20
+ var includesHardCodedColor = function includesHardCodedColor(raw) {
21
+ var value = raw.toLowerCase();
22
+ if (colorRegexp.exec(value)) {
16
23
  return true;
17
24
  }
18
- for (let i = 0; i < _namedColors.namedColors.length; i++) {
19
- if (value.includes(`${_namedColors.namedColors[i]};`)) {
25
+ for (var i = 0; i < _namedColors.namedColors.length; i++) {
26
+ if (value.includes("".concat(_namedColors.namedColors[i], ";"))) {
20
27
  return true;
21
28
  }
22
29
  }
23
30
  return false;
24
31
  };
25
32
  exports.includesHardCodedColor = includesHardCodedColor;
26
- const isHardCodedColor = value => {
27
- if (_namedColors.namedColors.includes(value.toLowerCase())) {
28
- return true;
29
- }
30
- if (value.startsWith('rgb(') || value.startsWith('rgba(') || value.startsWith('hsl(') || value.startsWith('hsla(') || value.startsWith('lch(') || value.startsWith('lab(') || value.startsWith('color(')) {
33
+ var isHardCodedColor = function isHardCodedColor(raw) {
34
+ var value = raw.toLowerCase();
35
+ if (_namedColors.namedColors.includes(value)) {
31
36
  return true;
32
37
  }
33
- if (value.startsWith('#') && (
34
- // short hex, hex, or hex with alpha
35
- value.length === 4 || value.length === 7 || value.length === 9)) {
38
+ var match = value.toLowerCase().match(colorRegexp);
39
+ if (match && match[0] === value) {
36
40
  return true;
37
41
  }
38
42
  return false;
39
43
  };
40
- exports.isHardCodedColor = isHardCodedColor;
44
+ exports.isHardCodedColor = isHardCodedColor;
45
+ function isBoldColor(color) {
46
+ var number = parseInt(color.replace(/^./, ''), 10);
47
+ return number > 300;
48
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.containsReplaceableCSSDeclarations = containsReplaceableCSSDeclarations;
7
+ exports.findEndIndexOfCSSExpression = findEndIndexOfCSSExpression;
8
+ var _cssToDesignTokens = require("../../css-to-design-tokens/css-to-design-tokens");
9
+ function containsReplaceableCSSDeclarations(input) {
10
+ var cssPattern = /(\S+)\s*:/g;
11
+ var match;
12
+ while ((match = cssPattern.exec(input)) !== null) {
13
+ if ((0, _cssToDesignTokens.isColorProperty)(match[1])) {
14
+ return true;
15
+ }
16
+ }
17
+ return false;
18
+ }
19
+ function findEndIndexOfCSSExpression(text, isAtEndOfInput) {
20
+ // CSS expression can end *on* a semicolon or *before* a brace. In either
21
+ // case we treat the remaining part of the value to cover one character
22
+ // before that symbol.
23
+ var semicolonIndex = text.indexOf(';');
24
+ var braceIndex = text.indexOf('}');
25
+ if (semicolonIndex === -1 && braceIndex === -1) {
26
+ if (isAtEndOfInput) {
27
+ return text.length;
28
+ } else {
29
+ return null;
30
+ }
31
+ } else if (semicolonIndex === -1) {
32
+ return braceIndex - 1;
33
+ } else if (braceIndex === -1) {
34
+ return semicolonIndex - 1;
35
+ } else {
36
+ return Math.min(semicolonIndex, braceIndex) - 1;
37
+ }
38
+ }
@@ -9,7 +9,11 @@ exports.default = void 0;
9
9
  /**
10
10
  * Fuzzy search ripped from the internet.
11
11
  */
12
- const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSizeUpper = 3) {
12
+ var FuzzySet = function FuzzySet() {
13
+ var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
14
+ var useLevenshtein = arguments.length > 1 ? arguments[1] : undefined;
15
+ var gramSizeLower = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
16
+ var gramSizeUpper = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 3;
13
17
  var fuzzyset = {
14
18
  gramSizeLower: gramSizeLower,
15
19
  gramSizeUpper: gramSizeUpper,
@@ -18,7 +22,7 @@ const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSize
18
22
  matchDict: {},
19
23
  items: {}
20
24
  };
21
- var levenshtein = function (str1, str2) {
25
+ var levenshtein = function levenshtein(str1, str2) {
22
26
  var current = [];
23
27
  var prev;
24
28
  var value;
@@ -43,7 +47,7 @@ const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSize
43
47
  };
44
48
 
45
49
  // return an edit distance from 0 to 1
46
- var _distance = function (str1, str2) {
50
+ var _distance = function _distance(str1, str2) {
47
51
  if (str1 === null && str2 === null) {
48
52
  throw new Error('Trying to compare two null values');
49
53
  }
@@ -60,7 +64,7 @@ const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSize
60
64
  }
61
65
  };
62
66
  var _nonWordRe = /[^a-zA-Z0-9\u00C0-\u00FF, ]+/g;
63
- var _iterateGrams = function (value, gramSize) {
67
+ var _iterateGrams = function _iterateGrams(value, gramSize) {
64
68
  gramSize = gramSize || 2;
65
69
  var simplified = '-' + value.toLowerCase().replace(_nonWordRe, '') + '-',
66
70
  lenDiff = gramSize - simplified.length,
@@ -75,7 +79,7 @@ const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSize
75
79
  }
76
80
  return results;
77
81
  };
78
- var _gramCounter = function (value, gramSize) {
82
+ var _gramCounter = function _gramCounter(value, gramSize) {
79
83
  // return an object where key=gram, value=number of occurrences
80
84
  gramSize = gramSize || 2;
81
85
  var result = {},
@@ -165,7 +169,7 @@ const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSize
165
169
  matchScore = matches[matchIndex];
166
170
  results.push([matchScore / (vectorNormal * items[matchIndex][0]), items[matchIndex][1]]);
167
171
  }
168
- var sortDescending = function (a, b) {
172
+ var sortDescending = function sortDescending(a, b) {
169
173
  if (a[0] < b[0]) {
170
174
  return 1;
171
175
  } else if (a[0] > b[0]) {
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.legacyColors = exports.legacyColorMixins = exports.legacyColorMetaMap = void 0;
7
- const legacyColors = ['R50', 'R75', 'R100', 'R200', 'R300', 'R400', 'R500', 'Y50', 'Y75', 'Y100', 'Y200', 'Y300', 'Y400', 'Y500', 'G50', 'G75', 'G100', 'G200', 'G300', 'G400', 'G500', 'B50', 'B75', 'B100', 'B200', 'B300', 'B400', 'B500', 'P50', 'P75', 'P100', 'P200', 'P300', 'P400', 'P500', 'T50', 'T75', 'T100', 'T200', 'T300', 'T400', 'T500', 'N0', 'N10', 'N20', 'N30', 'N40', 'N50', 'N60', 'N70', 'N80', 'N90', 'N100', 'N200', 'N300', 'N400', 'N500', 'N600', 'N700', 'N800', 'N900', 'N10A', 'N20A', 'N30A', 'N40A', 'N50A', 'N60A', 'N70A', 'N80A', 'N90A', 'N100A', 'N200A', 'N300A', 'N400A', 'N500A', 'N600A', 'N700A', 'N800A', 'DN900', 'DN800', 'DN700', 'DN600', 'DN500', 'DN400', 'DN300', 'DN200', 'DN100', 'DN90', 'DN80', 'DN70', 'DN60', 'DN50', 'DN40', 'DN30', 'DN20', 'DN10', 'DN0', 'DN800A', 'DN700A', 'DN600A', 'DN500A', 'DN400A', 'DN300A', 'DN200A', 'DN100A', 'DN90A', 'DN80A', 'DN70A', 'DN60A', 'DN50A', 'DN40A', 'DN30A', 'DN20A', 'DN10A'];
7
+ var legacyColors = ['R50', 'R75', 'R100', 'R200', 'R300', 'R400', 'R500', 'Y50', 'Y75', 'Y100', 'Y200', 'Y300', 'Y400', 'Y500', 'G50', 'G75', 'G100', 'G200', 'G300', 'G400', 'G500', 'B50', 'B75', 'B100', 'B200', 'B300', 'B400', 'B500', 'P50', 'P75', 'P100', 'P200', 'P300', 'P400', 'P500', 'T50', 'T75', 'T100', 'T200', 'T300', 'T400', 'T500', 'N0', 'N10', 'N20', 'N30', 'N40', 'N50', 'N60', 'N70', 'N80', 'N90', 'N100', 'N200', 'N300', 'N400', 'N500', 'N600', 'N700', 'N800', 'N900', 'N10A', 'N20A', 'N30A', 'N40A', 'N50A', 'N60A', 'N70A', 'N80A', 'N90A', 'N100A', 'N200A', 'N300A', 'N400A', 'N500A', 'N600A', 'N700A', 'N800A', 'DN900', 'DN800', 'DN700', 'DN600', 'DN500', 'DN400', 'DN300', 'DN200', 'DN100', 'DN90', 'DN80', 'DN70', 'DN60', 'DN50', 'DN40', 'DN30', 'DN20', 'DN10', 'DN0', 'DN800A', 'DN700A', 'DN600A', 'DN500A', 'DN400A', 'DN300A', 'DN200A', 'DN100A', 'DN90A', 'DN80A', 'DN70A', 'DN60A', 'DN50A', 'DN40A', 'DN30A', 'DN20A', 'DN10A'];
8
8
  exports.legacyColors = legacyColors;
9
- const legacyColorMixins = ['background', 'backgroundActive', 'backgroundHover', 'backgroundOnLayer', 'text', 'textHover', 'textActive', 'subtleText', 'placeholderText', 'heading', 'subtleHeading', 'codeBlock', 'link', 'linkHover', 'linkActive', 'linkOutline', 'primary', 'blue', 'teal', 'purple', 'red', 'yellow', 'green', 'skeleton'];
9
+ var legacyColorMixins = ['background', 'backgroundActive', 'backgroundHover', 'backgroundOnLayer', 'text', 'textHover', 'textActive', 'subtleText', 'placeholderText', 'heading', 'subtleHeading', 'codeBlock', 'link', 'linkHover', 'linkActive', 'linkOutline', 'primary', 'blue', 'teal', 'purple', 'red', 'yellow', 'green', 'skeleton'];
10
10
  exports.legacyColorMixins = legacyColorMixins;
11
- const legacyColorMetaMap = {
11
+ var legacyColorMetaMap = {
12
12
  R50: ['danger'],
13
13
  R75: ['danger'],
14
14
  R100: ['danger'],
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.namedColors = void 0;
7
- const namedColors = ['black', 'silver', 'gray', 'white', 'maroon', 'red', 'purple', 'fuchsia', 'green', 'lime', 'olive', 'yellow', 'navy', 'blue', 'teal', 'aqua', 'orange', 'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'blanchedalmond', 'blueviolet', 'brown', 'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan', 'darkgoldenrod', 'darkgray', 'darkgreen', 'darkgrey', 'darkkhaki', 'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred', 'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray', 'darkslategrey', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue', 'dimgray', 'dimgrey', 'dodgerblue', 'firebrick', 'floralwhite', 'forestgreen', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod', 'greenyellow', 'grey', 'honeydew', 'hotpink', 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan', 'lightgoldenrodyellow', 'lightgray', 'lightgreen', 'lightgrey', 'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue', 'lightslategray', 'lightslategrey', 'lightsteelblue', 'lightyellow', 'limegreen', 'linen', 'magenta', 'mediumaquamarine', 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen', 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'oldlace', 'olivedrab', 'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'slategrey', 'snow', 'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet', 'wheat', 'whitesmoke', 'yellowgreen', 'rebeccapurple'];
7
+ var namedColors = ['black', 'silver', 'gray', 'white', 'maroon', 'red', 'purple', 'fuchsia', 'green', 'lime', 'olive', 'yellow', 'navy', 'blue', 'teal', 'aqua', 'orange', 'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'blanchedalmond', 'blueviolet', 'brown', 'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan', 'darkgoldenrod', 'darkgray', 'darkgreen', 'darkgrey', 'darkkhaki', 'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred', 'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray', 'darkslategrey', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue', 'dimgray', 'dimgrey', 'dodgerblue', 'firebrick', 'floralwhite', 'forestgreen', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod', 'greenyellow', 'grey', 'honeydew', 'hotpink', 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan', 'lightgoldenrodyellow', 'lightgray', 'lightgreen', 'lightgrey', 'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue', 'lightslategray', 'lightslategrey', 'lightsteelblue', 'lightyellow', 'limegreen', 'linen', 'magenta', 'mediumaquamarine', 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen', 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'oldlace', 'olivedrab', 'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'slategrey', 'snow', 'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet', 'wheat', 'whitesmoke', 'yellowgreen', 'rebeccapurple'];
8
8
  exports.namedColors = namedColors;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.findFirstNonspaceIndexAfter = findFirstNonspaceIndexAfter;
7
+ exports.kebabize = void 0;
8
+ exports.splitAtIndex = splitAtIndex;
9
+ var kebabize = function kebabize(str) {
10
+ return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {
11
+ return (ofs ? '-' : '') + $.toLowerCase();
12
+ });
13
+ };
14
+ exports.kebabize = kebabize;
15
+ function findFirstNonspaceIndexAfter(text, index) {
16
+ var rest = text.slice(index + 1);
17
+ var indexInRest = rest.search(/\S/);
18
+ if (indexInRest === -1) {
19
+ return text.length;
20
+ } else {
21
+ return index + 1 + indexInRest;
22
+ }
23
+ }
24
+ function splitAtIndex(text, index) {
25
+ return [text.slice(0, index), text.slice(index)];
26
+ }
@@ -1,13 +1,27 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.tokens = exports.getUniqueWordsFromTokens = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
7
9
  var _tokensRaw = require("@atlaskit/tokens/tokens-raw");
8
- const tokens = _tokensRaw.light.filter(t => t.attributes.state === 'active').map(t => t.name.replace(/\.\[default\]/g, '')).filter(t => !t.includes('UNSAFE') && !t.includes('interaction') && !t.includes('chart') && !t.includes('elevation.shadow.overflow'));
10
+ var tokens = _tokensRaw.light.filter(function (t) {
11
+ return t.attributes.state === 'active';
12
+ }).map(function (t) {
13
+ return t.name.replace(/\.\[default\]/g, '');
14
+ }).filter(function (t) {
15
+ return !t.includes('UNSAFE') && !t.includes('interaction') && !t.includes('chart') && !t.includes('elevation.shadow.overflow');
16
+ });
9
17
  exports.tokens = tokens;
10
- const getUniqueWordsFromTokens = tokens.reduce((accum, val) => [...accum, ...val.split('.')], []).reduce((accum, val) => [...accum, ...val.split(/(?=[A-Z])/g).map(e => e.toLowerCase())], []).reduce((accum, val) => {
18
+ var getUniqueWordsFromTokens = tokens.reduce(function (accum, val) {
19
+ return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split('.')));
20
+ }, []).reduce(function (accum, val) {
21
+ return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split(/(?=[A-Z])/g).map(function (e) {
22
+ return e.toLowerCase();
23
+ })));
24
+ }, []).reduce(function (accum, val) {
11
25
  if (!accum.includes(val)) {
12
26
  accum.push(val);
13
27
  }
@@ -5,17 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getPackagesSinceRef = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
10
  var _simpleGit = _interopRequireDefault(require("simple-git"));
9
11
  var _types = require("./types");
10
- const packageRegex = /"(@(?:atlaskit|atlassian|atlassiansox)\/.*)": "(.*)"/;
11
- const parseDiffLine = line => {
12
- const type = line.startsWith('-') ? 'deleted' : line.startsWith('+') ? 'added' : null;
13
- const match = line.match(packageRegex);
12
+ var packageRegex = /"(@(?:atlaskit|atlassian|atlassiansox)\/.*)": "(.*)"/;
13
+ var parseDiffLine = function parseDiffLine(line) {
14
+ var type = line.startsWith('-') ? 'deleted' : line.startsWith('+') ? 'added' : null;
15
+ var match = line.match(packageRegex);
14
16
  if (!type || !match) {
15
17
  return null;
16
18
  }
17
19
  return {
18
- type,
20
+ type: type,
19
21
  name: match[1],
20
22
  version: match[2]
21
23
  };
@@ -24,37 +26,69 @@ const parseDiffLine = line => {
24
26
  /** Returns packages that have been upgraded in package.json since ref. The version refers to their previous
25
27
  * version
26
28
  */
27
- const getPackagesSinceRef = async ref => {
28
- const git = (0, _simpleGit.default)();
29
- let commit;
30
- try {
31
- commit = await git.revparse(['--verify', ref]);
32
- } catch (e) {
33
- throw new _types.ValidationError(`Invalid git ref "${ref}"`);
34
- }
35
- const diff = await git.diff([commit, '--', 'package.json']);
36
- const modifiedPackages = diff.split('\n').map(parseDiffLine).filter(pkg => Boolean(pkg));
37
- const addedPackages = new Map(modifiedPackages.filter(pkg => pkg.type === 'added').map(pkg => [pkg.name, pkg]));
38
-
39
- /* This is holds the previous version of packages that have been upgraded. Packages are treated as
40
- * upgraded if they have both an addition/deletion entry in the diff and their versions differ
41
- */
42
- const upgradedPackages = modifiedPackages.filter(pkg => {
43
- const addedEntry = addedPackages.get(pkg.name);
44
- if (pkg.type !== 'deleted' || !addedEntry) {
45
- return false;
46
- }
47
- return pkg.version !== addedEntry.version;
48
- }).map(({
49
- name,
50
- version
51
- }) => ({
52
- name,
53
- version
29
+ var getPackagesSinceRef = /*#__PURE__*/function () {
30
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(ref) {
31
+ var git, commit, diff, modifiedPackages, addedPackages, upgradedPackages;
32
+ return _regenerator.default.wrap(function _callee$(_context) {
33
+ while (1) switch (_context.prev = _context.next) {
34
+ case 0:
35
+ git = (0, _simpleGit.default)();
36
+ _context.prev = 1;
37
+ _context.next = 4;
38
+ return git.revparse(['--verify', ref]);
39
+ case 4:
40
+ commit = _context.sent;
41
+ _context.next = 10;
42
+ break;
43
+ case 7:
44
+ _context.prev = 7;
45
+ _context.t0 = _context["catch"](1);
46
+ throw new _types.ValidationError("Invalid git ref \"".concat(ref, "\""));
47
+ case 10:
48
+ _context.next = 12;
49
+ return git.diff([commit, '--', 'package.json']);
50
+ case 12:
51
+ diff = _context.sent;
52
+ modifiedPackages = diff.split('\n').map(parseDiffLine).filter(function (pkg) {
53
+ return Boolean(pkg);
54
+ });
55
+ addedPackages = new Map(modifiedPackages.filter(function (pkg) {
56
+ return pkg.type === 'added';
57
+ }).map(function (pkg) {
58
+ return [pkg.name, pkg];
59
+ }));
60
+ /* This is holds the previous version of packages that have been upgraded. Packages are treated as
61
+ * upgraded if they have both an addition/deletion entry in the diff and their versions differ
62
+ */
63
+ upgradedPackages = modifiedPackages.filter(function (pkg) {
64
+ var addedEntry = addedPackages.get(pkg.name);
65
+ if (pkg.type !== 'deleted' || !addedEntry) {
66
+ return false;
67
+ }
68
+ return pkg.version !== addedEntry.version;
69
+ }).map(function (_ref2) {
70
+ var name = _ref2.name,
71
+ version = _ref2.version;
72
+ return {
73
+ name: name,
74
+ version: version
75
+ };
76
+ });
77
+ return _context.abrupt("return", upgradedPackages);
78
+ case 17:
79
+ case "end":
80
+ return _context.stop();
81
+ }
82
+ }, _callee, null, [[1, 7]]);
54
83
  }));
55
- return upgradedPackages;
56
- };
84
+ return function getPackagesSinceRef(_x) {
85
+ return _ref.apply(this, arguments);
86
+ };
87
+ }();
57
88
  exports.getPackagesSinceRef = getPackagesSinceRef;
58
89
  if (require.main === module) {
59
- getPackagesSinceRef(process.argv[2]).then(res => console.log(res));
90
+ // eslint-disable-next-line no-console
91
+ getPackagesSinceRef(process.argv[2]).then(function (res) {
92
+ return console.log(res);
93
+ });
60
94
  }
@@ -5,59 +5,77 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.parseTransformPath = exports.hasTransform = exports.getTransforms = exports.getTransformVersion = exports.getTransformPath = exports.getTransformModule = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _path = _interopRequireDefault(require("path"));
9
10
  var _glob = _interopRequireDefault(require("glob"));
10
11
  var _semver = _interopRequireDefault(require("semver"));
11
12
  var _presets = _interopRequireDefault(require("./presets"));
12
- const basePath = packages => {
13
- const packageDirectory = packages && packages.length > 0 ? [`{${packages.map(pkg => pkg.name).join(',')},}`] : ['@{atlaskit,atlassian,atlassiansox}', '*'];
14
- return _path.default.join(process.cwd(), 'node_modules', ...packageDirectory, 'codemods');
13
+ var basePath = function basePath(packages) {
14
+ var packageDirectory = packages && packages.length > 0 ? ["{".concat(packages.map(function (pkg) {
15
+ return pkg.name;
16
+ }).join(','), ",}")] : ['@{atlaskit,atlassian,atlassiansox}', '*'];
17
+ return _path.default.join.apply(_path.default, [process.cwd(), 'node_modules'].concat(packageDirectory, ['codemods']));
18
+ };
19
+ var hasTransform = function hasTransform(transformPath) {
20
+ return _glob.default.sync(transformPath).length > 0;
15
21
  };
16
- const hasTransform = transformPath => _glob.default.sync(transformPath).length > 0;
17
22
 
18
23
  /** Retrieves transforms for `packages` if provided, otherwise all transforms including presets */
19
24
  exports.hasTransform = hasTransform;
20
- const getTransforms = packages => {
21
- const transforms = [_path.default.join(basePath(packages), '*.@(ts|tsx|js)'), _path.default.join(basePath(packages), '*', 'index.@(ts|tsx|js)')];
25
+ var getTransforms = function getTransforms(packages) {
26
+ var transforms = [_path.default.join(basePath(packages), '*.@(ts|tsx|js)'), _path.default.join(basePath(packages), '*', 'index.@(ts|tsx|js)')];
22
27
  if (!packages) {
23
- transforms.unshift(..._presets.default);
28
+ transforms.unshift.apply(transforms, (0, _toConsumableArray2.default)(_presets.default));
24
29
  }
25
- return transforms.map(transform => _glob.default.sync(transform)).reduce((acc, val) => acc.concat(val), []).map(transform => parseTransformPath(transform)).filter(filterTransforms(packages)).sort();
30
+ return transforms.map(function (transform) {
31
+ return _glob.default.sync(transform);
32
+ }).reduce(function (acc, val) {
33
+ return acc.concat(val);
34
+ }, []).map(function (transform) {
35
+ return parseTransformPath(transform);
36
+ }).filter(filterTransforms(packages)).sort();
26
37
  };
27
38
  exports.getTransforms = getTransforms;
28
- const parseTransformPath = transformPath => _path.default.parse(transformPath);
39
+ var parseTransformPath = function parseTransformPath(transformPath) {
40
+ return _path.default.parse(transformPath);
41
+ };
29
42
  exports.parseTransformPath = parseTransformPath;
30
- const getTransformPath = ({
31
- dir,
32
- base
33
- }) => `${dir}/${base}`;
43
+ var getTransformPath = function getTransformPath(_ref) {
44
+ var dir = _ref.dir,
45
+ base = _ref.base;
46
+ return "".concat(dir, "/").concat(base);
47
+ };
34
48
  exports.getTransformPath = getTransformPath;
35
- const getTransformModule = transform => {
36
- const pathSegments = transform.dir.split(_path.default.sep);
37
- const nodeModulesIdx = pathSegments.indexOf('node_modules');
49
+ var getTransformModule = function getTransformModule(transform) {
50
+ var pathSegments = transform.dir.split(_path.default.sep);
51
+ var nodeModulesIdx = pathSegments.indexOf('node_modules');
38
52
  // pathSegments will be of the form [node_modules, '@atlaskit', 'avatar', 'codemods']
39
53
  return pathSegments.slice(nodeModulesIdx + 1, nodeModulesIdx + 3).join('/');
40
54
  };
41
55
  exports.getTransformModule = getTransformModule;
42
- const getTransformVersion = transform => {
43
- let transformName = transform.base;
56
+ var getTransformVersion = function getTransformVersion(transform) {
57
+ var transformName = transform.base;
44
58
  if (transformName.startsWith('index.')) {
45
- const pathSegments = transform.dir.split(_path.default.sep);
59
+ var pathSegments = transform.dir.split(_path.default.sep);
46
60
  transformName = pathSegments[pathSegments.length - 1];
47
61
  }
48
62
  return transformName.split('-')[0];
49
63
  };
50
64
  exports.getTransformVersion = getTransformVersion;
51
- const filterTransforms = packages => {
65
+ var filterTransforms = function filterTransforms(packages) {
52
66
  if (!packages || packages.length === 0) {
53
- return () => true;
67
+ return function () {
68
+ return true;
69
+ };
54
70
  }
55
- const packageMap = new Map(packages.map(pkg => [pkg.name, pkg.version]));
56
- return transform => {
57
- const transformVersion = getTransformVersion(transform);
58
- const pkgVersion = packageMap.get(getTransformModule(transform));
71
+ var packageMap = new Map(packages.map(function (pkg) {
72
+ return [pkg.name, pkg.version];
73
+ }));
74
+ return function (transform) {
75
+ var transformVersion = getTransformVersion(transform);
76
+ var pkgVersion = packageMap.get(getTransformModule(transform));
59
77
  if (pkgVersion === undefined) {
60
- throw Error(`No corresponding package found for transform "${transform.dir}/${transform.base}`);
78
+ throw Error("No corresponding package found for transform \"".concat(transform.dir, "/").concat(transform.base));
61
79
  }
62
80
  if (transformVersion === 'next' || pkgVersion === null) {
63
81
  return true;