@atlaskit/dependency-version-analytics 0.4.2 → 1.0.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 (45) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/cli.js +4 -18
  3. package/dist/cjs/commands/populate-historic-data/index.js +0 -3
  4. package/dist/cjs/commands/populate-historic-data/lib/dependency-store.js +24 -141
  5. package/dist/cjs/commands/populate-historic-data/package.js +3 -27
  6. package/dist/cjs/commands/populate-historic-data/product.js +15 -88
  7. package/dist/cjs/commands/populate-historic-data/util/generate-csv.js +4 -16
  8. package/dist/cjs/index.js +0 -2
  9. package/dist/cjs/util/analytics.js +0 -38
  10. package/dist/cjs/util/assert.js +0 -1
  11. package/dist/cjs/util/env-with-guard.js +0 -2
  12. package/dist/cjs/util/get-file-history-from-git.js +0 -5
  13. package/dist/cjs/util/get-package-version-history.js +0 -6
  14. package/dist/cjs/util/git.js +20 -58
  15. package/dist/cjs/util/statlas.js +0 -25
  16. package/dist/cjs/util/yarn.js +0 -32
  17. package/dist/cjs/version.json +1 -1
  18. package/dist/es2019/cli.js +4 -8
  19. package/dist/es2019/commands/populate-historic-data/lib/dependency-store.js +24 -73
  20. package/dist/es2019/commands/populate-historic-data/package.js +0 -8
  21. package/dist/es2019/commands/populate-historic-data/product.js +4 -22
  22. package/dist/es2019/commands/populate-historic-data/util/generate-csv.js +2 -9
  23. package/dist/es2019/util/analytics.js +4 -19
  24. package/dist/es2019/util/env-with-guard.js +0 -1
  25. package/dist/es2019/util/get-file-history-from-git.js +2 -3
  26. package/dist/es2019/util/get-package-version-history.js +0 -4
  27. package/dist/es2019/util/git.js +29 -24
  28. package/dist/es2019/util/statlas.js +0 -6
  29. package/dist/es2019/util/yarn.js +2 -11
  30. package/dist/es2019/version.json +1 -1
  31. package/dist/esm/cli.js +6 -12
  32. package/dist/esm/commands/populate-historic-data/lib/dependency-store.js +27 -131
  33. package/dist/esm/commands/populate-historic-data/package.js +3 -20
  34. package/dist/esm/commands/populate-historic-data/product.js +15 -72
  35. package/dist/esm/commands/populate-historic-data/util/generate-csv.js +4 -13
  36. package/dist/esm/util/analytics.js +2 -28
  37. package/dist/esm/util/env-with-guard.js +0 -1
  38. package/dist/esm/util/get-file-history-from-git.js +2 -3
  39. package/dist/esm/util/get-package-version-history.js +0 -4
  40. package/dist/esm/util/git.js +21 -50
  41. package/dist/esm/util/statlas.js +0 -19
  42. package/dist/esm/util/yarn.js +0 -19
  43. package/dist/esm/version.json +1 -1
  44. package/package.json +3 -3
  45. package/report.api.md +1 -1
@@ -1,42 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = populatePackage;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _semver = _interopRequireDefault(require("semver"));
17
-
18
12
  var _getPackageVersionHistory = _interopRequireDefault(require("../../util/get-package-version-history"));
19
-
20
13
  var _analytics = require("../../util/analytics");
21
-
22
14
  var createAnalyticsEvents = function createAnalyticsEvents(packageName, packageVersionHistory, since) {
23
15
  var sortedPackageVersionHistory = Object.entries(packageVersionHistory).filter(function (_ref) {
24
16
  var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
25
- version = _ref2[0];
26
-
17
+ version = _ref2[0];
27
18
  return _semver.default.valid(version);
28
19
  }).sort(function (a, b) {
29
20
  return Number(new Date(a[1])) - Number(new Date(b[1]));
30
21
  });
31
22
  var upgradeEvents = sortedPackageVersionHistory.map(function (_ref3, i) {
32
23
  var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
33
- version = _ref4[0],
34
- time = _ref4[1];
35
-
24
+ version = _ref4[0],
25
+ time = _ref4[1];
36
26
  if (since && Number(new Date(time)) <= Number(new Date(since))) {
37
27
  return null;
38
28
  }
39
-
40
29
  var previousVersion = sortedPackageVersionHistory[i - 1] && sortedPackageVersionHistory[i - 1][0];
41
30
  return (0, _analytics.createUpgradeEvent)(packageName, version, previousVersion, time, {
42
31
  historical: true
@@ -46,11 +35,9 @@ var createAnalyticsEvents = function createAnalyticsEvents(packageName, packageV
46
35
  });
47
36
  return upgradeEvents;
48
37
  };
49
-
50
38
  function populatePackage(_x) {
51
39
  return _populatePackage.apply(this, arguments);
52
40
  }
53
-
54
41
  function _populatePackage() {
55
42
  _populatePackage = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(flags) {
56
43
  var packageVersionHistory, analyticsEvents;
@@ -62,34 +49,25 @@ function _populatePackage() {
62
49
  _context.next = 2;
63
50
  break;
64
51
  }
65
-
66
52
  throw new Error("Package must start with '@atlaskit/'");
67
-
68
53
  case 2:
69
54
  _context.next = 4;
70
55
  return (0, _getPackageVersionHistory.default)(flags.pkg);
71
-
72
56
  case 4:
73
57
  packageVersionHistory = _context.sent;
74
-
75
58
  if (!(flags.since && Number.isNaN(Number(new Date(flags.since))))) {
76
59
  _context.next = 7;
77
60
  break;
78
61
  }
79
-
80
62
  throw new Error("'since' flag is an invalid date");
81
-
82
63
  case 7:
83
64
  analyticsEvents = createAnalyticsEvents(flags.pkg, packageVersionHistory, flags.since);
84
-
85
65
  if (!flags.dryRun) {
86
66
  _context.next = 11;
87
67
  break;
88
68
  }
89
-
90
69
  console.log(JSON.stringify(analyticsEvents));
91
70
  return _context.abrupt("return", analyticsEvents);
92
-
93
71
  case 11:
94
72
  _context.next = 13;
95
73
  return (0, _analytics.sendAnalytics)(analyticsEvents, {
@@ -98,10 +76,8 @@ function _populatePackage() {
98
76
  product: 'atlaskit',
99
77
  skipPrompt: !flags.interactive
100
78
  });
101
-
102
79
  case 13:
103
80
  return _context.abrupt("return", analyticsEvents);
104
-
105
81
  case 14:
106
82
  case "end":
107
83
  return _context.stop();
@@ -1,55 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = populateProduct;
11
-
12
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
13
  var _constants = require("../../constants");
21
-
22
14
  var _chalk = _interopRequireDefault(require("chalk"));
23
-
24
15
  var _analytics = require("../../util/analytics");
25
-
26
16
  var _git = require("../../util/git");
27
-
28
17
  var statlas = _interopRequireWildcard(require("../../util/statlas"));
29
-
30
18
  var _generateCsv = require("./util/generate-csv");
31
-
32
19
  var _assert = require("../../util/assert");
33
-
34
20
  var _dependencyStore = require("./lib/dependency-store");
35
-
36
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
40
23
  var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDeps, newDeps, _ref) {
41
24
  var date = _ref.date,
42
- commitHash = _ref.commitHash;
25
+ commitHash = _ref.commitHash;
43
26
  var addOrUpgradeEvents = Object.entries(newDeps).map(function (_ref2) {
44
27
  var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
45
- name = _ref3[0],
46
- _ref3$ = _ref3[1],
47
- version = _ref3$.version,
48
- type = _ref3$.type;
49
-
50
- var prevDep = oldDeps[name]; // Only treat a dependency as previous if the dependency type matches
28
+ name = _ref3[0],
29
+ _ref3$ = _ref3[1],
30
+ version = _ref3$.version,
31
+ type = _ref3$.type;
32
+ var prevDep = oldDeps[name];
33
+ // Only treat a dependency as previous if the dependency type matches
51
34
  // Otherwise, we want separate add/remove events
52
-
53
35
  var prevVersion = prevDep && prevDep.type === type ? prevDep.version : undefined;
54
36
  return (0, _analytics.createUpgradeEvent)(name, version, prevVersion, date, {
55
37
  commitHash: commitHash,
@@ -61,19 +43,18 @@ var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDe
61
43
  });
62
44
  var removeEvents = Object.entries(oldDeps).filter(function (_ref4) {
63
45
  var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
64
- name = _ref5[0],
65
- type = _ref5[1].type;
66
-
67
- return (// Treat the same dep under a different dependency type as a new dep
46
+ name = _ref5[0],
47
+ type = _ref5[1].type;
48
+ return (
49
+ // Treat the same dep under a different dependency type as a new dep
68
50
  newDeps[name] == null || newDeps[name].type !== type
69
51
  );
70
52
  }).map(function (_ref6) {
71
53
  var _ref7 = (0, _slicedToArray2.default)(_ref6, 2),
72
- name = _ref7[0],
73
- _ref7$ = _ref7[1],
74
- version = _ref7$.version,
75
- type = _ref7$.type;
76
-
54
+ name = _ref7[0],
55
+ _ref7$ = _ref7[1],
56
+ version = _ref7$.version,
57
+ type = _ref7$.type;
77
58
  return (0, _analytics.createUpgradeEvent)(name, undefined, version, date, {
78
59
  commitHash: commitHash,
79
60
  dependencyType: type,
@@ -84,7 +65,6 @@ var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDe
84
65
  });
85
66
  return [].concat((0, _toConsumableArray2.default)(addOrUpgradeEvents), (0, _toConsumableArray2.default)(removeEvents));
86
67
  };
87
-
88
68
  var getEventsFromHistory = /*#__PURE__*/function () {
89
69
  var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(packageChangesLog, prevRunHash, _ref8) {
90
70
  var cwd, allPackageChanges, allUpgradeEvents, dependencyStore, dependencies, i, item, newDependencies, packageChange, upgradeEvents;
@@ -99,26 +79,20 @@ var getEventsFromHistory = /*#__PURE__*/function () {
99
79
  dependencyStore = new _dependencyStore.DependencyStore(cwd);
100
80
  _context.next = 7;
101
81
  return dependencyStore.initialise(prevRunHash);
102
-
103
82
  case 7:
104
83
  dependencies = _context.sent;
105
84
  i = 0;
106
-
107
85
  case 9:
108
86
  if (!(i < packageChangesLog.all.length)) {
109
87
  _context.next = 21;
110
88
  break;
111
89
  }
112
-
113
90
  item = packageChangesLog.all[i];
114
-
115
91
  if (allPackageChanges.length > 0) {
116
92
  dependencies = allPackageChanges[allPackageChanges.length - 1].akDeps;
117
93
  }
118
-
119
94
  _context.next = 14;
120
95
  return dependencyStore.update(item);
121
-
122
96
  case 14:
123
97
  newDependencies = _context.sent;
124
98
  packageChange = {
@@ -129,23 +103,19 @@ var getEventsFromHistory = /*#__PURE__*/function () {
129
103
  date: packageChange.date,
130
104
  commitHash: item.hash
131
105
  });
132
-
133
106
  if (upgradeEvents.length > 0) {
134
107
  allUpgradeEvents.push.apply(allUpgradeEvents, (0, _toConsumableArray2.default)(upgradeEvents));
135
108
  allPackageChanges.push(packageChange);
136
109
  }
137
-
138
110
  case 18:
139
111
  i++;
140
112
  _context.next = 9;
141
113
  break;
142
-
143
114
  case 21:
144
115
  return _context.abrupt("return", {
145
116
  allPackageChanges: allPackageChanges,
146
117
  allUpgradeEvents: allUpgradeEvents
147
118
  });
148
-
149
119
  case 22:
150
120
  case "end":
151
121
  return _context.stop();
@@ -153,16 +123,13 @@ var getEventsFromHistory = /*#__PURE__*/function () {
153
123
  }
154
124
  }, _callee);
155
125
  }));
156
-
157
126
  return function getEventsFromHistory(_x, _x2, _x3) {
158
127
  return _ref9.apply(this, arguments);
159
128
  };
160
129
  }();
161
-
162
130
  function getSinceRef(_x4) {
163
131
  return _getSinceRef.apply(this, arguments);
164
132
  }
165
-
166
133
  function _getSinceRef() {
167
134
  _getSinceRef = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(flags) {
168
135
  var meta, tag, tagExists;
@@ -174,45 +141,33 @@ function _getSinceRef() {
174
141
  _context2.next = 9;
175
142
  break;
176
143
  }
177
-
178
144
  _context2.next = 3;
179
145
  return statlas.getMeta(flags.product);
180
-
181
146
  case 3:
182
147
  meta = _context2.sent;
183
-
184
148
  if (!(!meta || !meta.lastRunHash)) {
185
149
  _context2.next = 6;
186
150
  break;
187
151
  }
188
-
189
152
  throw new Error(_chalk.default.red("Missing or invalid metadata file for ".concat(flags.product, ". Must use --reset for populating from start of history")));
190
-
191
153
  case 6:
192
154
  return _context2.abrupt("return", meta.lastRunHash);
193
-
194
155
  case 9:
195
156
  tag = flags.tag || _constants.DEFAULT_TAG;
196
157
  _context2.next = 12;
197
158
  return (0, _git.refetchTag)(tag);
198
-
199
159
  case 12:
200
160
  _context2.next = 14;
201
161
  return (0, _git.doesTagExist)(tag);
202
-
203
162
  case 14:
204
163
  tagExists = _context2.sent;
205
-
206
164
  if (tagExists) {
207
165
  _context2.next = 17;
208
166
  break;
209
167
  }
210
-
211
168
  throw new Error(_chalk.default.red("Tag '".concat(tag, "' does not exist. Must use --reset for populating from start of history.")));
212
-
213
169
  case 17:
214
170
  return _context2.abrupt("return", tag);
215
-
216
171
  case 18:
217
172
  case "end":
218
173
  return _context2.stop();
@@ -222,88 +177,69 @@ function _getSinceRef() {
222
177
  }));
223
178
  return _getSinceRef.apply(this, arguments);
224
179
  }
225
-
226
180
  function populateProduct(_x5) {
227
181
  return _populateProduct.apply(this, arguments);
228
182
  }
229
-
230
183
  function _populateProduct() {
231
184
  _populateProduct = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(flags) {
232
185
  var cwd, sinceRef, log, _yield$getEventsFromH, allPackageChanges, allUpgradeEvents, csv, currentCommit;
233
-
234
186
  return _regenerator.default.wrap(function _callee3$(_context3) {
235
187
  while (1) {
236
188
  switch (_context3.prev = _context3.next) {
237
189
  case 0:
238
190
  cwd = flags.cwd || process.cwd();
239
-
240
191
  if (!flags.reset) {
241
192
  _context3.next = 5;
242
193
  break;
243
194
  }
244
-
245
195
  _context3.t0 = undefined;
246
196
  _context3.next = 8;
247
197
  break;
248
-
249
198
  case 5:
250
199
  _context3.next = 7;
251
200
  return getSinceRef(flags);
252
-
253
201
  case 7:
254
202
  _context3.t0 = _context3.sent;
255
-
256
203
  case 8:
257
204
  sinceRef = _context3.t0;
258
205
  _context3.next = 11;
259
206
  return (0, _git.getChangesSince)(sinceRef);
260
-
261
207
  case 11:
262
208
  log = _context3.sent;
263
-
264
209
  if (!(log.all.length === 0)) {
265
210
  _context3.next = 15;
266
211
  break;
267
212
  }
268
-
269
213
  console.log("No package.json changes found since '".concat(sinceRef, "'."));
270
214
  return _context3.abrupt("return");
271
-
272
215
  case 15:
273
216
  _context3.next = 17;
274
217
  return getEventsFromHistory(log, sinceRef, {
275
218
  cwd: cwd
276
219
  });
277
-
278
220
  case 17:
279
221
  _yield$getEventsFromH = _context3.sent;
280
222
  allPackageChanges = _yield$getEventsFromH.allPackageChanges;
281
223
  allUpgradeEvents = _yield$getEventsFromH.allUpgradeEvents;
282
-
283
224
  if (!flags.csv) {
284
225
  _context3.next = 24;
285
226
  break;
286
227
  }
287
-
288
228
  csv = (0, _generateCsv.generateCSV)(allPackageChanges);
289
229
  console.log(csv);
290
230
  return _context3.abrupt("return");
291
-
292
231
  case 24:
293
232
  if (!flags.dryRun) {
294
233
  _context3.next = 27;
295
234
  break;
296
235
  }
297
-
298
236
  console.log(JSON.stringify(allUpgradeEvents));
299
237
  return _context3.abrupt("return");
300
-
301
238
  case 27:
302
239
  if (!(allUpgradeEvents.length > 0)) {
303
240
  _context3.next = 32;
304
241
  break;
305
242
  }
306
-
307
243
  _context3.next = 30;
308
244
  return (0, _analytics.sendAnalytics)(allUpgradeEvents, {
309
245
  dev: flags.dev,
@@ -311,41 +247,32 @@ function _populateProduct() {
311
247
  product: flags.product,
312
248
  skipPrompt: !flags.interactive
313
249
  });
314
-
315
250
  case 30:
316
251
  _context3.next = 33;
317
252
  break;
318
-
319
253
  case 32:
320
254
  console.log("Found no AK dependency changes since last run from ref \"".concat(sinceRef, "\"'"));
321
-
322
255
  case 33:
323
256
  if (!flags.statlas) {
324
257
  _context3.next = 42;
325
258
  break;
326
259
  }
327
-
328
260
  _context3.next = 36;
329
261
  return (0, _git.getHash)('HEAD');
330
-
331
262
  case 36:
332
263
  currentCommit = _context3.sent;
333
264
  _context3.next = 39;
334
265
  return statlas.uploadMeta(flags.product, currentCommit);
335
-
336
266
  case 39:
337
267
  console.log('Finished');
338
268
  _context3.next = 46;
339
269
  break;
340
-
341
270
  case 42:
342
271
  console.log('Updating tag to current commit...');
343
272
  _context3.next = 45;
344
273
  return (0, _git.tagCommit)(_constants.DEFAULT_TAG);
345
-
346
274
  case 45:
347
275
  console.log("Finished. Run 'git push origin tag ".concat(sinceRef, "'."));
348
-
349
276
  case 46:
350
277
  case "end":
351
278
  return _context3.stop();
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.generateCSV = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  /** Generates a CSV of product package changes over time */
13
10
  var generateCSV = function generateCSV(packageChanges) {
14
11
  var csvData = [['']];
@@ -17,22 +14,19 @@ var generateCSV = function generateCSV(packageChanges) {
17
14
  var currentRow = firstColumn.push(packageChange.date) - 1;
18
15
  Object.entries(packageChange.akDeps).forEach(function (_ref) {
19
16
  var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
20
- name = _ref2[0],
21
- version = _ref2[1].version;
22
-
17
+ name = _ref2[0],
18
+ version = _ref2[1].version;
23
19
  var depColumnIndex = csvData.findIndex(function (item) {
24
20
  return item[0] === name;
25
21
  });
26
-
27
22
  if (depColumnIndex === -1) {
28
23
  depColumnIndex = csvData.push([name]) - 1;
29
- } // console.log(csvData)
30
-
24
+ }
31
25
 
26
+ // console.log(csvData)
32
27
  csvData[depColumnIndex][currentRow] = version;
33
28
  });
34
29
  });
35
-
36
30
  for (var i = 0; i < csvData.length; i++) {
37
31
  for (var j = 0; j < csvData.length; j++) {
38
32
  if (typeof csvData[i][j] !== 'string') {
@@ -40,27 +34,21 @@ var generateCSV = function generateCSV(packageChanges) {
40
34
  csvData[i][j] = '';
41
35
  }
42
36
  }
43
-
44
37
  if (i !== 0 && csvData[0].length < csvData[i].length) {}
45
38
  }
46
-
47
39
  var csvStrings = [];
48
40
  csvData.forEach(function (column) {
49
41
  if (!column) {
50
42
  return;
51
43
  }
52
-
53
44
  for (var rowIndex = 0; rowIndex < csvData[0].length; rowIndex++) {
54
45
  var rowItem = column[rowIndex] || '';
55
-
56
46
  if (typeof csvStrings[rowIndex] !== 'string') {
57
47
  csvStrings[rowIndex] = '';
58
48
  }
59
-
60
49
  csvStrings[rowIndex] += "\"".concat(rowItem, "\",");
61
50
  }
62
51
  });
63
52
  return csvStrings.join('\n');
64
53
  };
65
-
66
54
  exports.generateCSV = generateCSV;
package/dist/cjs/index.js CHANGED
@@ -21,7 +21,5 @@ Object.defineProperty(exports, "sendAnalytics", {
21
21
  return _analytics.sendAnalytics;
22
22
  }
23
23
  });
24
-
25
24
  var _populateHistoricData = require("./commands/populate-historic-data");
26
-
27
25
  var _analytics = require("./util/analytics");
@@ -1,33 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createUpgradeEvent = createUpgradeEvent;
9
8
  exports.sendAnalytics = sendAnalytics;
10
-
11
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
-
13
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
-
15
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  var _chalk = _interopRequireDefault(require("chalk"));
18
-
19
13
  var _inquirer = _interopRequireDefault(require("inquirer"));
20
-
21
14
  var _semver = _interopRequireDefault(require("semver"));
22
-
23
15
  var _analyticsNodeClient = require("@atlassiansox/analytics-node-client");
24
-
25
16
  var _version = require("../version.json");
26
-
27
17
  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; }
28
-
29
18
  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) { (0, _defineProperty2.default)(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; }
30
-
31
19
  function getUpgradeType(version, previousVersion) {
32
20
  if (previousVersion == null && version != null) {
33
21
  return 'add';
@@ -35,14 +23,11 @@ function getUpgradeType(version, previousVersion) {
35
23
  return 'remove';
36
24
  } else if (previousVersion != null && version != null && previousVersion !== version) {
37
25
  var coercedPrevious = _semver.default.coerce(previousVersion);
38
-
39
26
  var coercedNew = _semver.default.coerce(version);
40
-
41
27
  if (coercedNew == null) {
42
28
  console.error("Found invalid version \"".concat(version, "\", skipping"));
43
29
  return null;
44
30
  }
45
-
46
31
  if (coercedPrevious != null && _semver.default.lt(coercedNew, coercedPrevious)) {
47
32
  return 'downgrade';
48
33
  } else {
@@ -52,44 +37,31 @@ function getUpgradeType(version, previousVersion) {
52
37
  return null;
53
38
  }
54
39
  }
55
-
56
40
  function getUpgradeSubType(version, previousVersion) {
57
41
  var upgradeSubType = null;
58
-
59
42
  if (version == null || previousVersion == null) {
60
43
  return upgradeSubType;
61
44
  }
62
-
63
45
  var parsedOld = _semver.default.coerce(previousVersion);
64
-
65
46
  var parsedNew = _semver.default.coerce(version);
66
-
67
47
  if (parsedOld && parsedNew) {
68
48
  upgradeSubType = _semver.default.diff(parsedOld.version, parsedNew.version);
69
49
  }
70
-
71
50
  return upgradeSubType;
72
51
  }
73
-
74
52
  function createUpgradeEvent(name, version, previousVersion, date) {
75
53
  var optionalArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
76
-
77
54
  if (Number.isNaN(Date.parse(date))) {
78
55
  throw new Error("Invalid date: '".concat(date, "'"));
79
56
  }
80
-
81
57
  var upgradeType = getUpgradeType(version, previousVersion);
82
-
83
58
  if (!upgradeType) {
84
59
  // Not an upgrade for this dependency, return null
85
60
  return null;
86
61
  }
87
-
88
62
  var upgradeSubType = getUpgradeSubType(version, previousVersion);
89
63
  var eventVersion = upgradeType !== 'remove' ? version : previousVersion;
90
-
91
64
  var parsedVersion = _semver.default.coerce(eventVersion);
92
-
93
65
  return _objectSpread({
94
66
  cliVersion: _version.version,
95
67
  dependencyName: name,
@@ -102,11 +74,9 @@ function createUpgradeEvent(name, version, previousVersion, date) {
102
74
  upgradeSubType: upgradeSubType
103
75
  }, optionalArgs);
104
76
  }
105
-
106
77
  function sendAnalytics(_x, _x2) {
107
78
  return _sendAnalytics.apply(this, arguments);
108
79
  }
109
-
110
80
  function _sendAnalytics() {
111
81
  _sendAnalytics = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(analyticsEvents, _ref) {
112
82
  var dev, limit, product, skipPrompt, analyticsEnv, eventsToSend, client, answers, promises;
@@ -121,12 +91,10 @@ function _sendAnalytics() {
121
91
  env: dev ? 'dev' : 'prod',
122
92
  product: product
123
93
  });
124
-
125
94
  if (skipPrompt) {
126
95
  _context.next = 9;
127
96
  break;
128
97
  }
129
-
130
98
  _context.next = 7;
131
99
  return _inquirer.default.prompt([{
132
100
  type: 'confirm',
@@ -134,15 +102,12 @@ function _sendAnalytics() {
134
102
  message: "Are you sure you want to send ".concat(eventsToSend.length, " historical analytics events to '").concat(analyticsEnv, "' env for product '").concat(product, "?"),
135
103
  default: false
136
104
  }]);
137
-
138
105
  case 7:
139
106
  answers = _context.sent;
140
-
141
107
  if (!answers.continue) {
142
108
  console.log('Aborting');
143
109
  process.exit(0);
144
110
  }
145
-
146
111
  case 9:
147
112
  _context.prev = 9;
148
113
  _context.next = 12;
@@ -160,20 +125,17 @@ function _sendAnalytics() {
160
125
  }
161
126
  });
162
127
  }));
163
-
164
128
  case 12:
165
129
  promises = _context.sent;
166
130
  console.log(_chalk.default.green("Sent ".concat(promises.length, " dependency version upgrade analytics events")));
167
131
  _context.next = 21;
168
132
  break;
169
-
170
133
  case 16:
171
134
  _context.prev = 16;
172
135
  _context.t0 = _context["catch"](9);
173
136
  console.error(_chalk.default.red('Sending analytics failed'));
174
137
  console.error(_context.t0);
175
138
  process.exit(1);
176
-
177
139
  case 21:
178
140
  case "end":
179
141
  return _context.stop();
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.assert = assert;
7
-
8
7
  /** Generic assertion function */
9
8
  function assert(condition, msg) {
10
9
  if (!condition) {