@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.
- package/CHANGELOG.md +16 -0
- package/dist/cjs/cli.js +75 -68
- package/dist/cjs/filepath.js +29 -69
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/main.js +167 -337
- package/dist/cjs/presets/css-to-design-tokens/css-to-design-tokens.js +31 -73
- package/dist/cjs/presets/css-to-design-tokens/utils/legacy-colors.js +3 -3
- package/dist/cjs/presets/css-to-design-tokens/utils/meta.js +6 -19
- package/dist/cjs/presets/index.js +1 -3
- package/dist/cjs/presets/styled-to-emotion/styled-to-emotion.js +12 -19
- package/dist/cjs/presets/theme-to-design-tokens/theme-to-design-tokens.js +32 -61
- package/dist/cjs/presets/theme-to-design-tokens/utils/ast-meta.js +13 -26
- package/dist/cjs/presets/theme-to-design-tokens/utils/color.js +7 -11
- package/dist/cjs/presets/theme-to-design-tokens/utils/fuzzy-search.js +6 -10
- package/dist/cjs/presets/theme-to-design-tokens/utils/legacy-colors.js +3 -3
- package/dist/cjs/presets/theme-to-design-tokens/utils/named-colors.js +1 -1
- package/dist/cjs/presets/theme-to-design-tokens/utils/tokens.js +2 -16
- package/dist/cjs/sinceRef.js +35 -70
- package/dist/cjs/transforms.js +26 -44
- package/dist/cjs/types.js +3 -27
- package/dist/cjs/utils.js +6 -6
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/cli.js +53 -55
- package/dist/esm/filepath.js +50 -54
- package/dist/esm/main.js +220 -230
- package/dist/esm/presets/css-to-design-tokens/css-to-design-tokens.js +11 -13
- package/dist/esm/sinceRef.js +48 -50
- package/dist/esm/version.json +1 -1
- package/dist/types-ts4.0/cli.d.ts +1 -0
- package/dist/types-ts4.0/filepath.d.ts +2 -0
- package/dist/types-ts4.0/index.d.ts +4 -0
- package/dist/types-ts4.0/main.d.ts +19 -0
- package/dist/types-ts4.0/presets/css-to-design-tokens/css-to-design-tokens.d.ts +2 -0
- package/dist/types-ts4.0/presets/css-to-design-tokens/utils/legacy-colors.d.ts +3 -0
- package/dist/types-ts4.0/presets/css-to-design-tokens/utils/meta.d.ts +1 -0
- package/dist/types-ts4.0/presets/index.d.ts +9 -0
- package/dist/types-ts4.0/presets/styled-to-emotion/styled-to-emotion.d.ts +6 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/theme-to-design-tokens.d.ts +2 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/ast-meta.d.ts +3 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/ast.d.ts +3 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/color.d.ts +4 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/fuzzy-search.d.ts +5 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/legacy-colors.d.ts +3 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/named-colors.d.ts +1 -0
- package/dist/types-ts4.0/presets/theme-to-design-tokens/utils/tokens.d.ts +2 -0
- package/dist/types-ts4.0/sinceRef.d.ts +5 -0
- package/dist/types-ts4.0/transforms.d.ts +10 -0
- package/dist/types-ts4.0/types.d.ts +59 -0
- package/dist/types-ts4.0/utils.d.ts +1 -0
- package/package.json +2 -2
package/dist/esm/filepath.js
CHANGED
|
@@ -12,60 +12,56 @@ function _findDependentPackagePaths() {
|
|
|
12
12
|
_findDependentPackagePaths = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(crawlPaths, dependencyPackage) {
|
|
13
13
|
var searchStrings, globString, packageJsonPaths, productPackageJsonPathPromises, productPackageJsonPaths, productPackagePaths;
|
|
14
14
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
15
|
-
while (1) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
case 9:
|
|
66
|
-
case "end":
|
|
67
|
-
return _context2.stop();
|
|
68
|
-
}
|
|
15
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
16
|
+
case 0:
|
|
17
|
+
// Get file paths leading to package.jsons
|
|
18
|
+
searchStrings = crawlPaths.map(function (crawlPath) {
|
|
19
|
+
//Replace leading './' due to bug with node-glob not properly ignoring files https://github.com/isaacs/node-glob/issues/309
|
|
20
|
+
return "".concat(crawlPath.replace(/^\.\//, ''), "/**/package.json");
|
|
21
|
+
}); // Convert array into glob string
|
|
22
|
+
globString = searchStrings.length > 1 ? "{".concat(searchStrings.join(','), "}") : searchStrings[0];
|
|
23
|
+
packageJsonPaths = glob.sync(globString, {
|
|
24
|
+
ignore: '**/node_modules/**',
|
|
25
|
+
nodir: true
|
|
26
|
+
});
|
|
27
|
+
productPackageJsonPathPromises = packageJsonPaths.map( /*#__PURE__*/function () {
|
|
28
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(filePath) {
|
|
29
|
+
var fileContents, isMatch;
|
|
30
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
31
|
+
while (1) switch (_context.prev = _context.next) {
|
|
32
|
+
case 0:
|
|
33
|
+
fileContents = readFile(filePath, 'utf8'); // Grep for installedPackage
|
|
34
|
+
_context.next = 3;
|
|
35
|
+
return fileContents;
|
|
36
|
+
case 3:
|
|
37
|
+
isMatch = _context.sent.toString().split(/\n/).some(function (line) {
|
|
38
|
+
return line.match(dependencyPackage);
|
|
39
|
+
});
|
|
40
|
+
return _context.abrupt("return", isMatch && filePath);
|
|
41
|
+
case 5:
|
|
42
|
+
case "end":
|
|
43
|
+
return _context.stop();
|
|
44
|
+
}
|
|
45
|
+
}, _callee);
|
|
46
|
+
}));
|
|
47
|
+
return function (_x3) {
|
|
48
|
+
return _ref.apply(this, arguments);
|
|
49
|
+
};
|
|
50
|
+
}());
|
|
51
|
+
_context2.next = 6;
|
|
52
|
+
return Promise.all(productPackageJsonPathPromises);
|
|
53
|
+
case 6:
|
|
54
|
+
productPackageJsonPaths = _context2.sent.filter(function (path) {
|
|
55
|
+
return path !== false;
|
|
56
|
+
});
|
|
57
|
+
// Get directory
|
|
58
|
+
productPackagePaths = productPackageJsonPaths.map(function (line) {
|
|
59
|
+
return line.replace('/package.json', '');
|
|
60
|
+
});
|
|
61
|
+
return _context2.abrupt("return", productPackagePaths);
|
|
62
|
+
case 9:
|
|
63
|
+
case "end":
|
|
64
|
+
return _context2.stop();
|
|
69
65
|
}
|
|
70
66
|
}, _callee2);
|
|
71
67
|
}));
|
package/dist/esm/main.js
CHANGED
|
@@ -3,7 +3,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
4
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
5
5
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
8
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
9
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -44,34 +44,32 @@ var getTransformPrompt = /*#__PURE__*/function () {
|
|
|
44
44
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(transforms) {
|
|
45
45
|
var transformMeta;
|
|
46
46
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
47
|
-
while (1) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return _context.stop();
|
|
74
|
-
}
|
|
47
|
+
while (1) switch (_context.prev = _context.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
transformMeta = applyTransformMeta(transforms);
|
|
50
|
+
_context.next = 3;
|
|
51
|
+
return new AutoComplete({
|
|
52
|
+
message: 'Select which transform would you like to run? 🤔',
|
|
53
|
+
limit: 18,
|
|
54
|
+
choices: transformMeta.map(function (_ref2) {
|
|
55
|
+
var id = _ref2.id,
|
|
56
|
+
name = _ref2.name,
|
|
57
|
+
dir = _ref2.dir;
|
|
58
|
+
return id ? id : "".concat(dir, "/").concat(name);
|
|
59
|
+
}),
|
|
60
|
+
result: function result(choice) {
|
|
61
|
+
return transformMeta.find(function (_ref3) {
|
|
62
|
+
var id = _ref3.id,
|
|
63
|
+
dir = _ref3.dir;
|
|
64
|
+
return id === choice || dir === choice;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}).run();
|
|
68
|
+
case 3:
|
|
69
|
+
return _context.abrupt("return", _context.sent);
|
|
70
|
+
case 4:
|
|
71
|
+
case "end":
|
|
72
|
+
return _context.stop();
|
|
75
73
|
}
|
|
76
74
|
}, _callee);
|
|
77
75
|
}));
|
|
@@ -83,44 +81,42 @@ var resolveTransform = /*#__PURE__*/function () {
|
|
|
83
81
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(flags, transforms) {
|
|
84
82
|
var transform;
|
|
85
83
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
86
|
-
while (1) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (!flags.preset) {
|
|
90
|
-
_context2.next = 7;
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
transform = transforms.find(function (_ref5) {
|
|
94
|
-
var name = _ref5.name;
|
|
95
|
-
return name === flags.preset;
|
|
96
|
-
});
|
|
97
|
-
if (transform) {
|
|
98
|
-
_context2.next = 6;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
console.warn("No preset found for: ".concat(chalk.bgRed(flags.preset)));
|
|
84
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
if (!flags.preset) {
|
|
102
87
|
_context2.next = 7;
|
|
103
88
|
break;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
89
|
+
}
|
|
90
|
+
transform = transforms.find(function (_ref5) {
|
|
91
|
+
var name = _ref5.name;
|
|
92
|
+
return name === flags.preset;
|
|
93
|
+
});
|
|
94
|
+
if (transform) {
|
|
95
|
+
_context2.next = 6;
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
console.warn("No preset found for: ".concat(chalk.bgRed(flags.preset)));
|
|
99
|
+
_context2.next = 7;
|
|
100
|
+
break;
|
|
101
|
+
case 6:
|
|
102
|
+
return _context2.abrupt("return", transform);
|
|
103
|
+
case 7:
|
|
104
|
+
if (!(flags.transform && hasTransform(flags.transform))) {
|
|
105
|
+
_context2.next = 9;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
return _context2.abrupt("return", parseTransformPath(flags.transform));
|
|
109
|
+
case 9:
|
|
110
|
+
if (flags.transform && !hasTransform(flags.transform)) {
|
|
111
|
+
console.warn("No available transform found for: ".concat(chalk.bgRed(flags.transform)));
|
|
112
|
+
}
|
|
113
|
+
_context2.next = 12;
|
|
114
|
+
return getTransformPrompt(transforms);
|
|
115
|
+
case 12:
|
|
116
|
+
return _context2.abrupt("return", _context2.sent);
|
|
117
|
+
case 13:
|
|
118
|
+
case "end":
|
|
119
|
+
return _context2.stop();
|
|
124
120
|
}
|
|
125
121
|
}, _callee2);
|
|
126
122
|
}));
|
|
@@ -132,50 +128,48 @@ var runTransform = /*#__PURE__*/function () {
|
|
|
132
128
|
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(filePaths, transform, flags) {
|
|
133
129
|
var logger, codemodDirs, transformPath, args, jscodeshiftContent, jscodeshiftContentNew;
|
|
134
130
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
135
|
-
while (1) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
131
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
132
|
+
case 0:
|
|
133
|
+
logger = flags.logger;
|
|
134
|
+
logger.log(chalk.green("Running transform '".concat(chalk.bold(transform.name), "' over ").concat(chalk.bold(filePaths.join(', ')), "...")));
|
|
135
|
+
codemodDirs = filePaths;
|
|
136
|
+
if (!flags.filterPaths) {
|
|
137
|
+
_context3.next = 9;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
logger.log(chalk.green("Running filtering logic for module ".concat(transform.module, "...")));
|
|
141
|
+
_context3.next = 7;
|
|
142
|
+
return findDependentPackagePaths(filePaths, transform.module);
|
|
143
|
+
case 7:
|
|
144
|
+
codemodDirs = _context3.sent;
|
|
145
|
+
if (codemodDirs.length === 0) {
|
|
146
|
+
// Fallback to non-filter logic if filtering returns no directories
|
|
147
|
+
logger.log(chalk.yellow("Could not filter source paths for ".concat(transform.module, ", falling back to running over all specified paths. (See --no-filter-paths flag)")));
|
|
140
148
|
codemodDirs = filePaths;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
// Fallback to non-filter logic if filtering returns no directories
|
|
152
|
-
logger.log(chalk.yellow("Could not filter source paths for ".concat(transform.module, ", falling back to running over all specified paths. (See --no-filter-paths flag)")));
|
|
153
|
-
codemodDirs = filePaths;
|
|
154
|
-
} else {
|
|
155
|
-
logger.log(chalk.green("Running transform '".concat(chalk.bold(transform.name), "' over filtered dirs ").concat(chalk.bold(codemodDirs.join(', ')), "...")));
|
|
156
|
-
}
|
|
157
|
-
case 9:
|
|
158
|
-
logger.log(chalk.green("Transforming files matching these extensions '".concat(chalk.bold(flags.extensions), "'...")));
|
|
159
|
-
transformPath = getTransformPath(transform); // Limit CPUs to 8 to prevent issues when running on CI with a large amount of cpus
|
|
160
|
-
args = ["--transform=".concat(transformPath), "--ignore-pattern=".concat(flags.ignorePattern), "--parser=".concat(flags.parser), "--extensions=".concat(flags.extensions), '--cpus=8'].concat(_toConsumableArray(codemodDirs));
|
|
161
|
-
if (flags.failOnError) {
|
|
162
|
-
args.unshift('--fail-on-error');
|
|
163
|
-
}
|
|
149
|
+
} else {
|
|
150
|
+
logger.log(chalk.green("Running transform '".concat(chalk.bold(transform.name), "' over filtered dirs ").concat(chalk.bold(codemodDirs.join(', ')), "...")));
|
|
151
|
+
}
|
|
152
|
+
case 9:
|
|
153
|
+
logger.log(chalk.green("Transforming files matching these extensions '".concat(chalk.bold(flags.extensions), "'...")));
|
|
154
|
+
transformPath = getTransformPath(transform); // Limit CPUs to 8 to prevent issues when running on CI with a large amount of cpus
|
|
155
|
+
args = ["--transform=".concat(transformPath), "--ignore-pattern=".concat(flags.ignorePattern), "--parser=".concat(flags.parser), "--extensions=".concat(flags.extensions), '--cpus=8'].concat(_toConsumableArray(codemodDirs));
|
|
156
|
+
if (flags.failOnError) {
|
|
157
|
+
args.unshift('--fail-on-error');
|
|
158
|
+
}
|
|
164
159
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
160
|
+
// To avoid https://github.com/facebook/jscodeshift/issues/424 where the jscodeshift.js file is `CRLF` ending.
|
|
161
|
+
// The workaround to use only the `node_modules` indicated in this ticket will not work as we run this code as CLI in products repository
|
|
162
|
+
// that may not have jscodeshift installed.
|
|
163
|
+
jscodeshiftContent = fs.readFileSync(jscodeshift, 'utf8');
|
|
164
|
+
jscodeshiftContentNew = fixLineEnding(jscodeshiftContent, 'LF');
|
|
165
|
+
fs.writeFileSync(jscodeshift, jscodeshiftContentNew);
|
|
166
|
+
_context3.next = 18;
|
|
167
|
+
return spawn(jscodeshift, args, {
|
|
168
|
+
stdio: 'inherit'
|
|
169
|
+
});
|
|
170
|
+
case 18:
|
|
171
|
+
case "end":
|
|
172
|
+
return _context3.stop();
|
|
179
173
|
}
|
|
180
174
|
}, _callee3);
|
|
181
175
|
}));
|
|
@@ -229,45 +223,43 @@ var parseArgs = /*#__PURE__*/function () {
|
|
|
229
223
|
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(input, flags) {
|
|
230
224
|
var packages, unvalidatedPackages, _unvalidatedPackages;
|
|
231
225
|
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
232
|
-
while (1) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
226
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
227
|
+
case 0:
|
|
228
|
+
if (input[0]) {
|
|
229
|
+
_context4.next = 2;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
throw new ValidationError('Please supply a path to the source files you wish to modify');
|
|
233
|
+
case 2:
|
|
234
|
+
if (!flags.packages) {
|
|
235
|
+
_context4.next = 7;
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
unvalidatedPackages = parsePackagesFlag(flags.packages);
|
|
239
|
+
packages = validatePackages(unvalidatedPackages, function (errors) {
|
|
240
|
+
throw new ValidationError(errors.join('\n'));
|
|
241
|
+
});
|
|
242
|
+
_context4.next = 12;
|
|
243
|
+
break;
|
|
244
|
+
case 7:
|
|
245
|
+
if (!flags.sinceRef) {
|
|
249
246
|
_context4.next = 12;
|
|
250
247
|
break;
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
});
|
|
267
|
-
case 13:
|
|
268
|
-
case "end":
|
|
269
|
-
return _context4.stop();
|
|
270
|
-
}
|
|
248
|
+
}
|
|
249
|
+
_context4.next = 10;
|
|
250
|
+
return getPackagesSinceRef(flags.sinceRef);
|
|
251
|
+
case 10:
|
|
252
|
+
_unvalidatedPackages = _context4.sent;
|
|
253
|
+
packages = validatePackages(_unvalidatedPackages, function (errors) {
|
|
254
|
+
throw new Error("Detected invalid previous versions of packages upgraded since \"".concat(flags.sinceRef, "\". Previous versions must be valid semver.\n").concat(errors.join('\n')));
|
|
255
|
+
});
|
|
256
|
+
case 12:
|
|
257
|
+
return _context4.abrupt("return", {
|
|
258
|
+
packages: packages
|
|
259
|
+
});
|
|
260
|
+
case 13:
|
|
261
|
+
case "end":
|
|
262
|
+
return _context4.stop();
|
|
271
263
|
}
|
|
272
264
|
}, _callee4);
|
|
273
265
|
}));
|
|
@@ -288,96 +280,94 @@ function _main() {
|
|
|
288
280
|
_main = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(input, userFlags) {
|
|
289
281
|
var flags, logger, _yield$parseArgs, packages, _process$env$_PACKAGE, _PACKAGE_VERSION_, shouldHavePackages, availableTransforms, transforms, transformsWithModule, _iterator, _step, transform;
|
|
290
282
|
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
291
|
-
while (1) {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
_context5.next = 13;
|
|
311
|
-
break;
|
|
312
|
-
}
|
|
313
|
-
logger.log(chalk.gray("Did not find updated packages, exiting"));
|
|
314
|
-
return _context5.abrupt("return", {
|
|
315
|
-
transforms: []
|
|
316
|
-
});
|
|
317
|
-
case 13:
|
|
318
|
-
availableTransforms = getTransforms(packages);
|
|
319
|
-
if (!(availableTransforms.length === 0)) {
|
|
320
|
-
_context5.next = 16;
|
|
321
|
-
break;
|
|
322
|
-
}
|
|
323
|
-
throw new NoTransformsExistError('No codemods available. Please make sure you have the latest version of the packages you are trying to upgrade before running the codemod');
|
|
324
|
-
case 16:
|
|
325
|
-
if (!packages) {
|
|
326
|
-
_context5.next = 20;
|
|
327
|
-
break;
|
|
328
|
-
}
|
|
329
|
-
_context5.t0 = availableTransforms;
|
|
330
|
-
_context5.next = 24;
|
|
283
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
284
|
+
case 0:
|
|
285
|
+
flags = _objectSpread(_objectSpread({}, defaultFlags), userFlags);
|
|
286
|
+
logger = flags.logger;
|
|
287
|
+
_context5.next = 4;
|
|
288
|
+
return parseArgs(input, flags);
|
|
289
|
+
case 4:
|
|
290
|
+
_yield$parseArgs = _context5.sent;
|
|
291
|
+
packages = _yield$parseArgs.packages;
|
|
292
|
+
_process$env$_PACKAGE = "0.12.1", _PACKAGE_VERSION_ = _process$env$_PACKAGE === void 0 ? '0.0.0-dev' : _process$env$_PACKAGE;
|
|
293
|
+
logger.log(chalk.bgBlue(chalk.black("\uD83D\uDCDA Atlassian-Frontend codemod library @ ".concat(_PACKAGE_VERSION_, " \uD83D\uDCDA"))));
|
|
294
|
+
if (packages && packages.length > 0) {
|
|
295
|
+
logger.log(chalk.gray("Searching for codemods for newer versions of the following packages: ".concat(packages.map(function (pkg) {
|
|
296
|
+
return "".concat(pkg.name).concat(pkg.version ? '@' + pkg.version : '');
|
|
297
|
+
}))));
|
|
298
|
+
}
|
|
299
|
+
shouldHavePackages = flags.sinceRef || flags.packages && flags.packages.length > 0;
|
|
300
|
+
if (!(shouldHavePackages && (packages === null || packages === void 0 ? void 0 : packages.length) === 0)) {
|
|
301
|
+
_context5.next = 13;
|
|
331
302
|
break;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
return _objectSpread(_objectSpread({}, transform), {}, {
|
|
342
|
-
module: getTransformModule(transform)
|
|
343
|
-
});
|
|
344
|
-
});
|
|
345
|
-
logger.log(chalk.cyan("Running the following transforms \n".concat(chalk.bold(transformsWithModule.map(function (transform) {
|
|
346
|
-
return "".concat(transform.module, ": ").concat(transform.name);
|
|
347
|
-
}).join('\n')))));
|
|
348
|
-
_iterator = _createForOfIteratorHelper(transformsWithModule);
|
|
349
|
-
_context5.prev = 28;
|
|
350
|
-
_iterator.s();
|
|
351
|
-
case 30:
|
|
352
|
-
if ((_step = _iterator.n()).done) {
|
|
353
|
-
_context5.next = 36;
|
|
354
|
-
break;
|
|
355
|
-
}
|
|
356
|
-
transform = _step.value;
|
|
357
|
-
_context5.next = 34;
|
|
358
|
-
return runTransform(input, transform, flags);
|
|
359
|
-
case 34:
|
|
360
|
-
_context5.next = 30;
|
|
303
|
+
}
|
|
304
|
+
logger.log(chalk.gray("Did not find updated packages, exiting"));
|
|
305
|
+
return _context5.abrupt("return", {
|
|
306
|
+
transforms: []
|
|
307
|
+
});
|
|
308
|
+
case 13:
|
|
309
|
+
availableTransforms = getTransforms(packages);
|
|
310
|
+
if (!(availableTransforms.length === 0)) {
|
|
311
|
+
_context5.next = 16;
|
|
361
312
|
break;
|
|
362
|
-
|
|
363
|
-
|
|
313
|
+
}
|
|
314
|
+
throw new NoTransformsExistError('No codemods available. Please make sure you have the latest version of the packages you are trying to upgrade before running the codemod');
|
|
315
|
+
case 16:
|
|
316
|
+
if (!packages) {
|
|
317
|
+
_context5.next = 20;
|
|
364
318
|
break;
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
319
|
+
}
|
|
320
|
+
_context5.t0 = availableTransforms;
|
|
321
|
+
_context5.next = 24;
|
|
322
|
+
break;
|
|
323
|
+
case 20:
|
|
324
|
+
_context5.next = 22;
|
|
325
|
+
return resolveTransform(flags, availableTransforms);
|
|
326
|
+
case 22:
|
|
327
|
+
_context5.t1 = _context5.sent;
|
|
328
|
+
_context5.t0 = [_context5.t1];
|
|
329
|
+
case 24:
|
|
330
|
+
transforms = _context5.t0;
|
|
331
|
+
transformsWithModule = transforms.map(function (transform) {
|
|
332
|
+
return _objectSpread(_objectSpread({}, transform), {}, {
|
|
333
|
+
module: getTransformModule(transform)
|
|
376
334
|
});
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
return
|
|
380
|
-
|
|
335
|
+
});
|
|
336
|
+
logger.log(chalk.cyan("Running the following transforms \n".concat(chalk.bold(transformsWithModule.map(function (transform) {
|
|
337
|
+
return "".concat(transform.module, ": ").concat(transform.name);
|
|
338
|
+
}).join('\n')))));
|
|
339
|
+
_iterator = _createForOfIteratorHelper(transformsWithModule);
|
|
340
|
+
_context5.prev = 28;
|
|
341
|
+
_iterator.s();
|
|
342
|
+
case 30:
|
|
343
|
+
if ((_step = _iterator.n()).done) {
|
|
344
|
+
_context5.next = 36;
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
transform = _step.value;
|
|
348
|
+
_context5.next = 34;
|
|
349
|
+
return runTransform(input, transform, flags);
|
|
350
|
+
case 34:
|
|
351
|
+
_context5.next = 30;
|
|
352
|
+
break;
|
|
353
|
+
case 36:
|
|
354
|
+
_context5.next = 41;
|
|
355
|
+
break;
|
|
356
|
+
case 38:
|
|
357
|
+
_context5.prev = 38;
|
|
358
|
+
_context5.t2 = _context5["catch"](28);
|
|
359
|
+
_iterator.e(_context5.t2);
|
|
360
|
+
case 41:
|
|
361
|
+
_context5.prev = 41;
|
|
362
|
+
_iterator.f();
|
|
363
|
+
return _context5.finish(41);
|
|
364
|
+
case 44:
|
|
365
|
+
return _context5.abrupt("return", {
|
|
366
|
+
transforms: transformsWithModule
|
|
367
|
+
});
|
|
368
|
+
case 45:
|
|
369
|
+
case "end":
|
|
370
|
+
return _context5.stop();
|
|
381
371
|
}
|
|
382
372
|
}, _callee5, null, [[28, 38, 41, 44]]);
|
|
383
373
|
}));
|