@atlaskit/codemod-cli 0.27.1 → 0.27.3
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 +15 -0
- package/dist/cjs/cli.js +3 -3
- package/dist/cjs/filepath.js +4 -2
- package/dist/cjs/main.js +90 -38
- package/dist/cjs/presets/index.js +2 -1
- package/dist/cjs/presets/migrate-to-link/codemods/migrate-to-link.js +2 -2
- package/dist/cjs/presets/migrate-to-new-buttons/codemods/next-split-imports.js +1 -1
- package/dist/cjs/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +2 -2
- package/dist/cjs/presets/migrate-to-new-buttons/utils/add-comment-for-custom-theme-buttons.js +1 -1
- package/dist/cjs/presets/remove-token-fallbacks/remove-token-fallbacks.js +225 -0
- package/dist/cjs/presets/remove-token-fallbacks/types.js +5 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/all-tokens.js +44 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/color-utils.js +93 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/get-team-info.js +51 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/normalize-values.js +113 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/remove-unused-imports.js +61 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/remove-unused-variables.js +37 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/reporter.js +310 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/token-processor.js +632 -0
- package/dist/cjs/presets/remove-token-fallbacks/utils/update-comments.js +58 -0
- package/dist/cjs/presets/upgrade-pragmatic-drag-and-drop-to-stable/upgrade-pragmatic-drag-and-drop-to-stable.js +3 -3
- package/dist/cjs/sinceRef.js +2 -1
- package/dist/cjs/transforms.js +3 -1
- package/dist/cjs/types.js +2 -1
- package/dist/es2019/cli.js +3 -3
- package/dist/es2019/filepath.js +4 -2
- package/dist/es2019/main.js +30 -6
- package/dist/es2019/presets/index.js +2 -1
- package/dist/es2019/presets/migrate-to-link/codemods/migrate-to-link.js +2 -3
- package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.js +1 -1
- package/dist/es2019/presets/migrate-to-new-buttons/codemods/next-split-imports.js +2 -2
- package/dist/es2019/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +2 -2
- package/dist/es2019/presets/migrate-to-new-buttons/utils/add-comment-for-custom-theme-buttons.js +1 -1
- package/dist/es2019/presets/migrate-to-new-buttons/utils/migrate-fit-container-icon-button.js +1 -1
- package/dist/es2019/presets/remove-token-fallbacks/remove-token-fallbacks.js +130 -0
- package/dist/es2019/presets/remove-token-fallbacks/types.js +1 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/all-tokens.js +30 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/color-utils.js +84 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/get-team-info.js +22 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/normalize-values.js +104 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/remove-unused-imports.js +51 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/remove-unused-variables.js +31 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/reporter.js +118 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/token-processor.js +377 -0
- package/dist/es2019/presets/remove-token-fallbacks/utils/update-comments.js +46 -0
- package/dist/es2019/presets/theme-remove-deprecated-mixins/theme-remove-deprecated-mixins.js +1 -1
- package/dist/es2019/presets/upgrade-pragmatic-drag-and-drop-to-stable/upgrade-pragmatic-drag-and-drop-to-stable.js +3 -3
- package/dist/es2019/sinceRef.js +2 -1
- package/dist/es2019/transforms.js +3 -1
- package/dist/es2019/types.js +2 -1
- package/dist/esm/cli.js +3 -3
- package/dist/esm/filepath.js +4 -2
- package/dist/esm/main.js +91 -39
- package/dist/esm/presets/index.js +2 -1
- package/dist/esm/presets/migrate-to-link/codemods/migrate-to-link.js +2 -3
- package/dist/esm/presets/migrate-to-new-buttons/codemods/next-remove-unsafe-size.js +1 -1
- package/dist/esm/presets/migrate-to-new-buttons/codemods/next-split-imports.js +2 -2
- package/dist/esm/presets/migrate-to-new-buttons/migrate-to-new-buttons.js +2 -2
- package/dist/esm/presets/migrate-to-new-buttons/utils/add-comment-for-custom-theme-buttons.js +1 -1
- package/dist/esm/presets/migrate-to-new-buttons/utils/migrate-fit-container-icon-button.js +1 -1
- package/dist/esm/presets/remove-token-fallbacks/remove-token-fallbacks.js +215 -0
- package/dist/esm/presets/remove-token-fallbacks/types.js +1 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/all-tokens.js +38 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/color-utils.js +86 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/get-team-info.js +44 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/normalize-values.js +107 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/remove-unused-imports.js +55 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/remove-unused-variables.js +31 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/reporter.js +302 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/token-processor.js +625 -0
- package/dist/esm/presets/remove-token-fallbacks/utils/update-comments.js +51 -0
- package/dist/esm/presets/theme-remove-deprecated-mixins/theme-remove-deprecated-mixins.js +1 -1
- package/dist/esm/presets/upgrade-pragmatic-drag-and-drop-to-stable/upgrade-pragmatic-drag-and-drop-to-stable.js +3 -3
- package/dist/esm/sinceRef.js +2 -1
- package/dist/esm/transforms.js +3 -1
- package/dist/esm/types.js +2 -1
- package/dist/types/filepath.d.ts +3 -1
- package/dist/types/main.d.ts +1 -1
- package/dist/types/presets/index.d.ts +1 -0
- package/dist/types/presets/migrate-to-new-buttons/utils/import-types-from-new-entry-point.d.ts +1 -1
- package/dist/types/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.d.ts +1 -1
- package/dist/types/presets/remove-token-fallbacks/remove-token-fallbacks.d.ts +29 -0
- package/dist/types/presets/remove-token-fallbacks/types.d.ts +39 -0
- package/dist/types/presets/remove-token-fallbacks/utils/all-tokens.d.ts +1 -0
- package/dist/types/presets/remove-token-fallbacks/utils/color-utils.d.ts +3 -0
- package/dist/types/presets/remove-token-fallbacks/utils/get-team-info.d.ts +8 -0
- package/dist/types/presets/remove-token-fallbacks/utils/normalize-values.d.ts +8 -0
- package/dist/types/presets/remove-token-fallbacks/utils/remove-unused-imports.d.ts +2 -0
- package/dist/types/presets/remove-token-fallbacks/utils/remove-unused-variables.d.ts +2 -0
- package/dist/types/presets/remove-token-fallbacks/utils/reporter.d.ts +4 -0
- package/dist/types/presets/remove-token-fallbacks/utils/token-processor.d.ts +30 -0
- package/dist/types/presets/remove-token-fallbacks/utils/update-comments.d.ts +2 -0
- package/dist/types/presets/styled-to-emotion/styled-to-emotion.d.ts +1 -1
- package/dist/types/presets/upgrade-pragmatic-drag-and-drop-to-stable/upgrade-pragmatic-drag-and-drop-to-stable.d.ts +1 -1
- package/dist/types/sinceRef.d.ts +2 -1
- package/dist/types/transforms.d.ts +3 -1
- package/dist/types/types.d.ts +3 -2
- package/dist/types-ts4.5/filepath.d.ts +3 -1
- package/dist/types-ts4.5/main.d.ts +1 -1
- package/dist/types-ts4.5/presets/index.d.ts +1 -0
- package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/import-types-from-new-entry-point.d.ts +1 -1
- package/dist/types-ts4.5/presets/migrate-to-new-buttons/utils/move-icon-value-from-link-button-to-link-children.d.ts +1 -1
- package/dist/types-ts4.5/presets/remove-token-fallbacks/remove-token-fallbacks.d.ts +29 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/types.d.ts +39 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/all-tokens.d.ts +1 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/color-utils.d.ts +3 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/get-team-info.d.ts +8 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/normalize-values.d.ts +8 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/remove-unused-imports.d.ts +2 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/remove-unused-variables.d.ts +2 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/reporter.d.ts +4 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/token-processor.d.ts +30 -0
- package/dist/types-ts4.5/presets/remove-token-fallbacks/utils/update-comments.d.ts +2 -0
- package/dist/types-ts4.5/presets/styled-to-emotion/styled-to-emotion.d.ts +1 -1
- package/dist/types-ts4.5/presets/upgrade-pragmatic-drag-and-drop-to-stable/upgrade-pragmatic-drag-and-drop-to-stable.d.ts +1 -1
- package/dist/types-ts4.5/sinceRef.d.ts +2 -1
- package/dist/types-ts4.5/transforms.d.ts +3 -1
- package/dist/types-ts4.5/types.d.ts +3 -2
- package/package.json +8 -3
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
7
|
+
/* eslint-disable no-console */
|
|
8
|
+
import fs from 'fs/promises';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
11
|
+
function writeToCsv(_x, _x2) {
|
|
12
|
+
return _writeToCsv.apply(this, arguments);
|
|
13
|
+
}
|
|
14
|
+
function _writeToCsv() {
|
|
15
|
+
_writeToCsv = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(filePath, data) {
|
|
16
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
17
|
+
while (1) switch (_context.prev = _context.next) {
|
|
18
|
+
case 0:
|
|
19
|
+
_context.next = 2;
|
|
20
|
+
return fs.writeFile(filePath, data.join('\n'), 'utf-8');
|
|
21
|
+
case 2:
|
|
22
|
+
case "end":
|
|
23
|
+
return _context.stop();
|
|
24
|
+
}
|
|
25
|
+
}, _callee);
|
|
26
|
+
}));
|
|
27
|
+
return _writeToCsv.apply(this, arguments);
|
|
28
|
+
}
|
|
29
|
+
function readCsv(_x3) {
|
|
30
|
+
return _readCsv.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
function _readCsv() {
|
|
33
|
+
_readCsv = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(filePath) {
|
|
34
|
+
var data;
|
|
35
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
36
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
37
|
+
case 0:
|
|
38
|
+
_context2.next = 2;
|
|
39
|
+
return fs.readFile(filePath, 'utf-8');
|
|
40
|
+
case 2:
|
|
41
|
+
data = _context2.sent;
|
|
42
|
+
return _context2.abrupt("return", data.split('\n').filter(function (line) {
|
|
43
|
+
return line.trim() !== '';
|
|
44
|
+
}));
|
|
45
|
+
case 4:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context2.stop();
|
|
48
|
+
}
|
|
49
|
+
}, _callee2);
|
|
50
|
+
}));
|
|
51
|
+
return _readCsv.apply(this, arguments);
|
|
52
|
+
}
|
|
53
|
+
function escapeCsvValue(value) {
|
|
54
|
+
if (!value) {
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
if (value.includes('"')) {
|
|
58
|
+
// Escape double quotes by doubling them
|
|
59
|
+
value = value.replace(/"/g, '""');
|
|
60
|
+
}
|
|
61
|
+
if (value.includes(',') || value.includes('"') || value.includes('\n')) {
|
|
62
|
+
// Surround the value with double quotes if it contains a comma, double quotes, or newlines
|
|
63
|
+
value = "\"".concat(value, "\"");
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
export function clearFolder(_x4) {
|
|
68
|
+
return _clearFolder.apply(this, arguments);
|
|
69
|
+
}
|
|
70
|
+
function _clearFolder() {
|
|
71
|
+
_clearFolder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(reportFolder) {
|
|
72
|
+
var filesToDelete, _iterator, _step, file, filePath;
|
|
73
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
74
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
console.log('Clearing report folder:', reportFolder);
|
|
77
|
+
_context3.next = 3;
|
|
78
|
+
return fs.readdir(reportFolder);
|
|
79
|
+
case 3:
|
|
80
|
+
filesToDelete = _context3.sent;
|
|
81
|
+
_iterator = _createForOfIteratorHelper(filesToDelete);
|
|
82
|
+
_context3.prev = 5;
|
|
83
|
+
_iterator.s();
|
|
84
|
+
case 7:
|
|
85
|
+
if ((_step = _iterator.n()).done) {
|
|
86
|
+
_context3.next = 14;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
file = _step.value;
|
|
90
|
+
filePath = path.join(reportFolder, file);
|
|
91
|
+
_context3.next = 12;
|
|
92
|
+
return fs.unlink(filePath);
|
|
93
|
+
case 12:
|
|
94
|
+
_context3.next = 7;
|
|
95
|
+
break;
|
|
96
|
+
case 14:
|
|
97
|
+
_context3.next = 19;
|
|
98
|
+
break;
|
|
99
|
+
case 16:
|
|
100
|
+
_context3.prev = 16;
|
|
101
|
+
_context3.t0 = _context3["catch"](5);
|
|
102
|
+
_iterator.e(_context3.t0);
|
|
103
|
+
case 19:
|
|
104
|
+
_context3.prev = 19;
|
|
105
|
+
_iterator.f();
|
|
106
|
+
return _context3.finish(19);
|
|
107
|
+
case 22:
|
|
108
|
+
case "end":
|
|
109
|
+
return _context3.stop();
|
|
110
|
+
}
|
|
111
|
+
}, _callee3, null, [[5, 16, 19, 22]]);
|
|
112
|
+
}));
|
|
113
|
+
return _clearFolder.apply(this, arguments);
|
|
114
|
+
}
|
|
115
|
+
function saveFilePaths(_x5, _x6) {
|
|
116
|
+
return _saveFilePaths.apply(this, arguments);
|
|
117
|
+
}
|
|
118
|
+
function _saveFilePaths() {
|
|
119
|
+
_saveFilePaths = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(reportFolder, files) {
|
|
120
|
+
var filesTxtPath;
|
|
121
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
122
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
123
|
+
case 0:
|
|
124
|
+
filesTxtPath = path.join(reportFolder, 'files.txt');
|
|
125
|
+
_context4.next = 3;
|
|
126
|
+
return fs.writeFile(filesTxtPath, Array.from(files).map(function (filePath) {
|
|
127
|
+
return "\"".concat(filePath, "\"");
|
|
128
|
+
}).join(' '), 'utf-8');
|
|
129
|
+
case 3:
|
|
130
|
+
case "end":
|
|
131
|
+
return _context4.stop();
|
|
132
|
+
}
|
|
133
|
+
}, _callee4);
|
|
134
|
+
}));
|
|
135
|
+
return _saveFilePaths.apply(this, arguments);
|
|
136
|
+
}
|
|
137
|
+
export function combineReports(_x7) {
|
|
138
|
+
return _combineReports.apply(this, arguments);
|
|
139
|
+
}
|
|
140
|
+
function _combineReports() {
|
|
141
|
+
_combineReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(reportFolder) {
|
|
142
|
+
var files, totalReplaced, totalNotReplaced, combinedReplacements, combinedNonReplacements, affectedPaths, _iterator2, _step2, file, filePath, replacements, codeFilePaths, _iterator3, _step3, codeFilePath, nonReplacements, totalTokens, percentageReplaced, combinedSummaryPath, summaryData, sortCsvLines, sortedReplacements, sortedNonReplacements, combinedReplacementsPath, header, combinedNonReplacementsPath;
|
|
143
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
144
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
145
|
+
case 0:
|
|
146
|
+
console.log('Combining reports in folder:', reportFolder);
|
|
147
|
+
_context5.next = 3;
|
|
148
|
+
return fs.readdir(reportFolder);
|
|
149
|
+
case 3:
|
|
150
|
+
files = _context5.sent;
|
|
151
|
+
totalReplaced = 0;
|
|
152
|
+
totalNotReplaced = 0;
|
|
153
|
+
combinedReplacements = [];
|
|
154
|
+
combinedNonReplacements = [];
|
|
155
|
+
affectedPaths = new Set();
|
|
156
|
+
_iterator2 = _createForOfIteratorHelper(files);
|
|
157
|
+
_context5.prev = 10;
|
|
158
|
+
_iterator2.s();
|
|
159
|
+
case 12:
|
|
160
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
161
|
+
_context5.next = 34;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
file = _step2.value;
|
|
165
|
+
filePath = path.join(reportFolder, file);
|
|
166
|
+
if (!file.endsWith('_success.csv')) {
|
|
167
|
+
_context5.next = 26;
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
_context5.next = 18;
|
|
171
|
+
return readCsv(filePath);
|
|
172
|
+
case 18:
|
|
173
|
+
replacements = _context5.sent;
|
|
174
|
+
codeFilePaths = replacements.map(function (x) {
|
|
175
|
+
return x.split(',')[2];
|
|
176
|
+
});
|
|
177
|
+
_iterator3 = _createForOfIteratorHelper(codeFilePaths);
|
|
178
|
+
try {
|
|
179
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
180
|
+
codeFilePath = _step3.value;
|
|
181
|
+
affectedPaths.add(codeFilePath);
|
|
182
|
+
}
|
|
183
|
+
} catch (err) {
|
|
184
|
+
_iterator3.e(err);
|
|
185
|
+
} finally {
|
|
186
|
+
_iterator3.f();
|
|
187
|
+
}
|
|
188
|
+
totalReplaced += replacements.length;
|
|
189
|
+
combinedReplacements.push.apply(combinedReplacements, _toConsumableArray(replacements));
|
|
190
|
+
_context5.next = 32;
|
|
191
|
+
break;
|
|
192
|
+
case 26:
|
|
193
|
+
if (!file.endsWith('_failed.csv')) {
|
|
194
|
+
_context5.next = 32;
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
_context5.next = 29;
|
|
198
|
+
return readCsv(filePath);
|
|
199
|
+
case 29:
|
|
200
|
+
nonReplacements = _context5.sent;
|
|
201
|
+
totalNotReplaced += nonReplacements.length;
|
|
202
|
+
combinedNonReplacements.push.apply(combinedNonReplacements, _toConsumableArray(nonReplacements));
|
|
203
|
+
case 32:
|
|
204
|
+
_context5.next = 12;
|
|
205
|
+
break;
|
|
206
|
+
case 34:
|
|
207
|
+
_context5.next = 39;
|
|
208
|
+
break;
|
|
209
|
+
case 36:
|
|
210
|
+
_context5.prev = 36;
|
|
211
|
+
_context5.t0 = _context5["catch"](10);
|
|
212
|
+
_iterator2.e(_context5.t0);
|
|
213
|
+
case 39:
|
|
214
|
+
_context5.prev = 39;
|
|
215
|
+
_iterator2.f();
|
|
216
|
+
return _context5.finish(39);
|
|
217
|
+
case 42:
|
|
218
|
+
totalTokens = totalReplaced + totalNotReplaced;
|
|
219
|
+
percentageReplaced = totalTokens > 0 ? totalReplaced / totalTokens * 100 : 0;
|
|
220
|
+
_context5.next = 46;
|
|
221
|
+
return clearFolder(reportFolder);
|
|
222
|
+
case 46:
|
|
223
|
+
// Write combined summary as JSON
|
|
224
|
+
combinedSummaryPath = path.join(reportFolder, 'summary.json');
|
|
225
|
+
summaryData = {
|
|
226
|
+
totalReplaced: totalReplaced,
|
|
227
|
+
totalNotReplaced: totalNotReplaced,
|
|
228
|
+
percentageReplaced: percentageReplaced
|
|
229
|
+
};
|
|
230
|
+
_context5.next = 50;
|
|
231
|
+
return fs.writeFile(combinedSummaryPath, JSON.stringify(summaryData, null, 2), 'utf-8');
|
|
232
|
+
case 50:
|
|
233
|
+
// Sort the combined arrays
|
|
234
|
+
sortCsvLines = function sortCsvLines(lines) {
|
|
235
|
+
return lines.sort(function (a, b) {
|
|
236
|
+
var aCols = a.split(',');
|
|
237
|
+
var bCols = b.split(',');
|
|
238
|
+
for (var i = 0; i < 4; i++) {
|
|
239
|
+
var comparison = aCols[i].localeCompare(bCols[i]);
|
|
240
|
+
if (comparison !== 0) {
|
|
241
|
+
return comparison;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return 0;
|
|
245
|
+
});
|
|
246
|
+
};
|
|
247
|
+
sortedReplacements = sortCsvLines(combinedReplacements);
|
|
248
|
+
sortedNonReplacements = sortCsvLines(combinedNonReplacements); // Write combined replacements
|
|
249
|
+
combinedReplacementsPath = path.join(reportFolder, 'success.csv');
|
|
250
|
+
header = 'Team,Package,File,Line Number,Raw Token Key,Raw Fallback Value,Resolved Token Value,Resolved Fallback Value,Difference %';
|
|
251
|
+
_context5.next = 57;
|
|
252
|
+
return fs.writeFile(combinedReplacementsPath, [header].concat(_toConsumableArray(sortedReplacements)).join('\n'), 'utf-8');
|
|
253
|
+
case 57:
|
|
254
|
+
// Write combined non-replacements
|
|
255
|
+
combinedNonReplacementsPath = path.join(reportFolder, 'failed.csv');
|
|
256
|
+
_context5.next = 60;
|
|
257
|
+
return fs.writeFile(combinedNonReplacementsPath, [header].concat(_toConsumableArray(sortedNonReplacements)).join('\n'), 'utf-8');
|
|
258
|
+
case 60:
|
|
259
|
+
_context5.next = 62;
|
|
260
|
+
return saveFilePaths(reportFolder, affectedPaths);
|
|
261
|
+
case 62:
|
|
262
|
+
case "end":
|
|
263
|
+
return _context5.stop();
|
|
264
|
+
}
|
|
265
|
+
}, _callee5, null, [[10, 36, 39, 42]]);
|
|
266
|
+
}));
|
|
267
|
+
return _combineReports.apply(this, arguments);
|
|
268
|
+
}
|
|
269
|
+
function prepareCsvData(items) {
|
|
270
|
+
return items.map(function (item) {
|
|
271
|
+
var _item$difference$toFi, _item$difference;
|
|
272
|
+
return [escapeCsvValue(item.teamInfo.teamName), escapeCsvValue(item.teamInfo.packageName), escapeCsvValue(item.filePath), escapeCsvValue(String(item.lineNumber)), escapeCsvValue(item.tokenKey), escapeCsvValue(item.rawFallbackValue), escapeCsvValue(item.resolvedTokenValue), escapeCsvValue(item.resolvedFallbackValue), escapeCsvValue((_item$difference$toFi = (_item$difference = item.difference) === null || _item$difference === void 0 ? void 0 : _item$difference.toFixed(1)) !== null && _item$difference$toFi !== void 0 ? _item$difference$toFi : '')].join(',');
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
export function writeReports(_x8, _x9) {
|
|
276
|
+
return _writeReports.apply(this, arguments);
|
|
277
|
+
}
|
|
278
|
+
function _writeReports() {
|
|
279
|
+
_writeReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(details, reportFolder) {
|
|
280
|
+
var replacementsFilePath, nonReplacementsFilePath, replacementData, nonReplacementData;
|
|
281
|
+
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
282
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
283
|
+
case 0:
|
|
284
|
+
replacementsFilePath = path.join(reportFolder, "".concat(uuidv4(), "_success.csv"));
|
|
285
|
+
nonReplacementsFilePath = path.join(reportFolder, "".concat(uuidv4(), "_failed.csv"));
|
|
286
|
+
_context6.next = 4;
|
|
287
|
+
return fs.mkdir(reportFolder, {
|
|
288
|
+
recursive: true
|
|
289
|
+
});
|
|
290
|
+
case 4:
|
|
291
|
+
replacementData = prepareCsvData(details.replaced);
|
|
292
|
+
nonReplacementData = prepareCsvData(details.notReplaced);
|
|
293
|
+
_context6.next = 8;
|
|
294
|
+
return Promise.all([writeToCsv(replacementsFilePath, replacementData), writeToCsv(nonReplacementsFilePath, nonReplacementData)]);
|
|
295
|
+
case 8:
|
|
296
|
+
case "end":
|
|
297
|
+
return _context6.stop();
|
|
298
|
+
}
|
|
299
|
+
}, _callee6);
|
|
300
|
+
}));
|
|
301
|
+
return _writeReports.apply(this, arguments);
|
|
302
|
+
}
|