@atlaskit/codemod-cli 0.11.5 → 0.12.1

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 (51) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/cli.js +75 -68
  3. package/dist/cjs/filepath.js +29 -69
  4. package/dist/cjs/index.js +3 -3
  5. package/dist/cjs/main.js +167 -337
  6. package/dist/cjs/presets/css-to-design-tokens/css-to-design-tokens.js +31 -73
  7. package/dist/cjs/presets/css-to-design-tokens/utils/legacy-colors.js +3 -3
  8. package/dist/cjs/presets/css-to-design-tokens/utils/meta.js +6 -19
  9. package/dist/cjs/presets/index.js +1 -3
  10. package/dist/cjs/presets/styled-to-emotion/styled-to-emotion.js +12 -19
  11. package/dist/cjs/presets/theme-to-design-tokens/theme-to-design-tokens.js +32 -61
  12. package/dist/cjs/presets/theme-to-design-tokens/utils/ast-meta.js +13 -26
  13. package/dist/cjs/presets/theme-to-design-tokens/utils/color.js +7 -11
  14. package/dist/cjs/presets/theme-to-design-tokens/utils/fuzzy-search.js +6 -10
  15. package/dist/cjs/presets/theme-to-design-tokens/utils/legacy-colors.js +3 -3
  16. package/dist/cjs/presets/theme-to-design-tokens/utils/named-colors.js +1 -1
  17. package/dist/cjs/presets/theme-to-design-tokens/utils/tokens.js +2 -16
  18. package/dist/cjs/sinceRef.js +35 -70
  19. package/dist/cjs/transforms.js +26 -44
  20. package/dist/cjs/types.js +3 -27
  21. package/dist/cjs/utils.js +6 -6
  22. package/dist/cjs/version.json +1 -1
  23. package/dist/es2019/version.json +1 -1
  24. package/dist/esm/cli.js +53 -55
  25. package/dist/esm/filepath.js +50 -54
  26. package/dist/esm/main.js +220 -230
  27. package/dist/esm/presets/css-to-design-tokens/css-to-design-tokens.js +11 -13
  28. package/dist/esm/sinceRef.js +48 -50
  29. package/dist/esm/version.json +1 -1
  30. package/dist/types-ts4.0/cli.d.ts +1 -0
  31. package/dist/types-ts4.0/filepath.d.ts +2 -0
  32. package/dist/types-ts4.0/index.d.ts +4 -0
  33. package/dist/types-ts4.0/main.d.ts +19 -0
  34. package/dist/types-ts4.0/presets/css-to-design-tokens/css-to-design-tokens.d.ts +2 -0
  35. package/dist/types-ts4.0/presets/css-to-design-tokens/utils/legacy-colors.d.ts +3 -0
  36. package/dist/types-ts4.0/presets/css-to-design-tokens/utils/meta.d.ts +1 -0
  37. package/dist/types-ts4.0/presets/index.d.ts +9 -0
  38. package/dist/types-ts4.0/presets/styled-to-emotion/styled-to-emotion.d.ts +6 -0
  39. package/dist/types-ts4.0/presets/theme-to-design-tokens/theme-to-design-tokens.d.ts +2 -0
  40. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/ast-meta.d.ts +3 -0
  41. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/ast.d.ts +3 -0
  42. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/color.d.ts +4 -0
  43. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/fuzzy-search.d.ts +5 -0
  44. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/legacy-colors.d.ts +3 -0
  45. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/named-colors.d.ts +1 -0
  46. package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/tokens.d.ts +2 -0
  47. package/dist/types-ts4.0/sinceRef.d.ts +5 -0
  48. package/dist/types-ts4.0/transforms.d.ts +10 -0
  49. package/dist/types-ts4.0/types.d.ts +59 -0
  50. package/dist/types-ts4.0/utils.d.ts +1 -0
  51. package/package.json +2 -2
@@ -9,11 +9,7 @@ exports.default = void 0;
9
9
  /**
10
10
  * Fuzzy search ripped from the internet.
11
11
  */
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;
12
+ const FuzzySet = function (arr = [], useLevenshtein, gramSizeLower = 2, gramSizeUpper = 3) {
17
13
  var fuzzyset = {
18
14
  gramSizeLower: gramSizeLower,
19
15
  gramSizeUpper: gramSizeUpper,
@@ -22,7 +18,7 @@ var FuzzySet = function FuzzySet() {
22
18
  matchDict: {},
23
19
  items: {}
24
20
  };
25
- var levenshtein = function levenshtein(str1, str2) {
21
+ var levenshtein = function (str1, str2) {
26
22
  var current = [];
27
23
  var prev;
28
24
  var value;
@@ -47,7 +43,7 @@ var FuzzySet = function FuzzySet() {
47
43
  };
48
44
 
49
45
  // return an edit distance from 0 to 1
50
- var _distance = function _distance(str1, str2) {
46
+ var _distance = function (str1, str2) {
51
47
  if (str1 === null && str2 === null) {
52
48
  throw new Error('Trying to compare two null values');
53
49
  }
@@ -64,7 +60,7 @@ var FuzzySet = function FuzzySet() {
64
60
  }
65
61
  };
66
62
  var _nonWordRe = /[^a-zA-Z0-9\u00C0-\u00FF, ]+/g;
67
- var _iterateGrams = function _iterateGrams(value, gramSize) {
63
+ var _iterateGrams = function (value, gramSize) {
68
64
  gramSize = gramSize || 2;
69
65
  var simplified = '-' + value.toLowerCase().replace(_nonWordRe, '') + '-',
70
66
  lenDiff = gramSize - simplified.length,
@@ -79,7 +75,7 @@ var FuzzySet = function FuzzySet() {
79
75
  }
80
76
  return results;
81
77
  };
82
- var _gramCounter = function _gramCounter(value, gramSize) {
78
+ var _gramCounter = function (value, gramSize) {
83
79
  // return an object where key=gram, value=number of occurrences
84
80
  gramSize = gramSize || 2;
85
81
  var result = {},
@@ -169,7 +165,7 @@ var FuzzySet = function FuzzySet() {
169
165
  matchScore = matches[matchIndex];
170
166
  results.push([matchScore / (vectorNormal * items[matchIndex][0]), items[matchIndex][1]]);
171
167
  }
172
- var sortDescending = function sortDescending(a, b) {
168
+ var sortDescending = function (a, b) {
173
169
  if (a[0] < b[0]) {
174
170
  return 1;
175
171
  } 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
- 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'];
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'];
8
8
  exports.legacyColors = legacyColors;
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'];
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'];
10
10
  exports.legacyColorMixins = legacyColorMixins;
11
- var legacyColorMetaMap = {
11
+ const 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
- 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'];
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'];
8
8
  exports.namedColors = namedColors;
@@ -1,27 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.tokens = exports.getUniqueWordsFromTokens = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
7
  var _tokensRaw = require("@atlaskit/tokens/tokens-raw");
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');
16
- });
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'));
17
9
  exports.tokens = tokens;
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) {
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) => {
25
11
  if (!accum.includes(val)) {
26
12
  accum.push(val);
27
13
  }
@@ -5,19 +5,17 @@ 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"));
10
8
  var _simpleGit = _interopRequireDefault(require("simple-git"));
11
9
  var _types = require("./types");
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);
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);
16
14
  if (!type || !match) {
17
15
  return null;
18
16
  }
19
17
  return {
20
- type: type,
18
+ type,
21
19
  name: match[1],
22
20
  version: match[2]
23
21
  };
@@ -26,70 +24,37 @@ var parseDiffLine = function parseDiffLine(line) {
26
24
  /** Returns packages that have been upgraded in package.json since ref. The version refers to their previous
27
25
  * version
28
26
  */
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) {
34
- switch (_context.prev = _context.next) {
35
- case 0:
36
- git = (0, _simpleGit.default)();
37
- _context.prev = 1;
38
- _context.next = 4;
39
- return git.revparse(['--verify', ref]);
40
- case 4:
41
- commit = _context.sent;
42
- _context.next = 10;
43
- break;
44
- case 7:
45
- _context.prev = 7;
46
- _context.t0 = _context["catch"](1);
47
- throw new _types.ValidationError("Invalid git ref \"".concat(ref, "\""));
48
- case 10:
49
- _context.next = 12;
50
- return git.diff([commit, '--', 'package.json']);
51
- case 12:
52
- diff = _context.sent;
53
- modifiedPackages = diff.split('\n').map(parseDiffLine).filter(function (pkg) {
54
- return Boolean(pkg);
55
- });
56
- addedPackages = new Map(modifiedPackages.filter(function (pkg) {
57
- return pkg.type === 'added';
58
- }).map(function (pkg) {
59
- return [pkg.name, pkg];
60
- }));
61
- /* This is holds the previous version of packages that have been upgraded. Packages are treated as
62
- * upgraded if they have both an addition/deletion entry in the diff and their versions differ
63
- */
64
- upgradedPackages = modifiedPackages.filter(function (pkg) {
65
- var addedEntry = addedPackages.get(pkg.name);
66
- if (pkg.type !== 'deleted' || !addedEntry) {
67
- return false;
68
- }
69
- return pkg.version !== addedEntry.version;
70
- }).map(function (_ref2) {
71
- var name = _ref2.name,
72
- version = _ref2.version;
73
- return {
74
- name: name,
75
- version: version
76
- };
77
- });
78
- return _context.abrupt("return", upgradedPackages);
79
- case 17:
80
- case "end":
81
- return _context.stop();
82
- }
83
- }
84
- }, _callee, null, [[1, 7]]);
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
85
54
  }));
86
- return function getPackagesSinceRef(_x) {
87
- return _ref.apply(this, arguments);
88
- };
89
- }();
55
+ return upgradedPackages;
56
+ };
90
57
  exports.getPackagesSinceRef = getPackagesSinceRef;
91
58
  if (require.main === module) {
92
- getPackagesSinceRef(process.argv[2]).then(function (res) {
93
- return console.log(res);
94
- });
59
+ getPackagesSinceRef(process.argv[2]).then(res => console.log(res));
95
60
  }
@@ -5,77 +5,59 @@ 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"));
9
8
  var _path = _interopRequireDefault(require("path"));
10
9
  var _glob = _interopRequireDefault(require("glob"));
11
10
  var _semver = _interopRequireDefault(require("semver"));
12
11
  var _presets = _interopRequireDefault(require("./presets"));
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;
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');
21
15
  };
16
+ const hasTransform = transformPath => _glob.default.sync(transformPath).length > 0;
22
17
 
23
18
  /** Retrieves transforms for `packages` if provided, otherwise all transforms including presets */
24
19
  exports.hasTransform = hasTransform;
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)')];
20
+ const getTransforms = packages => {
21
+ const transforms = [_path.default.join(basePath(packages), '*.@(ts|tsx|js)'), _path.default.join(basePath(packages), '*', 'index.@(ts|tsx|js)')];
27
22
  if (!packages) {
28
- transforms.unshift.apply(transforms, (0, _toConsumableArray2.default)(_presets.default));
23
+ transforms.unshift(..._presets.default);
29
24
  }
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();
25
+ return transforms.map(transform => _glob.default.sync(transform)).reduce((acc, val) => acc.concat(val), []).map(transform => parseTransformPath(transform)).filter(filterTransforms(packages)).sort();
37
26
  };
38
27
  exports.getTransforms = getTransforms;
39
- var parseTransformPath = function parseTransformPath(transformPath) {
40
- return _path.default.parse(transformPath);
41
- };
28
+ const parseTransformPath = transformPath => _path.default.parse(transformPath);
42
29
  exports.parseTransformPath = parseTransformPath;
43
- var getTransformPath = function getTransformPath(_ref) {
44
- var dir = _ref.dir,
45
- base = _ref.base;
46
- return "".concat(dir, "/").concat(base);
47
- };
30
+ const getTransformPath = ({
31
+ dir,
32
+ base
33
+ }) => `${dir}/${base}`;
48
34
  exports.getTransformPath = getTransformPath;
49
- var getTransformModule = function getTransformModule(transform) {
50
- var pathSegments = transform.dir.split(_path.default.sep);
51
- var nodeModulesIdx = pathSegments.indexOf('node_modules');
35
+ const getTransformModule = transform => {
36
+ const pathSegments = transform.dir.split(_path.default.sep);
37
+ const nodeModulesIdx = pathSegments.indexOf('node_modules');
52
38
  // pathSegments will be of the form [node_modules, '@atlaskit', 'avatar', 'codemods']
53
39
  return pathSegments.slice(nodeModulesIdx + 1, nodeModulesIdx + 3).join('/');
54
40
  };
55
41
  exports.getTransformModule = getTransformModule;
56
- var getTransformVersion = function getTransformVersion(transform) {
57
- var transformName = transform.base;
42
+ const getTransformVersion = transform => {
43
+ let transformName = transform.base;
58
44
  if (transformName.startsWith('index.')) {
59
- var pathSegments = transform.dir.split(_path.default.sep);
45
+ const pathSegments = transform.dir.split(_path.default.sep);
60
46
  transformName = pathSegments[pathSegments.length - 1];
61
47
  }
62
48
  return transformName.split('-')[0];
63
49
  };
64
50
  exports.getTransformVersion = getTransformVersion;
65
- var filterTransforms = function filterTransforms(packages) {
51
+ const filterTransforms = packages => {
66
52
  if (!packages || packages.length === 0) {
67
- return function () {
68
- return true;
69
- };
53
+ return () => true;
70
54
  }
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));
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));
77
59
  if (pkgVersion === undefined) {
78
- throw Error("No corresponding package found for transform \"".concat(transform.dir, "/").concat(transform.base));
60
+ throw Error(`No corresponding package found for transform "${transform.dir}/${transform.base}`);
79
61
  }
80
62
  if (transformVersion === 'next' || pkgVersion === null) {
81
63
  return true;
package/dist/cjs/types.js CHANGED
@@ -1,38 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.ValidationError = exports.NoTransformsExistError = void 0;
8
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
14
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
15
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
7
  /** Converts required args to optional if they have a default
17
8
  * Example: export type UserFlags = Default<Flags, keyof typeof defaultFlags>;
18
9
  */
19
- var ValidationError = /*#__PURE__*/function (_Error) {
20
- (0, _inherits2.default)(ValidationError, _Error);
21
- var _super = _createSuper(ValidationError);
22
- function ValidationError() {
23
- (0, _classCallCheck2.default)(this, ValidationError);
24
- return _super.apply(this, arguments);
25
- }
26
- return (0, _createClass2.default)(ValidationError);
27
- }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
10
+
11
+ class ValidationError extends Error {}
28
12
  exports.ValidationError = ValidationError;
29
- var NoTransformsExistError = /*#__PURE__*/function (_Error2) {
30
- (0, _inherits2.default)(NoTransformsExistError, _Error2);
31
- var _super2 = _createSuper(NoTransformsExistError);
32
- function NoTransformsExistError() {
33
- (0, _classCallCheck2.default)(this, NoTransformsExistError);
34
- return _super2.apply(this, arguments);
35
- }
36
- return (0, _createClass2.default)(NoTransformsExistError);
37
- }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
13
+ class NoTransformsExistError extends Error {}
38
14
  exports.NoTransformsExistError = NoTransformsExistError;
package/dist/cjs/utils.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.fixLineEnding = void 0;
7
7
  /* Utility functions to be used in codemod-cli. */
8
8
 
9
- var returnLineEnding = function returnLineEnding(source) {
9
+ const returnLineEnding = source => {
10
10
  var cr = source.split('\r').length;
11
11
  var lf = source.split('\n').length;
12
12
  var crlf = source.split('\r\n').length;
@@ -22,7 +22,7 @@ var returnLineEnding = function returnLineEnding(source) {
22
22
  return 'LF';
23
23
  }
24
24
  };
25
- var getLineEndingRegex = function getLineEndingRegex(type) {
25
+ const getLineEndingRegex = type => {
26
26
  if (['CR', 'LF', 'CRLF'].indexOf(type) === -1) {
27
27
  throw new Error("Line ending '" + type + "' is not supported, use CR, LF or CRLF");
28
28
  }
@@ -36,13 +36,13 @@ var getLineEndingRegex = function getLineEndingRegex(type) {
36
36
  return '\r\n';
37
37
  }
38
38
  };
39
- var fixLineEnding = function fixLineEnding(source, lineEnding) {
40
- var current = returnLineEnding(source);
39
+ const fixLineEnding = (source, lineEnding) => {
40
+ const current = returnLineEnding(source);
41
41
  if (current === lineEnding) {
42
42
  return source;
43
43
  }
44
- var regexCurrentLineEnding = getLineEndingRegex(current);
45
- var regexLineEnding = getLineEndingRegex(lineEnding);
44
+ const regexCurrentLineEnding = getLineEndingRegex(current);
45
+ const regexLineEnding = getLineEndingRegex(lineEnding);
46
46
  if (current && regexLineEnding && regexCurrentLineEnding) {
47
47
  return source.replace(new RegExp(regexCurrentLineEnding, 'g'), regexLineEnding);
48
48
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/codemod-cli",
3
- "version": "0.11.5"
3
+ "version": "0.12.1"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/codemod-cli",
3
- "version": "0.11.5"
3
+ "version": "0.12.1"
4
4
  }
package/dist/esm/cli.js CHANGED
@@ -11,62 +11,60 @@ function _run() {
11
11
  _run = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
12
12
  var cli;
13
13
  return _regeneratorRuntime.wrap(function _callee$(_context) {
14
- while (1) {
15
- switch (_context.prev = _context.next) {
16
- case 0:
17
- cli = meow("\nUsage\n $ npx @atlaskit/codemod-cli [options] <file-paths>...\n\nOptions\n --preset, -n select transform by preset name, avoid user interaction\n --transform, -t the transform to run, will prompt for a transform if not provided and no module is passed\n --since-ref, runs transforms for all packages that have been upgraded since the specified git ref\n --packages, runs transforms for the specified comma separated list of packages, optionally include a version for each package to run all transforms since that version\n --parser, -p babel|babylon|flow|ts|tsx parser to use for parsing the source files (default: babel)\n --extensions, -e transform files with these file extensions (comma separated list) (default: js)\n --ignore-pattern, ignore files that match a provided glob expression\n --fail-on-error, return a 1 exit code when errors were found during execution of codemods\n --version, -v version number\n --no-filter-paths disables dependant package file path filtering logic \n --help Help me \uD83D\uDE31\n\nExamples\n # Run a codemod over the /project/src directory, will be prompted for which codemod to run\n $ npx @atlaskit/codemod-cli /project/src\n\n # Run the \"4.0.0-remove-appearance-prop\" transform of the \"button\" package\n $ npx @atlaskit/codemod-cli -t button@4.0.0-remove-appearance-prop /project/src\n\n # Run all transforms for \"@atlaskit/button\" greater than version 3.0.0 and @atlaskit/range greater than 4.0.0\n $ npx @atlaskit/codemod-cli --packages @atlaskit/button@3.0.0,@atlaskit/range@4.0.0 /project/src\n", {
18
- flags: {
19
- transform: {
20
- type: 'string',
21
- alias: 't'
22
- },
23
- preset: {
24
- type: 'string',
25
- alias: 'n'
26
- },
27
- packages: {
28
- type: 'string'
29
- },
30
- parser: {
31
- type: 'string',
32
- alias: 'p'
33
- },
34
- extensions: {
35
- type: 'string',
36
- alias: 'e'
37
- },
38
- ignorePattern: {
39
- type: 'string'
40
- },
41
- sinceRef: {
42
- type: 'string'
43
- },
44
- failOnError: {
45
- type: 'boolean'
46
- },
47
- filterPaths: {
48
- type: 'boolean',
49
- default: true
50
- }
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ cli = meow("\nUsage\n $ npx @atlaskit/codemod-cli [options] <file-paths>...\n\nOptions\n --preset, -n select transform by preset name, avoid user interaction\n --transform, -t the transform to run, will prompt for a transform if not provided and no module is passed\n --since-ref, runs transforms for all packages that have been upgraded since the specified git ref\n --packages, runs transforms for the specified comma separated list of packages, optionally include a version for each package to run all transforms since that version\n --parser, -p babel|babylon|flow|ts|tsx parser to use for parsing the source files (default: babel)\n --extensions, -e transform files with these file extensions (comma separated list) (default: js)\n --ignore-pattern, ignore files that match a provided glob expression\n --fail-on-error, return a 1 exit code when errors were found during execution of codemods\n --version, -v version number\n --no-filter-paths disables dependant package file path filtering logic \n --help Help me \uD83D\uDE31\n\nExamples\n # Run a codemod over the /project/src directory, will be prompted for which codemod to run\n $ npx @atlaskit/codemod-cli /project/src\n\n # Run the \"4.0.0-remove-appearance-prop\" transform of the \"button\" package\n $ npx @atlaskit/codemod-cli -t button@4.0.0-remove-appearance-prop /project/src\n\n # Run all transforms for \"@atlaskit/button\" greater than version 3.0.0 and @atlaskit/range greater than 4.0.0\n $ npx @atlaskit/codemod-cli --packages @atlaskit/button@3.0.0,@atlaskit/range@4.0.0 /project/src\n", {
17
+ flags: {
18
+ transform: {
19
+ type: 'string',
20
+ alias: 't'
21
+ },
22
+ preset: {
23
+ type: 'string',
24
+ alias: 'n'
25
+ },
26
+ packages: {
27
+ type: 'string'
28
+ },
29
+ parser: {
30
+ type: 'string',
31
+ alias: 'p'
32
+ },
33
+ extensions: {
34
+ type: 'string',
35
+ alias: 'e'
36
+ },
37
+ ignorePattern: {
38
+ type: 'string'
39
+ },
40
+ sinceRef: {
41
+ type: 'string'
42
+ },
43
+ failOnError: {
44
+ type: 'boolean'
45
+ },
46
+ filterPaths: {
47
+ type: 'boolean',
48
+ default: true
51
49
  }
52
- });
53
- main(cli.input, cli.flags).catch(function (e) {
54
- if (e instanceof ValidationError) {
55
- console.error(cli.help);
56
- console.error(chalk.red(e.message));
57
- process.exit(1);
58
- } else if (e instanceof NoTransformsExistError) {
59
- console.warn(chalk.yellow(e.message));
60
- process.exit(0);
61
- } else {
62
- console.error(chalk.red(e));
63
- process.exit(3);
64
- }
65
- });
66
- case 2:
67
- case "end":
68
- return _context.stop();
69
- }
50
+ }
51
+ });
52
+ main(cli.input, cli.flags).catch(function (e) {
53
+ if (e instanceof ValidationError) {
54
+ console.error(cli.help);
55
+ console.error(chalk.red(e.message));
56
+ process.exit(1);
57
+ } else if (e instanceof NoTransformsExistError) {
58
+ console.warn(chalk.yellow(e.message));
59
+ process.exit(0);
60
+ } else {
61
+ console.error(chalk.red(e));
62
+ process.exit(3);
63
+ }
64
+ });
65
+ case 2:
66
+ case "end":
67
+ return _context.stop();
70
68
  }
71
69
  }, _callee);
72
70
  }));