@atlaskit/dependency-version-analytics 1.0.0 → 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.
- package/CHANGELOG.md +6 -0
- package/README.md +2 -1
- package/dist/cjs/commands/populate-historic-data/package.js +5 -2
- package/dist/cjs/commands/populate-historic-data/product.js +99 -62
- package/dist/cjs/util/analytics.js +16 -3
- package/dist/cjs/util/get-package-version-history.js +8 -4
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/commands/populate-historic-data/package.js +7 -4
- package/dist/es2019/commands/populate-historic-data/product.js +17 -1
- package/dist/es2019/util/analytics.js +13 -0
- package/dist/es2019/util/get-package-version-history.js +7 -3
- package/dist/es2019/version.json +1 -1
- package/dist/esm/commands/populate-historic-data/package.js +7 -4
- package/dist/esm/commands/populate-historic-data/product.js +99 -62
- package/dist/esm/util/analytics.js +16 -3
- package/dist/esm/util/get-package-version-history.js +7 -3
- package/dist/esm/version.json +1 -1
- package/dist/types/types.d.ts +7 -0
- package/dist/types/util/analytics.d.ts +2 -1
- package/dist/types/util/get-package-version-history.d.ts +7 -3
- package/package.json +1 -1
- package/report.api.md +4 -0
- package/tmp/api-report-tmp.d.ts +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/dependency-version-analytics
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`dd9a70fcafc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dd9a70fcafc) - Add npm dist-tags (latest, next, rc, hotfix) to analytics
|
|
8
|
+
|
|
3
9
|
## 1.0.0
|
|
4
10
|
|
|
5
11
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -59,7 +59,8 @@ This command will be used to record when atlaskit publish new versions of their
|
|
|
59
59
|
This will run the 'dev' mode of the tool and compile typescript on the fly. Any changes made to the source will instantly reflect in the product repo.
|
|
60
60
|
|
|
61
61
|
1. Run `yarn link` inside the package
|
|
62
|
-
2.
|
|
62
|
+
2. `cd` to the root of the `alassian-frontend` repo then run `yarn build @atlaskit/dependency-version-analytics`
|
|
63
|
+
2. Run `yarn link '@atlaskit/dependency-version-analytics'` inside the product repo of your choosing or in the [`atlaskit-version-analytics`](https://bitbucket.org/atlassian/atlaskit-version-analytics/src/master/) repo to test your changes
|
|
63
64
|
|
|
64
65
|
Make dev changes + save.
|
|
65
66
|
|
|
@@ -11,7 +11,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _semver = _interopRequireDefault(require("semver"));
|
|
12
12
|
var _getPackageVersionHistory = _interopRequireDefault(require("../../util/get-package-version-history"));
|
|
13
13
|
var _analytics = require("../../util/analytics");
|
|
14
|
-
var createAnalyticsEvents = function createAnalyticsEvents(packageName,
|
|
14
|
+
var createAnalyticsEvents = function createAnalyticsEvents(packageName, packageVersionHistoryAndTags, since) {
|
|
15
|
+
var packageVersionHistory = packageVersionHistoryAndTags['time'];
|
|
16
|
+
var tags = packageVersionHistoryAndTags['dist-tags'];
|
|
15
17
|
var sortedPackageVersionHistory = Object.entries(packageVersionHistory).filter(function (_ref) {
|
|
16
18
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
|
|
17
19
|
version = _ref2[0];
|
|
@@ -28,7 +30,8 @@ var createAnalyticsEvents = function createAnalyticsEvents(packageName, packageV
|
|
|
28
30
|
}
|
|
29
31
|
var previousVersion = sortedPackageVersionHistory[i - 1] && sortedPackageVersionHistory[i - 1][0];
|
|
30
32
|
return (0, _analytics.createUpgradeEvent)(packageName, version, previousVersion, time, {
|
|
31
|
-
historical: true
|
|
33
|
+
historical: true,
|
|
34
|
+
tags: tags
|
|
32
35
|
});
|
|
33
36
|
}).filter(function (e) {
|
|
34
37
|
return e != null;
|
|
@@ -18,6 +18,7 @@ var statlas = _interopRequireWildcard(require("../../util/statlas"));
|
|
|
18
18
|
var _generateCsv = require("./util/generate-csv");
|
|
19
19
|
var _assert = require("../../util/assert");
|
|
20
20
|
var _dependencyStore = require("./lib/dependency-store");
|
|
21
|
+
var _getPackageVersionHistory = _interopRequireDefault(require("../../util/get-package-version-history"));
|
|
21
22
|
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); }
|
|
22
23
|
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; }
|
|
23
24
|
var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDeps, newDeps, _ref) {
|
|
@@ -66,35 +67,35 @@ var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDe
|
|
|
66
67
|
return [].concat((0, _toConsumableArray2.default)(addOrUpgradeEvents), (0, _toConsumableArray2.default)(removeEvents));
|
|
67
68
|
};
|
|
68
69
|
var getEventsFromHistory = /*#__PURE__*/function () {
|
|
69
|
-
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
70
|
-
var cwd, allPackageChanges, allUpgradeEvents, dependencyStore, dependencies, i, item, newDependencies, packageChange, upgradeEvents;
|
|
71
|
-
return _regenerator.default.wrap(function
|
|
70
|
+
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(packageChangesLog, prevRunHash, _ref8) {
|
|
71
|
+
var cwd, allPackageChanges, allUpgradeEvents, dependencyStore, dependencies, i, item, newDependencies, packageChange, upgradeEvents, _allUpgradeEvents;
|
|
72
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
72
73
|
while (1) {
|
|
73
|
-
switch (
|
|
74
|
+
switch (_context2.prev = _context2.next) {
|
|
74
75
|
case 0:
|
|
75
76
|
cwd = _ref8.cwd;
|
|
76
77
|
allPackageChanges = [];
|
|
77
78
|
allUpgradeEvents = [];
|
|
78
79
|
(0, _assert.assert)(packageChangesLog.all.length > 0, '');
|
|
79
80
|
dependencyStore = new _dependencyStore.DependencyStore(cwd);
|
|
80
|
-
|
|
81
|
+
_context2.next = 7;
|
|
81
82
|
return dependencyStore.initialise(prevRunHash);
|
|
82
83
|
case 7:
|
|
83
|
-
dependencies =
|
|
84
|
+
dependencies = _context2.sent;
|
|
84
85
|
i = 0;
|
|
85
86
|
case 9:
|
|
86
87
|
if (!(i < packageChangesLog.all.length)) {
|
|
87
|
-
|
|
88
|
+
_context2.next = 21;
|
|
88
89
|
break;
|
|
89
90
|
}
|
|
90
91
|
item = packageChangesLog.all[i];
|
|
91
92
|
if (allPackageChanges.length > 0) {
|
|
92
93
|
dependencies = allPackageChanges[allPackageChanges.length - 1].akDeps;
|
|
93
94
|
}
|
|
94
|
-
|
|
95
|
+
_context2.next = 14;
|
|
95
96
|
return dependencyStore.update(item);
|
|
96
97
|
case 14:
|
|
97
|
-
newDependencies =
|
|
98
|
+
newDependencies = _context2.sent;
|
|
98
99
|
packageChange = {
|
|
99
100
|
date: new Date(item.date).toISOString(),
|
|
100
101
|
akDeps: newDependencies
|
|
@@ -104,143 +105,179 @@ var getEventsFromHistory = /*#__PURE__*/function () {
|
|
|
104
105
|
commitHash: item.hash
|
|
105
106
|
});
|
|
106
107
|
if (upgradeEvents.length > 0) {
|
|
107
|
-
allUpgradeEvents.push.apply(
|
|
108
|
+
(_allUpgradeEvents = allUpgradeEvents).push.apply(_allUpgradeEvents, (0, _toConsumableArray2.default)(upgradeEvents));
|
|
108
109
|
allPackageChanges.push(packageChange);
|
|
109
110
|
}
|
|
110
111
|
case 18:
|
|
111
112
|
i++;
|
|
112
|
-
|
|
113
|
+
_context2.next = 9;
|
|
113
114
|
break;
|
|
114
115
|
case 21:
|
|
115
|
-
|
|
116
|
+
_context2.next = 23;
|
|
117
|
+
return Promise.all(allUpgradeEvents.map( /*#__PURE__*/function () {
|
|
118
|
+
var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(upgradeEvent) {
|
|
119
|
+
var _distTags$hotfix, _distTags$latest, _distTags$next;
|
|
120
|
+
var getPackageTags, distTags;
|
|
121
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
122
|
+
while (1) {
|
|
123
|
+
switch (_context.prev = _context.next) {
|
|
124
|
+
case 0:
|
|
125
|
+
_context.next = 2;
|
|
126
|
+
return (0, _getPackageVersionHistory.default)(upgradeEvent.dependencyName);
|
|
127
|
+
case 2:
|
|
128
|
+
getPackageTags = _context.sent;
|
|
129
|
+
distTags = getPackageTags['dist-tags'];
|
|
130
|
+
Object.keys(distTags).forEach(function (key) {
|
|
131
|
+
if (key.startsWith('rc')) {
|
|
132
|
+
upgradeEvent.rcTag = distTags[key];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
upgradeEvent.hotfixTag = (_distTags$hotfix = distTags['hotfix']) !== null && _distTags$hotfix !== void 0 ? _distTags$hotfix : null;
|
|
136
|
+
upgradeEvent.latestTag = (_distTags$latest = distTags['latest']) !== null && _distTags$latest !== void 0 ? _distTags$latest : null;
|
|
137
|
+
upgradeEvent.nextTag = (_distTags$next = distTags['next']) !== null && _distTags$next !== void 0 ? _distTags$next : null;
|
|
138
|
+
return _context.abrupt("return", upgradeEvent);
|
|
139
|
+
case 9:
|
|
140
|
+
case "end":
|
|
141
|
+
return _context.stop();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}, _callee);
|
|
145
|
+
}));
|
|
146
|
+
return function (_x4) {
|
|
147
|
+
return _ref10.apply(this, arguments);
|
|
148
|
+
};
|
|
149
|
+
}()));
|
|
150
|
+
case 23:
|
|
151
|
+
allUpgradeEvents = _context2.sent;
|
|
152
|
+
return _context2.abrupt("return", {
|
|
116
153
|
allPackageChanges: allPackageChanges,
|
|
117
154
|
allUpgradeEvents: allUpgradeEvents
|
|
118
155
|
});
|
|
119
|
-
case
|
|
156
|
+
case 25:
|
|
120
157
|
case "end":
|
|
121
|
-
return
|
|
158
|
+
return _context2.stop();
|
|
122
159
|
}
|
|
123
160
|
}
|
|
124
|
-
},
|
|
161
|
+
}, _callee2);
|
|
125
162
|
}));
|
|
126
163
|
return function getEventsFromHistory(_x, _x2, _x3) {
|
|
127
164
|
return _ref9.apply(this, arguments);
|
|
128
165
|
};
|
|
129
166
|
}();
|
|
130
|
-
function getSinceRef(
|
|
167
|
+
function getSinceRef(_x5) {
|
|
131
168
|
return _getSinceRef.apply(this, arguments);
|
|
132
169
|
}
|
|
133
170
|
function _getSinceRef() {
|
|
134
|
-
_getSinceRef = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
171
|
+
_getSinceRef = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(flags) {
|
|
135
172
|
var meta, tag, tagExists;
|
|
136
|
-
return _regenerator.default.wrap(function
|
|
173
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
137
174
|
while (1) {
|
|
138
|
-
switch (
|
|
175
|
+
switch (_context3.prev = _context3.next) {
|
|
139
176
|
case 0:
|
|
140
177
|
if (!flags.statlas) {
|
|
141
|
-
|
|
178
|
+
_context3.next = 9;
|
|
142
179
|
break;
|
|
143
180
|
}
|
|
144
|
-
|
|
181
|
+
_context3.next = 3;
|
|
145
182
|
return statlas.getMeta(flags.product);
|
|
146
183
|
case 3:
|
|
147
|
-
meta =
|
|
184
|
+
meta = _context3.sent;
|
|
148
185
|
if (!(!meta || !meta.lastRunHash)) {
|
|
149
|
-
|
|
186
|
+
_context3.next = 6;
|
|
150
187
|
break;
|
|
151
188
|
}
|
|
152
189
|
throw new Error(_chalk.default.red("Missing or invalid metadata file for ".concat(flags.product, ". Must use --reset for populating from start of history")));
|
|
153
190
|
case 6:
|
|
154
|
-
return
|
|
191
|
+
return _context3.abrupt("return", meta.lastRunHash);
|
|
155
192
|
case 9:
|
|
156
193
|
tag = flags.tag || _constants.DEFAULT_TAG;
|
|
157
|
-
|
|
194
|
+
_context3.next = 12;
|
|
158
195
|
return (0, _git.refetchTag)(tag);
|
|
159
196
|
case 12:
|
|
160
|
-
|
|
197
|
+
_context3.next = 14;
|
|
161
198
|
return (0, _git.doesTagExist)(tag);
|
|
162
199
|
case 14:
|
|
163
|
-
tagExists =
|
|
200
|
+
tagExists = _context3.sent;
|
|
164
201
|
if (tagExists) {
|
|
165
|
-
|
|
202
|
+
_context3.next = 17;
|
|
166
203
|
break;
|
|
167
204
|
}
|
|
168
205
|
throw new Error(_chalk.default.red("Tag '".concat(tag, "' does not exist. Must use --reset for populating from start of history.")));
|
|
169
206
|
case 17:
|
|
170
|
-
return
|
|
207
|
+
return _context3.abrupt("return", tag);
|
|
171
208
|
case 18:
|
|
172
209
|
case "end":
|
|
173
|
-
return
|
|
210
|
+
return _context3.stop();
|
|
174
211
|
}
|
|
175
212
|
}
|
|
176
|
-
},
|
|
213
|
+
}, _callee3);
|
|
177
214
|
}));
|
|
178
215
|
return _getSinceRef.apply(this, arguments);
|
|
179
216
|
}
|
|
180
|
-
function populateProduct(
|
|
217
|
+
function populateProduct(_x6) {
|
|
181
218
|
return _populateProduct.apply(this, arguments);
|
|
182
219
|
}
|
|
183
220
|
function _populateProduct() {
|
|
184
|
-
_populateProduct = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
221
|
+
_populateProduct = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(flags) {
|
|
185
222
|
var cwd, sinceRef, log, _yield$getEventsFromH, allPackageChanges, allUpgradeEvents, csv, currentCommit;
|
|
186
|
-
return _regenerator.default.wrap(function
|
|
223
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
187
224
|
while (1) {
|
|
188
|
-
switch (
|
|
225
|
+
switch (_context4.prev = _context4.next) {
|
|
189
226
|
case 0:
|
|
190
227
|
cwd = flags.cwd || process.cwd();
|
|
191
228
|
if (!flags.reset) {
|
|
192
|
-
|
|
229
|
+
_context4.next = 5;
|
|
193
230
|
break;
|
|
194
231
|
}
|
|
195
|
-
|
|
196
|
-
|
|
232
|
+
_context4.t0 = undefined;
|
|
233
|
+
_context4.next = 8;
|
|
197
234
|
break;
|
|
198
235
|
case 5:
|
|
199
|
-
|
|
236
|
+
_context4.next = 7;
|
|
200
237
|
return getSinceRef(flags);
|
|
201
238
|
case 7:
|
|
202
|
-
|
|
239
|
+
_context4.t0 = _context4.sent;
|
|
203
240
|
case 8:
|
|
204
|
-
sinceRef =
|
|
205
|
-
|
|
241
|
+
sinceRef = _context4.t0;
|
|
242
|
+
_context4.next = 11;
|
|
206
243
|
return (0, _git.getChangesSince)(sinceRef);
|
|
207
244
|
case 11:
|
|
208
|
-
log =
|
|
245
|
+
log = _context4.sent;
|
|
209
246
|
if (!(log.all.length === 0)) {
|
|
210
|
-
|
|
247
|
+
_context4.next = 15;
|
|
211
248
|
break;
|
|
212
249
|
}
|
|
213
250
|
console.log("No package.json changes found since '".concat(sinceRef, "'."));
|
|
214
|
-
return
|
|
251
|
+
return _context4.abrupt("return");
|
|
215
252
|
case 15:
|
|
216
|
-
|
|
253
|
+
_context4.next = 17;
|
|
217
254
|
return getEventsFromHistory(log, sinceRef, {
|
|
218
255
|
cwd: cwd
|
|
219
256
|
});
|
|
220
257
|
case 17:
|
|
221
|
-
_yield$getEventsFromH =
|
|
258
|
+
_yield$getEventsFromH = _context4.sent;
|
|
222
259
|
allPackageChanges = _yield$getEventsFromH.allPackageChanges;
|
|
223
260
|
allUpgradeEvents = _yield$getEventsFromH.allUpgradeEvents;
|
|
224
261
|
if (!flags.csv) {
|
|
225
|
-
|
|
262
|
+
_context4.next = 24;
|
|
226
263
|
break;
|
|
227
264
|
}
|
|
228
265
|
csv = (0, _generateCsv.generateCSV)(allPackageChanges);
|
|
229
266
|
console.log(csv);
|
|
230
|
-
return
|
|
267
|
+
return _context4.abrupt("return");
|
|
231
268
|
case 24:
|
|
232
269
|
if (!flags.dryRun) {
|
|
233
|
-
|
|
270
|
+
_context4.next = 27;
|
|
234
271
|
break;
|
|
235
272
|
}
|
|
236
273
|
console.log(JSON.stringify(allUpgradeEvents));
|
|
237
|
-
return
|
|
274
|
+
return _context4.abrupt("return");
|
|
238
275
|
case 27:
|
|
239
276
|
if (!(allUpgradeEvents.length > 0)) {
|
|
240
|
-
|
|
277
|
+
_context4.next = 32;
|
|
241
278
|
break;
|
|
242
279
|
}
|
|
243
|
-
|
|
280
|
+
_context4.next = 30;
|
|
244
281
|
return (0, _analytics.sendAnalytics)(allUpgradeEvents, {
|
|
245
282
|
dev: flags.dev,
|
|
246
283
|
limit: flags.limit,
|
|
@@ -248,37 +285,37 @@ function _populateProduct() {
|
|
|
248
285
|
skipPrompt: !flags.interactive
|
|
249
286
|
});
|
|
250
287
|
case 30:
|
|
251
|
-
|
|
288
|
+
_context4.next = 33;
|
|
252
289
|
break;
|
|
253
290
|
case 32:
|
|
254
291
|
console.log("Found no AK dependency changes since last run from ref \"".concat(sinceRef, "\"'"));
|
|
255
292
|
case 33:
|
|
256
293
|
if (!flags.statlas) {
|
|
257
|
-
|
|
294
|
+
_context4.next = 42;
|
|
258
295
|
break;
|
|
259
296
|
}
|
|
260
|
-
|
|
297
|
+
_context4.next = 36;
|
|
261
298
|
return (0, _git.getHash)('HEAD');
|
|
262
299
|
case 36:
|
|
263
|
-
currentCommit =
|
|
264
|
-
|
|
300
|
+
currentCommit = _context4.sent;
|
|
301
|
+
_context4.next = 39;
|
|
265
302
|
return statlas.uploadMeta(flags.product, currentCommit);
|
|
266
303
|
case 39:
|
|
267
304
|
console.log('Finished');
|
|
268
|
-
|
|
305
|
+
_context4.next = 46;
|
|
269
306
|
break;
|
|
270
307
|
case 42:
|
|
271
308
|
console.log('Updating tag to current commit...');
|
|
272
|
-
|
|
309
|
+
_context4.next = 45;
|
|
273
310
|
return (0, _git.tagCommit)(_constants.DEFAULT_TAG);
|
|
274
311
|
case 45:
|
|
275
312
|
console.log("Finished. Run 'git push origin tag ".concat(sinceRef, "'."));
|
|
276
313
|
case 46:
|
|
277
314
|
case "end":
|
|
278
|
-
return
|
|
315
|
+
return _context4.stop();
|
|
279
316
|
}
|
|
280
317
|
}
|
|
281
|
-
},
|
|
318
|
+
}, _callee4);
|
|
282
319
|
}));
|
|
283
320
|
return _populateProduct.apply(this, arguments);
|
|
284
321
|
}
|
|
@@ -50,6 +50,7 @@ function getUpgradeSubType(version, previousVersion) {
|
|
|
50
50
|
return upgradeSubType;
|
|
51
51
|
}
|
|
52
52
|
function createUpgradeEvent(name, version, previousVersion, date) {
|
|
53
|
+
var _optionalArgs$tags, _ref, _tags$next, _tags$hotfix, _ref2;
|
|
53
54
|
var optionalArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
54
55
|
if (Number.isNaN(Date.parse(date))) {
|
|
55
56
|
throw new Error("Invalid date: '".concat(date, "'"));
|
|
@@ -62,6 +63,14 @@ function createUpgradeEvent(name, version, previousVersion, date) {
|
|
|
62
63
|
var upgradeSubType = getUpgradeSubType(version, previousVersion);
|
|
63
64
|
var eventVersion = upgradeType !== 'remove' ? version : previousVersion;
|
|
64
65
|
var parsedVersion = _semver.default.coerce(eventVersion);
|
|
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
|
+
});
|
|
65
74
|
return _objectSpread({
|
|
66
75
|
cliVersion: _version.version,
|
|
67
76
|
dependencyName: name,
|
|
@@ -71,20 +80,24 @@ function createUpgradeEvent(name, version, previousVersion, date) {
|
|
|
71
80
|
patch: parsedVersion ? "".concat(parsedVersion.patch) : null,
|
|
72
81
|
date: new Date(date).toISOString(),
|
|
73
82
|
upgradeType: upgradeType,
|
|
74
|
-
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
|
|
75
88
|
}, optionalArgs);
|
|
76
89
|
}
|
|
77
90
|
function sendAnalytics(_x, _x2) {
|
|
78
91
|
return _sendAnalytics.apply(this, arguments);
|
|
79
92
|
}
|
|
80
93
|
function _sendAnalytics() {
|
|
81
|
-
_sendAnalytics = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(analyticsEvents,
|
|
94
|
+
_sendAnalytics = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(analyticsEvents, _ref3) {
|
|
82
95
|
var dev, limit, product, skipPrompt, analyticsEnv, eventsToSend, client, answers, promises;
|
|
83
96
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
84
97
|
while (1) {
|
|
85
98
|
switch (_context.prev = _context.next) {
|
|
86
99
|
case 0:
|
|
87
|
-
dev =
|
|
100
|
+
dev = _ref3.dev, limit = _ref3.limit, product = _ref3.product, skipPrompt = _ref3.skipPrompt;
|
|
88
101
|
analyticsEnv = dev ? 'dev' : 'prod';
|
|
89
102
|
eventsToSend = limit != null ? analyticsEvents.slice(0, limit) : analyticsEvents;
|
|
90
103
|
client = (0, _analyticsNodeClient.analyticsClient)({
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = getPackageVersionHistoryAndTags;
|
|
7
7
|
var _child_process = require("child_process");
|
|
8
|
-
function
|
|
8
|
+
function getPackageVersionHistoryAndTags(packageName) {
|
|
9
9
|
return new Promise(function (resolve, reject) {
|
|
10
|
-
(0, _child_process.exec)("yarn info ".concat(packageName, " --json
|
|
10
|
+
(0, _child_process.exec)("yarn info ".concat(packageName, " --json"), function (error, stdout, stderr) {
|
|
11
11
|
if (error) {
|
|
12
12
|
reject(error);
|
|
13
13
|
}
|
|
@@ -16,7 +16,11 @@ function getPackageVersionHistory(packageName) {
|
|
|
16
16
|
}
|
|
17
17
|
var json;
|
|
18
18
|
try {
|
|
19
|
-
|
|
19
|
+
var parseData = JSON.parse(stdout).data;
|
|
20
|
+
json = {
|
|
21
|
+
time: parseData['time'],
|
|
22
|
+
'dist-tags': parseData['dist-tags']
|
|
23
|
+
};
|
|
20
24
|
} catch (e) {
|
|
21
25
|
reject("Error parsing json output: ".concat(e));
|
|
22
26
|
}
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
|
-
import
|
|
2
|
+
import getPackageVersionHistoryAndTags from '../../util/get-package-version-history';
|
|
3
3
|
import { createUpgradeEvent, sendAnalytics } from '../../util/analytics';
|
|
4
|
-
const createAnalyticsEvents = (packageName,
|
|
4
|
+
const createAnalyticsEvents = (packageName, packageVersionHistoryAndTags, since) => {
|
|
5
|
+
const packageVersionHistory = packageVersionHistoryAndTags['time'];
|
|
6
|
+
const tags = packageVersionHistoryAndTags['dist-tags'];
|
|
5
7
|
const sortedPackageVersionHistory = Object.entries(packageVersionHistory).filter(([version]) => semver.valid(version)).sort((a, b) => Number(new Date(a[1])) - Number(new Date(b[1])));
|
|
6
8
|
const upgradeEvents = sortedPackageVersionHistory.map(([version, time], i) => {
|
|
7
9
|
if (since && Number(new Date(time)) <= Number(new Date(since))) {
|
|
@@ -9,7 +11,8 @@ const createAnalyticsEvents = (packageName, packageVersionHistory, since) => {
|
|
|
9
11
|
}
|
|
10
12
|
const previousVersion = sortedPackageVersionHistory[i - 1] && sortedPackageVersionHistory[i - 1][0];
|
|
11
13
|
return createUpgradeEvent(packageName, version, previousVersion, time, {
|
|
12
|
-
historical: true
|
|
14
|
+
historical: true,
|
|
15
|
+
tags
|
|
13
16
|
});
|
|
14
17
|
}).filter(e => e != null);
|
|
15
18
|
return upgradeEvents;
|
|
@@ -18,7 +21,7 @@ export default async function populatePackage(flags) {
|
|
|
18
21
|
if (!flags.pkg.startsWith('@atlaskit/')) {
|
|
19
22
|
throw new Error(`Package must start with '@atlaskit/'`);
|
|
20
23
|
}
|
|
21
|
-
const packageVersionHistory = await
|
|
24
|
+
const packageVersionHistory = await getPackageVersionHistoryAndTags(flags.pkg);
|
|
22
25
|
if (flags.since && Number.isNaN(Number(new Date(flags.since)))) {
|
|
23
26
|
throw new Error(`'since' flag is an invalid date`);
|
|
24
27
|
}
|
|
@@ -6,6 +6,7 @@ import * as statlas from '../../util/statlas';
|
|
|
6
6
|
import { generateCSV } from './util/generate-csv';
|
|
7
7
|
import { assert } from '../../util/assert';
|
|
8
8
|
import { DependencyStore } from './lib/dependency-store';
|
|
9
|
+
import getPackageVersionHistoryAndTags from '../../util/get-package-version-history';
|
|
9
10
|
const getUpgradeEventsFromPkgChange = (oldDeps, newDeps, {
|
|
10
11
|
date,
|
|
11
12
|
commitHash
|
|
@@ -44,7 +45,7 @@ const getEventsFromHistory = async (packageChangesLog, prevRunHash, {
|
|
|
44
45
|
cwd
|
|
45
46
|
}) => {
|
|
46
47
|
const allPackageChanges = [];
|
|
47
|
-
|
|
48
|
+
let allUpgradeEvents = [];
|
|
48
49
|
assert(packageChangesLog.all.length > 0, '');
|
|
49
50
|
let dependencyStore = new DependencyStore(cwd);
|
|
50
51
|
let dependencies = await dependencyStore.initialise(prevRunHash);
|
|
@@ -67,6 +68,21 @@ const getEventsFromHistory = async (packageChangesLog, prevRunHash, {
|
|
|
67
68
|
allPackageChanges.push(packageChange);
|
|
68
69
|
}
|
|
69
70
|
}
|
|
71
|
+
// add dist-tags to upgrade event
|
|
72
|
+
allUpgradeEvents = await Promise.all(allUpgradeEvents.map(async upgradeEvent => {
|
|
73
|
+
var _distTags$hotfix, _distTags$latest, _distTags$next;
|
|
74
|
+
const getPackageTags = await getPackageVersionHistoryAndTags(upgradeEvent.dependencyName);
|
|
75
|
+
const distTags = getPackageTags['dist-tags'];
|
|
76
|
+
Object.keys(distTags).forEach(key => {
|
|
77
|
+
if (key.startsWith('rc')) {
|
|
78
|
+
upgradeEvent.rcTag = distTags[key];
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
upgradeEvent.hotfixTag = (_distTags$hotfix = distTags['hotfix']) !== null && _distTags$hotfix !== void 0 ? _distTags$hotfix : null;
|
|
82
|
+
upgradeEvent.latestTag = (_distTags$latest = distTags['latest']) !== null && _distTags$latest !== void 0 ? _distTags$latest : null;
|
|
83
|
+
upgradeEvent.nextTag = (_distTags$next = distTags['next']) !== null && _distTags$next !== void 0 ? _distTags$next : null;
|
|
84
|
+
return upgradeEvent;
|
|
85
|
+
}));
|
|
70
86
|
return {
|
|
71
87
|
allPackageChanges,
|
|
72
88
|
allUpgradeEvents
|
|
@@ -39,6 +39,7 @@ function getUpgradeSubType(version, previousVersion) {
|
|
|
39
39
|
return upgradeSubType;
|
|
40
40
|
}
|
|
41
41
|
export function createUpgradeEvent(name, version, previousVersion, date, optionalArgs = {}) {
|
|
42
|
+
var _optionalArgs$tags, _ref, _tags$next, _tags$hotfix, _ref2;
|
|
42
43
|
if (Number.isNaN(Date.parse(date))) {
|
|
43
44
|
throw new Error(`Invalid date: '${date}'`);
|
|
44
45
|
}
|
|
@@ -50,6 +51,14 @@ export function createUpgradeEvent(name, version, previousVersion, date, optiona
|
|
|
50
51
|
const upgradeSubType = getUpgradeSubType(version, previousVersion);
|
|
51
52
|
const eventVersion = upgradeType !== 'remove' ? version : previousVersion;
|
|
52
53
|
const parsedVersion = semver.coerce(eventVersion);
|
|
54
|
+
let rcKey = null;
|
|
55
|
+
const tags = (_optionalArgs$tags = optionalArgs === null || optionalArgs === void 0 ? void 0 : optionalArgs.tags) !== null && _optionalArgs$tags !== void 0 ? _optionalArgs$tags : {};
|
|
56
|
+
Object.keys(tags).forEach(key => {
|
|
57
|
+
if (key.startsWith('rc')) {
|
|
58
|
+
rcKey = key;
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
53
62
|
return {
|
|
54
63
|
cliVersion: packageVersion,
|
|
55
64
|
dependencyName: name,
|
|
@@ -60,6 +69,10 @@ export function createUpgradeEvent(name, version, previousVersion, date, optiona
|
|
|
60
69
|
date: new Date(date).toISOString(),
|
|
61
70
|
upgradeType,
|
|
62
71
|
upgradeSubType,
|
|
72
|
+
latestTag: (_ref = tags && tags['latest']) !== null && _ref !== void 0 ? _ref : null,
|
|
73
|
+
nextTag: (_tags$next = tags['next']) !== null && _tags$next !== void 0 ? _tags$next : null,
|
|
74
|
+
hotfixTag: (_tags$hotfix = tags['hotfix']) !== null && _tags$hotfix !== void 0 ? _tags$hotfix : null,
|
|
75
|
+
rcTag: (_ref2 = rcKey && tags[rcKey]) !== null && _ref2 !== void 0 ? _ref2 : null,
|
|
63
76
|
...optionalArgs
|
|
64
77
|
};
|
|
65
78
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { exec } from 'child_process';
|
|
2
|
-
export default function
|
|
2
|
+
export default function getPackageVersionHistoryAndTags(packageName) {
|
|
3
3
|
return new Promise((resolve, reject) => {
|
|
4
|
-
exec(`yarn info ${packageName} --json
|
|
4
|
+
exec(`yarn info ${packageName} --json`, (error, stdout, stderr) => {
|
|
5
5
|
if (error) {
|
|
6
6
|
reject(error);
|
|
7
7
|
}
|
|
@@ -10,7 +10,11 @@ export default function getPackageVersionHistory(packageName) {
|
|
|
10
10
|
}
|
|
11
11
|
let json;
|
|
12
12
|
try {
|
|
13
|
-
|
|
13
|
+
const parseData = JSON.parse(stdout).data;
|
|
14
|
+
json = {
|
|
15
|
+
time: parseData['time'],
|
|
16
|
+
'dist-tags': parseData['dist-tags']
|
|
17
|
+
};
|
|
14
18
|
} catch (e) {
|
|
15
19
|
reject(`Error parsing json output: ${e}`);
|
|
16
20
|
}
|
package/dist/es2019/version.json
CHANGED
|
@@ -2,9 +2,11 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
4
|
import semver from 'semver';
|
|
5
|
-
import
|
|
5
|
+
import getPackageVersionHistoryAndTags from '../../util/get-package-version-history';
|
|
6
6
|
import { createUpgradeEvent, sendAnalytics } from '../../util/analytics';
|
|
7
|
-
var createAnalyticsEvents = function createAnalyticsEvents(packageName,
|
|
7
|
+
var createAnalyticsEvents = function createAnalyticsEvents(packageName, packageVersionHistoryAndTags, since) {
|
|
8
|
+
var packageVersionHistory = packageVersionHistoryAndTags['time'];
|
|
9
|
+
var tags = packageVersionHistoryAndTags['dist-tags'];
|
|
8
10
|
var sortedPackageVersionHistory = Object.entries(packageVersionHistory).filter(function (_ref) {
|
|
9
11
|
var _ref2 = _slicedToArray(_ref, 1),
|
|
10
12
|
version = _ref2[0];
|
|
@@ -21,7 +23,8 @@ var createAnalyticsEvents = function createAnalyticsEvents(packageName, packageV
|
|
|
21
23
|
}
|
|
22
24
|
var previousVersion = sortedPackageVersionHistory[i - 1] && sortedPackageVersionHistory[i - 1][0];
|
|
23
25
|
return createUpgradeEvent(packageName, version, previousVersion, time, {
|
|
24
|
-
historical: true
|
|
26
|
+
historical: true,
|
|
27
|
+
tags: tags
|
|
25
28
|
});
|
|
26
29
|
}).filter(function (e) {
|
|
27
30
|
return e != null;
|
|
@@ -45,7 +48,7 @@ function _populatePackage() {
|
|
|
45
48
|
throw new Error("Package must start with '@atlaskit/'");
|
|
46
49
|
case 2:
|
|
47
50
|
_context.next = 4;
|
|
48
|
-
return
|
|
51
|
+
return getPackageVersionHistoryAndTags(flags.pkg);
|
|
49
52
|
case 4:
|
|
50
53
|
packageVersionHistory = _context.sent;
|
|
51
54
|
if (!(flags.since && Number.isNaN(Number(new Date(flags.since))))) {
|
|
@@ -10,6 +10,7 @@ import * as statlas from '../../util/statlas';
|
|
|
10
10
|
import { generateCSV } from './util/generate-csv';
|
|
11
11
|
import { assert } from '../../util/assert';
|
|
12
12
|
import { DependencyStore } from './lib/dependency-store';
|
|
13
|
+
import getPackageVersionHistoryAndTags from '../../util/get-package-version-history';
|
|
13
14
|
var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDeps, newDeps, _ref) {
|
|
14
15
|
var date = _ref.date,
|
|
15
16
|
commitHash = _ref.commitHash;
|
|
@@ -56,35 +57,35 @@ var getUpgradeEventsFromPkgChange = function getUpgradeEventsFromPkgChange(oldDe
|
|
|
56
57
|
return [].concat(_toConsumableArray(addOrUpgradeEvents), _toConsumableArray(removeEvents));
|
|
57
58
|
};
|
|
58
59
|
var getEventsFromHistory = /*#__PURE__*/function () {
|
|
59
|
-
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
60
|
-
var cwd, allPackageChanges, allUpgradeEvents, dependencyStore, dependencies, i, item, newDependencies, packageChange, upgradeEvents;
|
|
61
|
-
return _regeneratorRuntime.wrap(function
|
|
60
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(packageChangesLog, prevRunHash, _ref8) {
|
|
61
|
+
var cwd, allPackageChanges, allUpgradeEvents, dependencyStore, dependencies, i, item, newDependencies, packageChange, upgradeEvents, _allUpgradeEvents;
|
|
62
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
62
63
|
while (1) {
|
|
63
|
-
switch (
|
|
64
|
+
switch (_context2.prev = _context2.next) {
|
|
64
65
|
case 0:
|
|
65
66
|
cwd = _ref8.cwd;
|
|
66
67
|
allPackageChanges = [];
|
|
67
68
|
allUpgradeEvents = [];
|
|
68
69
|
assert(packageChangesLog.all.length > 0, '');
|
|
69
70
|
dependencyStore = new DependencyStore(cwd);
|
|
70
|
-
|
|
71
|
+
_context2.next = 7;
|
|
71
72
|
return dependencyStore.initialise(prevRunHash);
|
|
72
73
|
case 7:
|
|
73
|
-
dependencies =
|
|
74
|
+
dependencies = _context2.sent;
|
|
74
75
|
i = 0;
|
|
75
76
|
case 9:
|
|
76
77
|
if (!(i < packageChangesLog.all.length)) {
|
|
77
|
-
|
|
78
|
+
_context2.next = 21;
|
|
78
79
|
break;
|
|
79
80
|
}
|
|
80
81
|
item = packageChangesLog.all[i];
|
|
81
82
|
if (allPackageChanges.length > 0) {
|
|
82
83
|
dependencies = allPackageChanges[allPackageChanges.length - 1].akDeps;
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
+
_context2.next = 14;
|
|
85
86
|
return dependencyStore.update(item);
|
|
86
87
|
case 14:
|
|
87
|
-
newDependencies =
|
|
88
|
+
newDependencies = _context2.sent;
|
|
88
89
|
packageChange = {
|
|
89
90
|
date: new Date(item.date).toISOString(),
|
|
90
91
|
akDeps: newDependencies
|
|
@@ -94,143 +95,179 @@ var getEventsFromHistory = /*#__PURE__*/function () {
|
|
|
94
95
|
commitHash: item.hash
|
|
95
96
|
});
|
|
96
97
|
if (upgradeEvents.length > 0) {
|
|
97
|
-
allUpgradeEvents.push.apply(
|
|
98
|
+
(_allUpgradeEvents = allUpgradeEvents).push.apply(_allUpgradeEvents, _toConsumableArray(upgradeEvents));
|
|
98
99
|
allPackageChanges.push(packageChange);
|
|
99
100
|
}
|
|
100
101
|
case 18:
|
|
101
102
|
i++;
|
|
102
|
-
|
|
103
|
+
_context2.next = 9;
|
|
103
104
|
break;
|
|
104
105
|
case 21:
|
|
105
|
-
|
|
106
|
+
_context2.next = 23;
|
|
107
|
+
return Promise.all(allUpgradeEvents.map( /*#__PURE__*/function () {
|
|
108
|
+
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(upgradeEvent) {
|
|
109
|
+
var _distTags$hotfix, _distTags$latest, _distTags$next;
|
|
110
|
+
var getPackageTags, distTags;
|
|
111
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
112
|
+
while (1) {
|
|
113
|
+
switch (_context.prev = _context.next) {
|
|
114
|
+
case 0:
|
|
115
|
+
_context.next = 2;
|
|
116
|
+
return getPackageVersionHistoryAndTags(upgradeEvent.dependencyName);
|
|
117
|
+
case 2:
|
|
118
|
+
getPackageTags = _context.sent;
|
|
119
|
+
distTags = getPackageTags['dist-tags'];
|
|
120
|
+
Object.keys(distTags).forEach(function (key) {
|
|
121
|
+
if (key.startsWith('rc')) {
|
|
122
|
+
upgradeEvent.rcTag = distTags[key];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
upgradeEvent.hotfixTag = (_distTags$hotfix = distTags['hotfix']) !== null && _distTags$hotfix !== void 0 ? _distTags$hotfix : null;
|
|
126
|
+
upgradeEvent.latestTag = (_distTags$latest = distTags['latest']) !== null && _distTags$latest !== void 0 ? _distTags$latest : null;
|
|
127
|
+
upgradeEvent.nextTag = (_distTags$next = distTags['next']) !== null && _distTags$next !== void 0 ? _distTags$next : null;
|
|
128
|
+
return _context.abrupt("return", upgradeEvent);
|
|
129
|
+
case 9:
|
|
130
|
+
case "end":
|
|
131
|
+
return _context.stop();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}, _callee);
|
|
135
|
+
}));
|
|
136
|
+
return function (_x4) {
|
|
137
|
+
return _ref10.apply(this, arguments);
|
|
138
|
+
};
|
|
139
|
+
}()));
|
|
140
|
+
case 23:
|
|
141
|
+
allUpgradeEvents = _context2.sent;
|
|
142
|
+
return _context2.abrupt("return", {
|
|
106
143
|
allPackageChanges: allPackageChanges,
|
|
107
144
|
allUpgradeEvents: allUpgradeEvents
|
|
108
145
|
});
|
|
109
|
-
case
|
|
146
|
+
case 25:
|
|
110
147
|
case "end":
|
|
111
|
-
return
|
|
148
|
+
return _context2.stop();
|
|
112
149
|
}
|
|
113
150
|
}
|
|
114
|
-
},
|
|
151
|
+
}, _callee2);
|
|
115
152
|
}));
|
|
116
153
|
return function getEventsFromHistory(_x, _x2, _x3) {
|
|
117
154
|
return _ref9.apply(this, arguments);
|
|
118
155
|
};
|
|
119
156
|
}();
|
|
120
|
-
function getSinceRef(
|
|
157
|
+
function getSinceRef(_x5) {
|
|
121
158
|
return _getSinceRef.apply(this, arguments);
|
|
122
159
|
}
|
|
123
160
|
function _getSinceRef() {
|
|
124
|
-
_getSinceRef = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
161
|
+
_getSinceRef = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(flags) {
|
|
125
162
|
var meta, tag, tagExists;
|
|
126
|
-
return _regeneratorRuntime.wrap(function
|
|
163
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
127
164
|
while (1) {
|
|
128
|
-
switch (
|
|
165
|
+
switch (_context3.prev = _context3.next) {
|
|
129
166
|
case 0:
|
|
130
167
|
if (!flags.statlas) {
|
|
131
|
-
|
|
168
|
+
_context3.next = 9;
|
|
132
169
|
break;
|
|
133
170
|
}
|
|
134
|
-
|
|
171
|
+
_context3.next = 3;
|
|
135
172
|
return statlas.getMeta(flags.product);
|
|
136
173
|
case 3:
|
|
137
|
-
meta =
|
|
174
|
+
meta = _context3.sent;
|
|
138
175
|
if (!(!meta || !meta.lastRunHash)) {
|
|
139
|
-
|
|
176
|
+
_context3.next = 6;
|
|
140
177
|
break;
|
|
141
178
|
}
|
|
142
179
|
throw new Error(chalk.red("Missing or invalid metadata file for ".concat(flags.product, ". Must use --reset for populating from start of history")));
|
|
143
180
|
case 6:
|
|
144
|
-
return
|
|
181
|
+
return _context3.abrupt("return", meta.lastRunHash);
|
|
145
182
|
case 9:
|
|
146
183
|
tag = flags.tag || DEFAULT_TAG;
|
|
147
|
-
|
|
184
|
+
_context3.next = 12;
|
|
148
185
|
return refetchTag(tag);
|
|
149
186
|
case 12:
|
|
150
|
-
|
|
187
|
+
_context3.next = 14;
|
|
151
188
|
return doesTagExist(tag);
|
|
152
189
|
case 14:
|
|
153
|
-
tagExists =
|
|
190
|
+
tagExists = _context3.sent;
|
|
154
191
|
if (tagExists) {
|
|
155
|
-
|
|
192
|
+
_context3.next = 17;
|
|
156
193
|
break;
|
|
157
194
|
}
|
|
158
195
|
throw new Error(chalk.red("Tag '".concat(tag, "' does not exist. Must use --reset for populating from start of history.")));
|
|
159
196
|
case 17:
|
|
160
|
-
return
|
|
197
|
+
return _context3.abrupt("return", tag);
|
|
161
198
|
case 18:
|
|
162
199
|
case "end":
|
|
163
|
-
return
|
|
200
|
+
return _context3.stop();
|
|
164
201
|
}
|
|
165
202
|
}
|
|
166
|
-
},
|
|
203
|
+
}, _callee3);
|
|
167
204
|
}));
|
|
168
205
|
return _getSinceRef.apply(this, arguments);
|
|
169
206
|
}
|
|
170
|
-
export default function populateProduct(
|
|
207
|
+
export default function populateProduct(_x6) {
|
|
171
208
|
return _populateProduct.apply(this, arguments);
|
|
172
209
|
}
|
|
173
210
|
function _populateProduct() {
|
|
174
|
-
_populateProduct = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
211
|
+
_populateProduct = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(flags) {
|
|
175
212
|
var cwd, sinceRef, log, _yield$getEventsFromH, allPackageChanges, allUpgradeEvents, csv, currentCommit;
|
|
176
|
-
return _regeneratorRuntime.wrap(function
|
|
213
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
177
214
|
while (1) {
|
|
178
|
-
switch (
|
|
215
|
+
switch (_context4.prev = _context4.next) {
|
|
179
216
|
case 0:
|
|
180
217
|
cwd = flags.cwd || process.cwd();
|
|
181
218
|
if (!flags.reset) {
|
|
182
|
-
|
|
219
|
+
_context4.next = 5;
|
|
183
220
|
break;
|
|
184
221
|
}
|
|
185
|
-
|
|
186
|
-
|
|
222
|
+
_context4.t0 = undefined;
|
|
223
|
+
_context4.next = 8;
|
|
187
224
|
break;
|
|
188
225
|
case 5:
|
|
189
|
-
|
|
226
|
+
_context4.next = 7;
|
|
190
227
|
return getSinceRef(flags);
|
|
191
228
|
case 7:
|
|
192
|
-
|
|
229
|
+
_context4.t0 = _context4.sent;
|
|
193
230
|
case 8:
|
|
194
|
-
sinceRef =
|
|
195
|
-
|
|
231
|
+
sinceRef = _context4.t0;
|
|
232
|
+
_context4.next = 11;
|
|
196
233
|
return getChangesSince(sinceRef);
|
|
197
234
|
case 11:
|
|
198
|
-
log =
|
|
235
|
+
log = _context4.sent;
|
|
199
236
|
if (!(log.all.length === 0)) {
|
|
200
|
-
|
|
237
|
+
_context4.next = 15;
|
|
201
238
|
break;
|
|
202
239
|
}
|
|
203
240
|
console.log("No package.json changes found since '".concat(sinceRef, "'."));
|
|
204
|
-
return
|
|
241
|
+
return _context4.abrupt("return");
|
|
205
242
|
case 15:
|
|
206
|
-
|
|
243
|
+
_context4.next = 17;
|
|
207
244
|
return getEventsFromHistory(log, sinceRef, {
|
|
208
245
|
cwd: cwd
|
|
209
246
|
});
|
|
210
247
|
case 17:
|
|
211
|
-
_yield$getEventsFromH =
|
|
248
|
+
_yield$getEventsFromH = _context4.sent;
|
|
212
249
|
allPackageChanges = _yield$getEventsFromH.allPackageChanges;
|
|
213
250
|
allUpgradeEvents = _yield$getEventsFromH.allUpgradeEvents;
|
|
214
251
|
if (!flags.csv) {
|
|
215
|
-
|
|
252
|
+
_context4.next = 24;
|
|
216
253
|
break;
|
|
217
254
|
}
|
|
218
255
|
csv = generateCSV(allPackageChanges);
|
|
219
256
|
console.log(csv);
|
|
220
|
-
return
|
|
257
|
+
return _context4.abrupt("return");
|
|
221
258
|
case 24:
|
|
222
259
|
if (!flags.dryRun) {
|
|
223
|
-
|
|
260
|
+
_context4.next = 27;
|
|
224
261
|
break;
|
|
225
262
|
}
|
|
226
263
|
console.log(JSON.stringify(allUpgradeEvents));
|
|
227
|
-
return
|
|
264
|
+
return _context4.abrupt("return");
|
|
228
265
|
case 27:
|
|
229
266
|
if (!(allUpgradeEvents.length > 0)) {
|
|
230
|
-
|
|
267
|
+
_context4.next = 32;
|
|
231
268
|
break;
|
|
232
269
|
}
|
|
233
|
-
|
|
270
|
+
_context4.next = 30;
|
|
234
271
|
return sendAnalytics(allUpgradeEvents, {
|
|
235
272
|
dev: flags.dev,
|
|
236
273
|
limit: flags.limit,
|
|
@@ -238,37 +275,37 @@ function _populateProduct() {
|
|
|
238
275
|
skipPrompt: !flags.interactive
|
|
239
276
|
});
|
|
240
277
|
case 30:
|
|
241
|
-
|
|
278
|
+
_context4.next = 33;
|
|
242
279
|
break;
|
|
243
280
|
case 32:
|
|
244
281
|
console.log("Found no AK dependency changes since last run from ref \"".concat(sinceRef, "\"'"));
|
|
245
282
|
case 33:
|
|
246
283
|
if (!flags.statlas) {
|
|
247
|
-
|
|
284
|
+
_context4.next = 42;
|
|
248
285
|
break;
|
|
249
286
|
}
|
|
250
|
-
|
|
287
|
+
_context4.next = 36;
|
|
251
288
|
return getHash('HEAD');
|
|
252
289
|
case 36:
|
|
253
|
-
currentCommit =
|
|
254
|
-
|
|
290
|
+
currentCommit = _context4.sent;
|
|
291
|
+
_context4.next = 39;
|
|
255
292
|
return statlas.uploadMeta(flags.product, currentCommit);
|
|
256
293
|
case 39:
|
|
257
294
|
console.log('Finished');
|
|
258
|
-
|
|
295
|
+
_context4.next = 46;
|
|
259
296
|
break;
|
|
260
297
|
case 42:
|
|
261
298
|
console.log('Updating tag to current commit...');
|
|
262
|
-
|
|
299
|
+
_context4.next = 45;
|
|
263
300
|
return tagCommit(DEFAULT_TAG);
|
|
264
301
|
case 45:
|
|
265
302
|
console.log("Finished. Run 'git push origin tag ".concat(sinceRef, "'."));
|
|
266
303
|
case 46:
|
|
267
304
|
case "end":
|
|
268
|
-
return
|
|
305
|
+
return _context4.stop();
|
|
269
306
|
}
|
|
270
307
|
}
|
|
271
|
-
},
|
|
308
|
+
}, _callee4);
|
|
272
309
|
}));
|
|
273
310
|
return _populateProduct.apply(this, arguments);
|
|
274
311
|
}
|
|
@@ -44,6 +44,7 @@ function getUpgradeSubType(version, previousVersion) {
|
|
|
44
44
|
return upgradeSubType;
|
|
45
45
|
}
|
|
46
46
|
export function createUpgradeEvent(name, version, previousVersion, date) {
|
|
47
|
+
var _optionalArgs$tags, _ref, _tags$next, _tags$hotfix, _ref2;
|
|
47
48
|
var optionalArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
48
49
|
if (Number.isNaN(Date.parse(date))) {
|
|
49
50
|
throw new Error("Invalid date: '".concat(date, "'"));
|
|
@@ -56,6 +57,14 @@ export function createUpgradeEvent(name, version, previousVersion, date) {
|
|
|
56
57
|
var upgradeSubType = getUpgradeSubType(version, previousVersion);
|
|
57
58
|
var eventVersion = upgradeType !== 'remove' ? version : previousVersion;
|
|
58
59
|
var parsedVersion = semver.coerce(eventVersion);
|
|
60
|
+
var rcKey = null;
|
|
61
|
+
var tags = (_optionalArgs$tags = optionalArgs === null || optionalArgs === void 0 ? void 0 : optionalArgs.tags) !== null && _optionalArgs$tags !== void 0 ? _optionalArgs$tags : {};
|
|
62
|
+
Object.keys(tags).forEach(function (key) {
|
|
63
|
+
if (key.startsWith('rc')) {
|
|
64
|
+
rcKey = key;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
59
68
|
return _objectSpread({
|
|
60
69
|
cliVersion: packageVersion,
|
|
61
70
|
dependencyName: name,
|
|
@@ -65,20 +74,24 @@ export function createUpgradeEvent(name, version, previousVersion, date) {
|
|
|
65
74
|
patch: parsedVersion ? "".concat(parsedVersion.patch) : null,
|
|
66
75
|
date: new Date(date).toISOString(),
|
|
67
76
|
upgradeType: upgradeType,
|
|
68
|
-
upgradeSubType: upgradeSubType
|
|
77
|
+
upgradeSubType: upgradeSubType,
|
|
78
|
+
latestTag: (_ref = tags && tags['latest']) !== null && _ref !== void 0 ? _ref : null,
|
|
79
|
+
nextTag: (_tags$next = tags['next']) !== null && _tags$next !== void 0 ? _tags$next : null,
|
|
80
|
+
hotfixTag: (_tags$hotfix = tags['hotfix']) !== null && _tags$hotfix !== void 0 ? _tags$hotfix : null,
|
|
81
|
+
rcTag: (_ref2 = rcKey && tags[rcKey]) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
69
82
|
}, optionalArgs);
|
|
70
83
|
}
|
|
71
84
|
export function sendAnalytics(_x, _x2) {
|
|
72
85
|
return _sendAnalytics.apply(this, arguments);
|
|
73
86
|
}
|
|
74
87
|
function _sendAnalytics() {
|
|
75
|
-
_sendAnalytics = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(analyticsEvents,
|
|
88
|
+
_sendAnalytics = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(analyticsEvents, _ref3) {
|
|
76
89
|
var dev, limit, product, skipPrompt, analyticsEnv, eventsToSend, client, answers, promises;
|
|
77
90
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
78
91
|
while (1) {
|
|
79
92
|
switch (_context.prev = _context.next) {
|
|
80
93
|
case 0:
|
|
81
|
-
dev =
|
|
94
|
+
dev = _ref3.dev, limit = _ref3.limit, product = _ref3.product, skipPrompt = _ref3.skipPrompt;
|
|
82
95
|
analyticsEnv = dev ? 'dev' : 'prod';
|
|
83
96
|
eventsToSend = limit != null ? analyticsEvents.slice(0, limit) : analyticsEvents;
|
|
84
97
|
client = analyticsClient({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { exec } from 'child_process';
|
|
2
|
-
export default function
|
|
2
|
+
export default function getPackageVersionHistoryAndTags(packageName) {
|
|
3
3
|
return new Promise(function (resolve, reject) {
|
|
4
|
-
exec("yarn info ".concat(packageName, " --json
|
|
4
|
+
exec("yarn info ".concat(packageName, " --json"), function (error, stdout, stderr) {
|
|
5
5
|
if (error) {
|
|
6
6
|
reject(error);
|
|
7
7
|
}
|
|
@@ -10,7 +10,11 @@ export default function getPackageVersionHistory(packageName) {
|
|
|
10
10
|
}
|
|
11
11
|
var json;
|
|
12
12
|
try {
|
|
13
|
-
|
|
13
|
+
var parseData = JSON.parse(stdout).data;
|
|
14
|
+
json = {
|
|
15
|
+
time: parseData['time'],
|
|
16
|
+
'dist-tags': parseData['dist-tags']
|
|
17
|
+
};
|
|
14
18
|
} catch (e) {
|
|
15
19
|
reject("Error parsing json output: ".concat(e));
|
|
16
20
|
}
|
package/dist/esm/version.json
CHANGED
package/dist/types/types.d.ts
CHANGED
|
@@ -12,7 +12,14 @@ export declare type UpgradeEvent = {
|
|
|
12
12
|
upgradeType: UpgradeType;
|
|
13
13
|
upgradeSubType: UpgradeSubType;
|
|
14
14
|
cliVersion: string;
|
|
15
|
+
latestTag: string | null;
|
|
16
|
+
nextTag: string | null;
|
|
17
|
+
hotfixTag: string | null;
|
|
18
|
+
rcTag: string | null;
|
|
15
19
|
dependencyType?: DependencyType;
|
|
16
20
|
historical?: boolean;
|
|
17
21
|
commitHash?: string;
|
|
18
22
|
};
|
|
23
|
+
export declare type DistTagsType = {
|
|
24
|
+
[tag: string]: string;
|
|
25
|
+
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { UpgradeEvent, DependencyType } from '../types';
|
|
1
|
+
import { UpgradeEvent, DependencyType, DistTagsType } from '../types';
|
|
2
2
|
export declare function createUpgradeEvent(name: string, version: string | undefined, previousVersion: string | undefined, date: string, optionalArgs?: {
|
|
3
3
|
commitHash?: string;
|
|
4
4
|
dependencyType?: DependencyType;
|
|
5
5
|
historical?: boolean;
|
|
6
|
+
tags?: DistTagsType;
|
|
6
7
|
}): UpgradeEvent | null;
|
|
7
8
|
export declare function sendAnalytics(analyticsEvents: UpgradeEvent[], { dev, limit, product, skipPrompt, }: {
|
|
8
9
|
dev?: boolean;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { DistTagsType } from '../types';
|
|
2
|
+
export declare type PackageVersionHistoryAndTagsType = {
|
|
3
|
+
time: {
|
|
4
|
+
[version: string]: string;
|
|
5
|
+
};
|
|
6
|
+
'dist-tags': DistTagsType;
|
|
3
7
|
};
|
|
4
|
-
export default function
|
|
8
|
+
export default function getPackageVersionHistoryAndTags(packageName: string): Promise<PackageVersionHistoryAndTagsType>;
|
package/package.json
CHANGED
package/report.api.md
CHANGED
|
@@ -83,6 +83,10 @@ export type UpgradeEvent = {
|
|
|
83
83
|
upgradeType: UpgradeType;
|
|
84
84
|
upgradeSubType: UpgradeSubType;
|
|
85
85
|
cliVersion: string;
|
|
86
|
+
latestTag: null | string;
|
|
87
|
+
nextTag: null | string;
|
|
88
|
+
hotfixTag: null | string;
|
|
89
|
+
rcTag: null | string;
|
|
86
90
|
dependencyType?: DependencyType;
|
|
87
91
|
historical?: boolean;
|
|
88
92
|
commitHash?: string;
|
package/tmp/api-report-tmp.d.ts
CHANGED
|
@@ -58,6 +58,10 @@ export type UpgradeEvent = {
|
|
|
58
58
|
upgradeType: UpgradeType;
|
|
59
59
|
upgradeSubType: UpgradeSubType;
|
|
60
60
|
cliVersion: string;
|
|
61
|
+
latestTag: null | string;
|
|
62
|
+
nextTag: null | string;
|
|
63
|
+
hotfixTag: null | string;
|
|
64
|
+
rcTag: null | string;
|
|
61
65
|
dependencyType?: DependencyType;
|
|
62
66
|
historical?: boolean;
|
|
63
67
|
commitHash?: string;
|