@atlaskit/dependency-version-analytics 0.4.2 → 1.1.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 (50) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +2 -1
  3. package/dist/cjs/cli.js +4 -18
  4. package/dist/cjs/commands/populate-historic-data/index.js +0 -3
  5. package/dist/cjs/commands/populate-historic-data/lib/dependency-store.js +24 -141
  6. package/dist/cjs/commands/populate-historic-data/package.js +8 -29
  7. package/dist/cjs/commands/populate-historic-data/product.js +114 -150
  8. package/dist/cjs/commands/populate-historic-data/util/generate-csv.js +4 -16
  9. package/dist/cjs/index.js +0 -2
  10. package/dist/cjs/util/analytics.js +16 -41
  11. package/dist/cjs/util/assert.js +0 -1
  12. package/dist/cjs/util/env-with-guard.js +0 -2
  13. package/dist/cjs/util/get-file-history-from-git.js +0 -5
  14. package/dist/cjs/util/get-package-version-history.js +8 -10
  15. package/dist/cjs/util/git.js +20 -58
  16. package/dist/cjs/util/statlas.js +0 -25
  17. package/dist/cjs/util/yarn.js +0 -32
  18. package/dist/cjs/version.json +1 -1
  19. package/dist/es2019/cli.js +4 -8
  20. package/dist/es2019/commands/populate-historic-data/lib/dependency-store.js +24 -73
  21. package/dist/es2019/commands/populate-historic-data/package.js +7 -12
  22. package/dist/es2019/commands/populate-historic-data/product.js +21 -23
  23. package/dist/es2019/commands/populate-historic-data/util/generate-csv.js +2 -9
  24. package/dist/es2019/util/analytics.js +17 -19
  25. package/dist/es2019/util/env-with-guard.js +0 -1
  26. package/dist/es2019/util/get-file-history-from-git.js +2 -3
  27. package/dist/es2019/util/get-package-version-history.js +7 -7
  28. package/dist/es2019/util/git.js +29 -24
  29. package/dist/es2019/util/statlas.js +0 -6
  30. package/dist/es2019/util/yarn.js +2 -11
  31. package/dist/es2019/version.json +1 -1
  32. package/dist/esm/cli.js +6 -12
  33. package/dist/esm/commands/populate-historic-data/lib/dependency-store.js +27 -131
  34. package/dist/esm/commands/populate-historic-data/package.js +10 -24
  35. package/dist/esm/commands/populate-historic-data/product.js +114 -134
  36. package/dist/esm/commands/populate-historic-data/util/generate-csv.js +4 -13
  37. package/dist/esm/util/analytics.js +18 -31
  38. package/dist/esm/util/env-with-guard.js +0 -1
  39. package/dist/esm/util/get-file-history-from-git.js +2 -3
  40. package/dist/esm/util/get-package-version-history.js +7 -7
  41. package/dist/esm/util/git.js +21 -50
  42. package/dist/esm/util/statlas.js +0 -19
  43. package/dist/esm/util/yarn.js +0 -19
  44. package/dist/esm/version.json +1 -1
  45. package/dist/types/types.d.ts +7 -0
  46. package/dist/types/util/analytics.d.ts +2 -1
  47. package/dist/types/util/get-package-version-history.d.ts +7 -3
  48. package/package.json +3 -3
  49. package/report.api.md +5 -1
  50. package/tmp/api-report-tmp.d.ts +4 -0
@@ -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,40 @@ 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) {
53
+ var _optionalArgs$tags, _ref, _tags$next, _tags$hotfix, _ref2;
75
54
  var optionalArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
76
-
77
55
  if (Number.isNaN(Date.parse(date))) {
78
56
  throw new Error("Invalid date: '".concat(date, "'"));
79
57
  }
80
-
81
58
  var upgradeType = getUpgradeType(version, previousVersion);
82
-
83
59
  if (!upgradeType) {
84
60
  // Not an upgrade for this dependency, return null
85
61
  return null;
86
62
  }
87
-
88
63
  var upgradeSubType = getUpgradeSubType(version, previousVersion);
89
64
  var eventVersion = upgradeType !== 'remove' ? version : previousVersion;
90
-
91
65
  var parsedVersion = _semver.default.coerce(eventVersion);
92
-
66
+ var rcKey = null;
67
+ var tags = (_optionalArgs$tags = optionalArgs === null || optionalArgs === void 0 ? void 0 : optionalArgs.tags) !== null && _optionalArgs$tags !== void 0 ? _optionalArgs$tags : {};
68
+ Object.keys(tags).forEach(function (key) {
69
+ if (key.startsWith('rc')) {
70
+ rcKey = key;
71
+ return;
72
+ }
73
+ });
93
74
  return _objectSpread({
94
75
  cliVersion: _version.version,
95
76
  dependencyName: name,
@@ -99,34 +80,34 @@ function createUpgradeEvent(name, version, previousVersion, date) {
99
80
  patch: parsedVersion ? "".concat(parsedVersion.patch) : null,
100
81
  date: new Date(date).toISOString(),
101
82
  upgradeType: upgradeType,
102
- upgradeSubType: upgradeSubType
83
+ upgradeSubType: upgradeSubType,
84
+ latestTag: (_ref = tags && tags['latest']) !== null && _ref !== void 0 ? _ref : null,
85
+ nextTag: (_tags$next = tags['next']) !== null && _tags$next !== void 0 ? _tags$next : null,
86
+ hotfixTag: (_tags$hotfix = tags['hotfix']) !== null && _tags$hotfix !== void 0 ? _tags$hotfix : null,
87
+ rcTag: (_ref2 = rcKey && tags[rcKey]) !== null && _ref2 !== void 0 ? _ref2 : null
103
88
  }, optionalArgs);
104
89
  }
105
-
106
90
  function sendAnalytics(_x, _x2) {
107
91
  return _sendAnalytics.apply(this, arguments);
108
92
  }
109
-
110
93
  function _sendAnalytics() {
111
- _sendAnalytics = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(analyticsEvents, _ref) {
94
+ _sendAnalytics = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(analyticsEvents, _ref3) {
112
95
  var dev, limit, product, skipPrompt, analyticsEnv, eventsToSend, client, answers, promises;
113
96
  return _regenerator.default.wrap(function _callee$(_context) {
114
97
  while (1) {
115
98
  switch (_context.prev = _context.next) {
116
99
  case 0:
117
- dev = _ref.dev, limit = _ref.limit, product = _ref.product, skipPrompt = _ref.skipPrompt;
100
+ dev = _ref3.dev, limit = _ref3.limit, product = _ref3.product, skipPrompt = _ref3.skipPrompt;
118
101
  analyticsEnv = dev ? 'dev' : 'prod';
119
102
  eventsToSend = limit != null ? analyticsEvents.slice(0, limit) : analyticsEvents;
120
103
  client = (0, _analyticsNodeClient.analyticsClient)({
121
104
  env: dev ? 'dev' : 'prod',
122
105
  product: product
123
106
  });
124
-
125
107
  if (skipPrompt) {
126
108
  _context.next = 9;
127
109
  break;
128
110
  }
129
-
130
111
  _context.next = 7;
131
112
  return _inquirer.default.prompt([{
132
113
  type: 'confirm',
@@ -134,15 +115,12 @@ function _sendAnalytics() {
134
115
  message: "Are you sure you want to send ".concat(eventsToSend.length, " historical analytics events to '").concat(analyticsEnv, "' env for product '").concat(product, "?"),
135
116
  default: false
136
117
  }]);
137
-
138
118
  case 7:
139
119
  answers = _context.sent;
140
-
141
120
  if (!answers.continue) {
142
121
  console.log('Aborting');
143
122
  process.exit(0);
144
123
  }
145
-
146
124
  case 9:
147
125
  _context.prev = 9;
148
126
  _context.next = 12;
@@ -160,20 +138,17 @@ function _sendAnalytics() {
160
138
  }
161
139
  });
162
140
  }));
163
-
164
141
  case 12:
165
142
  promises = _context.sent;
166
143
  console.log(_chalk.default.green("Sent ".concat(promises.length, " dependency version upgrade analytics events")));
167
144
  _context.next = 21;
168
145
  break;
169
-
170
146
  case 16:
171
147
  _context.prev = 16;
172
148
  _context.t0 = _context["catch"](9);
173
149
  console.error(_chalk.default.red('Sending analytics failed'));
174
150
  console.error(_context.t0);
175
151
  process.exit(1);
176
-
177
152
  case 21:
178
153
  case "end":
179
154
  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) {
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _default;
7
-
8
7
  function _default(name) {
9
8
  if (!process.env.hasOwnProperty(name) || !process.env[name] || typeof process.env[name] !== 'string') {
10
9
  return null;
11
10
  }
12
-
13
11
  return process.env[name];
14
12
  }
@@ -4,12 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = getFileHistoryFromGit;
7
-
8
7
  var _child_process = require("child_process");
9
-
10
8
  // Lock files tend to be huge
11
9
  var FiveMBBuffer = 1024 * 5000;
12
-
13
10
  function getFileHistoryFromGit(fileName) {
14
11
  return new Promise(function (resolve, reject) {
15
12
  (0, _child_process.exec)("git log ".concat(fileName), {
@@ -18,11 +15,9 @@ function getFileHistoryFromGit(fileName) {
18
15
  if (error) {
19
16
  reject(error);
20
17
  }
21
-
22
18
  if (stderr) {
23
19
  reject(stderr);
24
20
  }
25
-
26
21
  resolve(stdout);
27
22
  });
28
23
  });
@@ -3,29 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = getPackageVersionHistory;
7
-
6
+ exports.default = getPackageVersionHistoryAndTags;
8
7
  var _child_process = require("child_process");
9
-
10
- function getPackageVersionHistory(packageName) {
8
+ function getPackageVersionHistoryAndTags(packageName) {
11
9
  return new Promise(function (resolve, reject) {
12
- (0, _child_process.exec)("yarn info ".concat(packageName, " --json time"), function (error, stdout, stderr) {
10
+ (0, _child_process.exec)("yarn info ".concat(packageName, " --json"), function (error, stdout, stderr) {
13
11
  if (error) {
14
12
  reject(error);
15
13
  }
16
-
17
14
  if (stderr) {
18
15
  reject(stderr);
19
16
  }
20
-
21
17
  var json;
22
-
23
18
  try {
24
- json = JSON.parse(stdout).data;
19
+ var parseData = JSON.parse(stdout).data;
20
+ json = {
21
+ time: parseData['time'],
22
+ 'dist-tags': parseData['dist-tags']
23
+ };
25
24
  } catch (e) {
26
25
  reject("Error parsing json output: ".concat(e));
27
26
  }
28
-
29
27
  resolve(json);
30
28
  });
31
29
  });
@@ -1,7 +1,6 @@
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
  });
@@ -12,27 +11,17 @@ exports.getHash = getHash;
12
11
  exports.refetchTag = refetchTag;
13
12
  exports.showFile = showFile;
14
13
  exports.tagCommit = tagCommit;
15
-
16
14
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
17
-
18
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
21
-
22
17
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
23
-
24
18
  var _simpleGit = _interopRequireDefault(require("simple-git"));
25
-
26
19
  var _assert = require("./assert");
27
-
28
20
  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; }
29
-
30
21
  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; }
31
-
32
22
  function getChangesSince(_x) {
33
23
  return _getChangesSince.apply(this, arguments);
34
24
  }
35
-
36
25
  function _getChangesSince() {
37
26
  _getChangesSince = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(since) {
38
27
  var revisionRange, listLogSummary;
@@ -42,14 +31,19 @@ function _getChangesSince() {
42
31
  case 0:
43
32
  revisionRange = since ? ["".concat(since, "..")] : [];
44
33
  _context.next = 3;
45
- return (0, _simpleGit.default)().log([// Only commits on mainline master
46
- '--first-parent', // Show merge commit contents
47
- '-m', // Reverse the order
48
- '--reverse', // Show filename changes - simple-git parses --stat flag but not --name-only unfortunately
49
- '--stat=4096', // Make +- graph width as small as possible to maximise filename length
50
- '--stat-graph-width=1'].concat(revisionRange, [// Any commit that modifies a package.json
34
+ return (0, _simpleGit.default)().log([
35
+ // Only commits on mainline master
36
+ '--first-parent',
37
+ // Show merge commit contents
38
+ '-m',
39
+ // Reverse the order
40
+ '--reverse',
41
+ // Show filename changes - simple-git parses --stat flag but not --name-only unfortunately
42
+ '--stat=4096',
43
+ // Make +- graph width as small as possible to maximise filename length
44
+ '--stat-graph-width=1'].concat(revisionRange, [
45
+ // Any commit that modifies a package.json
51
46
  ':(glob)**/package.json']));
52
-
53
47
  case 3:
54
48
  listLogSummary = _context.sent;
55
49
  return _context.abrupt("return", _objectSpread(_objectSpread({}, listLogSummary), {}, {
@@ -57,7 +51,6 @@ function _getChangesSince() {
57
51
  return parseLogLine(logLine);
58
52
  })
59
53
  }));
60
-
61
54
  case 5:
62
55
  case "end":
63
56
  return _context.stop();
@@ -67,22 +60,19 @@ function _getChangesSince() {
67
60
  }));
68
61
  return _getChangesSince.apply(this, arguments);
69
62
  }
70
-
71
63
  function parseLogLine(logLine) {
72
64
  if (!logLine.diff) {
73
65
  return logLine;
74
- } // Split files into separate entries when a rename has occurred so both old and new files are processed
75
-
66
+ }
76
67
 
68
+ // Split files into separate entries when a rename has occurred so both old and new files are processed
77
69
  var parsedDiffFiles = logLine.diff.files.reduce(function (acc, curr) {
78
70
  var renameArrowCount = curr.file.match(/ => /g);
79
-
80
71
  if (renameArrowCount == null) {
81
72
  return [].concat((0, _toConsumableArray2.default)(acc), [curr]);
82
- } // Multiple rename parts are not supported. They most likely don't exist in git but we check
73
+ }
74
+ // Multiple rename parts are not supported. They most likely don't exist in git but we check
83
75
  // for them anyway just in case
84
-
85
-
86
76
  (0, _assert.assert)(renameArrowCount.length === 1, "Multiple rename parts detected: ".concat(curr.file));
87
77
  /* Matches:
88
78
  * - '{new-frontend/src => src}/package.json'
@@ -90,10 +80,10 @@ function parseLogLine(logLine) {
90
80
  * - 'src/{ => platform}/analytics/package.json'
91
81
  * - 'src/packages/spa/{main => }/package.json'
92
82
  */
93
-
94
83
  var renameMatch = curr.file.match(/\{?([^{]+)? => ([^}]+)?\}?/);
95
84
  (0, _assert.assert)(renameMatch != null, "Invalid rename format ".concat(curr.file));
96
- var oldFile = curr.file.replace(renameMatch[0], renameMatch[1] || '') // If the previous name segment is empty, we will have a double slash
85
+ var oldFile = curr.file.replace(renameMatch[0], renameMatch[1] || '')
86
+ // If the previous name segment is empty, we will have a double slash
97
87
  .replace('//', '/');
98
88
  var newFile = curr.file.replace(renameMatch[0], renameMatch[2] || '').replace('//', '/');
99
89
  return [].concat((0, _toConsumableArray2.default)(acc), [_objectSpread(_objectSpread({}, curr), {}, {
@@ -108,11 +98,9 @@ function parseLogLine(logLine) {
108
98
  })
109
99
  });
110
100
  }
111
-
112
101
  function tagCommit(_x2) {
113
102
  return _tagCommit.apply(this, arguments);
114
103
  }
115
-
116
104
  function _tagCommit() {
117
105
  _tagCommit = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(tag) {
118
106
  return _regenerator.default.wrap(function _callee2$(_context2) {
@@ -120,7 +108,6 @@ function _tagCommit() {
120
108
  switch (_context2.prev = _context2.next) {
121
109
  case 0:
122
110
  return _context2.abrupt("return", (0, _simpleGit.default)().tag(['-f', tag]));
123
-
124
111
  case 1:
125
112
  case "end":
126
113
  return _context2.stop();
@@ -130,11 +117,9 @@ function _tagCommit() {
130
117
  }));
131
118
  return _tagCommit.apply(this, arguments);
132
119
  }
133
-
134
120
  function doesTagExist(_x3) {
135
121
  return _doesTagExist.apply(this, arguments);
136
122
  }
137
-
138
123
  function _doesTagExist() {
139
124
  _doesTagExist = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(tag) {
140
125
  var tags;
@@ -144,11 +129,9 @@ function _doesTagExist() {
144
129
  case 0:
145
130
  _context3.next = 2;
146
131
  return (0, _simpleGit.default)().tags((0, _defineProperty2.default)({}, tag, null));
147
-
148
132
  case 2:
149
133
  tags = _context3.sent;
150
134
  return _context3.abrupt("return", tags.all.length > 0);
151
-
152
135
  case 4:
153
136
  case "end":
154
137
  return _context3.stop();
@@ -158,11 +141,9 @@ function _doesTagExist() {
158
141
  }));
159
142
  return _doesTagExist.apply(this, arguments);
160
143
  }
161
-
162
144
  function refetchTag(_x4) {
163
145
  return _refetchTag.apply(this, arguments);
164
146
  }
165
-
166
147
  function _refetchTag() {
167
148
  _refetchTag = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(tag) {
168
149
  var fetchTagResult;
@@ -173,48 +154,37 @@ function _refetchTag() {
173
154
  _context4.prev = 0;
174
155
  _context4.next = 3;
175
156
  return (0, _simpleGit.default)().tag(['-d', tag]);
176
-
177
157
  case 3:
178
158
  _context4.next = 9;
179
159
  break;
180
-
181
160
  case 5:
182
161
  _context4.prev = 5;
183
162
  _context4.t0 = _context4["catch"](0);
184
-
185
163
  if (/tag.*not found/.test(_context4.t0.message)) {
186
164
  _context4.next = 9;
187
165
  break;
188
166
  }
189
-
190
167
  throw _context4.t0;
191
-
192
168
  case 9:
193
169
  _context4.prev = 9;
194
170
  _context4.next = 12;
195
171
  return (0, _simpleGit.default)().fetch(['origin', 'tag', tag]);
196
-
197
172
  case 12:
198
173
  fetchTagResult = _context4.sent;
199
174
  _context4.next = 19;
200
175
  break;
201
-
202
176
  case 15:
203
177
  _context4.prev = 15;
204
178
  _context4.t1 = _context4["catch"](9);
205
-
206
179
  if (/Couldn't find remote ref refs\/tags\//.test(_context4.t1.message)) {
207
180
  _context4.next = 19;
208
181
  break;
209
182
  }
210
-
211
183
  throw _context4.t1;
212
-
213
184
  case 19:
214
185
  return _context4.abrupt("return", {
215
186
  fetchTagResult: fetchTagResult
216
187
  });
217
-
218
188
  case 20:
219
189
  case "end":
220
190
  return _context4.stop();
@@ -224,11 +194,9 @@ function _refetchTag() {
224
194
  }));
225
195
  return _refetchTag.apply(this, arguments);
226
196
  }
227
-
228
197
  function getHash(_x5) {
229
198
  return _getHash.apply(this, arguments);
230
199
  }
231
-
232
200
  function _getHash() {
233
201
  _getHash = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(ref) {
234
202
  return _regenerator.default.wrap(function _callee5$(_context5) {
@@ -236,7 +204,6 @@ function _getHash() {
236
204
  switch (_context5.prev = _context5.next) {
237
205
  case 0:
238
206
  return _context5.abrupt("return", (0, _simpleGit.default)().revparse([ref]));
239
-
240
207
  case 1:
241
208
  case "end":
242
209
  return _context5.stop();
@@ -246,21 +213,18 @@ function _getHash() {
246
213
  }));
247
214
  return _getHash.apply(this, arguments);
248
215
  }
249
-
250
216
  function showFile(ref, filename) {
251
217
  var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
252
218
  return (0, _simpleGit.default)(opts.cwd || process.cwd()).show(["".concat(ref, ":").concat(filename)]);
253
219
  }
254
-
255
220
  function getFiles(_x6, _x7) {
256
221
  return _getFiles.apply(this, arguments);
257
222
  }
258
-
259
223
  function _getFiles() {
260
224
  _getFiles = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(ref, glob) {
261
225
  var opts,
262
- result,
263
- _args6 = arguments;
226
+ result,
227
+ _args6 = arguments;
264
228
  return _regenerator.default.wrap(function _callee6$(_context6) {
265
229
  while (1) {
266
230
  switch (_context6.prev = _context6.next) {
@@ -268,7 +232,6 @@ function _getFiles() {
268
232
  opts = _args6.length > 2 && _args6[2] !== undefined ? _args6[2] : {};
269
233
  _context6.next = 3;
270
234
  return (0, _simpleGit.default)(opts.cwd || process.cwd()).raw(['grep', '--name-only', '', ref, '--', ":(glob)".concat(glob)]);
271
-
272
235
  case 3:
273
236
  result = _context6.sent;
274
237
  return _context6.abrupt("return", result.split('\n').filter(function (line) {
@@ -276,7 +239,6 @@ function _getFiles() {
276
239
  }).map(function (line) {
277
240
  return line.split(':')[1];
278
241
  }));
279
-
280
242
  case 5:
281
243
  case "end":
282
244
  return _context6.stop();
@@ -1,25 +1,18 @@
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.getMeta = getMeta;
9
8
  exports.uploadMeta = uploadMeta;
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 _nodeFetch = _interopRequireDefault(require("node-fetch"));
16
-
17
12
  var STATLAS_BASE_URL = 'https://statlas.prod.atl-paas.net/af-product-analytics';
18
-
19
13
  function getMeta(_x) {
20
14
  return _getMeta.apply(this, arguments);
21
15
  }
22
-
23
16
  function _getMeta() {
24
17
  _getMeta = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(product) {
25
18
  var response;
@@ -29,11 +22,9 @@ function _getMeta() {
29
22
  case 0:
30
23
  _context.next = 2;
31
24
  return retrieveJSON(getProductMetaPath(product));
32
-
33
25
  case 2:
34
26
  response = _context.sent;
35
27
  return _context.abrupt("return", response.json);
36
-
37
28
  case 4:
38
29
  case "end":
39
30
  return _context.stop();
@@ -43,21 +34,17 @@ function _getMeta() {
43
34
  }));
44
35
  return _getMeta.apply(this, arguments);
45
36
  }
46
-
47
37
  function uploadMeta(product, lastRunHash) {
48
38
  return uploadJSON(getProductMetaPath(product), {
49
39
  lastRunHash: lastRunHash
50
40
  });
51
41
  }
52
-
53
42
  function getProductMetaPath(product) {
54
43
  return "product/".concat(product, ".json");
55
44
  }
56
-
57
45
  function retrieveJSON(_x2) {
58
46
  return _retrieveJSON.apply(this, arguments);
59
47
  }
60
-
61
48
  function _retrieveJSON() {
62
49
  _retrieveJSON = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(filepath) {
63
50
  var response, json;
@@ -67,28 +54,22 @@ function _retrieveJSON() {
67
54
  case 0:
68
55
  _context2.next = 2;
69
56
  return (0, _nodeFetch.default)("".concat(STATLAS_BASE_URL, "/").concat(filepath, "?statlasredirect"));
70
-
71
57
  case 2:
72
58
  response = _context2.sent;
73
59
  json = null;
74
-
75
60
  if (!response.ok) {
76
61
  _context2.next = 8;
77
62
  break;
78
63
  }
79
-
80
64
  _context2.next = 7;
81
65
  return response.json();
82
-
83
66
  case 7:
84
67
  json = _context2.sent;
85
-
86
68
  case 8:
87
69
  return _context2.abrupt("return", {
88
70
  json: json,
89
71
  rawResponse: response
90
72
  });
91
-
92
73
  case 9:
93
74
  case "end":
94
75
  return _context2.stop();
@@ -98,11 +79,9 @@ function _retrieveJSON() {
98
79
  }));
99
80
  return _retrieveJSON.apply(this, arguments);
100
81
  }
101
-
102
82
  function uploadJSON(_x3, _x4) {
103
83
  return _uploadJSON.apply(this, arguments);
104
84
  }
105
-
106
85
  function _uploadJSON() {
107
86
  _uploadJSON = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(filepath, json) {
108
87
  var res;
@@ -118,17 +97,13 @@ function _uploadJSON() {
118
97
  Authorization: "Bearer ".concat(process.env.bamboo_JWT_TOKEN)
119
98
  }
120
99
  });
121
-
122
100
  case 2:
123
101
  res = _context3.sent;
124
-
125
102
  if (res.ok) {
126
103
  _context3.next = 5;
127
104
  break;
128
105
  }
129
-
130
106
  throw new Error("Statlas upload failed: ".concat(res.statusText));
131
-
132
107
  case 5:
133
108
  case "end":
134
109
  return _context3.stop();