eas-cli 18.5.0 → 18.6.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 (55) hide show
  1. package/README.md +88 -88
  2. package/build/commandUtils/pagination.d.ts +2 -1
  3. package/build/commandUtils/pagination.js +3 -2
  4. package/build/commands/deploy/index.js +18 -2
  5. package/build/commands/metadata/pull.d.ts +1 -1
  6. package/build/commands/metadata/pull.js +2 -4
  7. package/build/commands/metadata/push.d.ts +1 -1
  8. package/build/commands/metadata/push.js +2 -4
  9. package/build/commands/observe/events.d.ts +27 -0
  10. package/build/commands/observe/events.js +140 -0
  11. package/build/commands/observe/metrics.d.ts +21 -0
  12. package/build/commands/observe/metrics.js +111 -0
  13. package/build/commands/observe/versions.d.ts +19 -0
  14. package/build/commands/observe/versions.js +69 -0
  15. package/build/credentials/ios/IosCredentialsProvider.js +8 -4
  16. package/build/credentials/ios/utils/provisioningProfile.d.ts +1 -0
  17. package/build/credentials/ios/utils/provisioningProfile.js +15 -1
  18. package/build/graphql/generated.d.ts +634 -61
  19. package/build/graphql/generated.js +11 -9
  20. package/build/graphql/queries/ObserveQuery.d.ts +35 -0
  21. package/build/graphql/queries/ObserveQuery.js +109 -0
  22. package/build/graphql/types/Observe.d.ts +3 -0
  23. package/build/graphql/types/Observe.js +84 -0
  24. package/build/metadata/apple/config/reader.d.ts +9 -1
  25. package/build/metadata/apple/config/reader.js +25 -0
  26. package/build/metadata/apple/config/writer.d.ts +7 -1
  27. package/build/metadata/apple/config/writer.js +44 -0
  28. package/build/metadata/apple/data.d.ts +2 -1
  29. package/build/metadata/apple/tasks/app-clip.d.ts +37 -0
  30. package/build/metadata/apple/tasks/app-clip.js +404 -0
  31. package/build/metadata/apple/tasks/index.js +2 -0
  32. package/build/metadata/apple/tasks/previews.js +16 -12
  33. package/build/metadata/apple/tasks/screenshots.js +15 -4
  34. package/build/metadata/apple/types.d.ts +28 -1
  35. package/build/observe/fetchEvents.d.ts +27 -0
  36. package/build/observe/fetchEvents.js +83 -0
  37. package/build/observe/fetchMetrics.d.ts +11 -0
  38. package/build/observe/fetchMetrics.js +78 -0
  39. package/build/observe/fetchVersions.d.ts +7 -0
  40. package/build/observe/fetchVersions.js +31 -0
  41. package/build/observe/formatEvents.d.ts +31 -0
  42. package/build/observe/formatEvents.js +99 -0
  43. package/build/observe/formatMetrics.d.ts +38 -0
  44. package/build/observe/formatMetrics.js +206 -0
  45. package/build/observe/formatVersions.d.ts +32 -0
  46. package/build/observe/formatVersions.js +92 -0
  47. package/build/observe/metricNames.d.ts +4 -0
  48. package/build/observe/metricNames.js +33 -0
  49. package/build/observe/startAndEndTime.d.ts +18 -0
  50. package/build/observe/startAndEndTime.js +36 -0
  51. package/build/user/SessionManager.js +11 -0
  52. package/build/worker/upload.js +15 -5
  53. package/oclif.manifest.json +1782 -1306
  54. package/package.json +9 -6
  55. package/schema/metadata-0.json +177 -0
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_DAYS_BACK = void 0;
4
+ exports.startAndEndTime = startAndEndTime;
5
+ exports.resolveTimeRange = resolveTimeRange;
6
+ const fetchMetrics_1 = require("./fetchMetrics");
7
+ exports.DEFAULT_DAYS_BACK = 60;
8
+ function startAndEndTime({ daysBack, start, end, }) {
9
+ let startTime;
10
+ let endTime;
11
+ if (daysBack) {
12
+ endTime = new Date().toISOString();
13
+ startTime = new Date(Date.now() - daysBack * 24 * 60 * 60 * 1000).toISOString();
14
+ }
15
+ else {
16
+ endTime = end ?? new Date().toISOString();
17
+ startTime =
18
+ start ?? new Date(Date.now() - exports.DEFAULT_DAYS_BACK * 24 * 60 * 60 * 1000).toISOString();
19
+ }
20
+ return { startTime, endTime };
21
+ }
22
+ function resolveTimeRange(flags) {
23
+ if (flags.start) {
24
+ (0, fetchMetrics_1.validateDateFlag)(flags.start, '--start');
25
+ }
26
+ if (flags.end) {
27
+ (0, fetchMetrics_1.validateDateFlag)(flags.end, '--end');
28
+ }
29
+ const daysBack = flags.days ?? (flags.start ? undefined : exports.DEFAULT_DAYS_BACK);
30
+ const { startTime, endTime } = startAndEndTime({
31
+ daysBack,
32
+ start: flags.start,
33
+ end: flags.end,
34
+ });
35
+ return { daysBack, startTime, endTime };
36
+ }
@@ -51,6 +51,17 @@ class SessionManager {
51
51
  });
52
52
  }
53
53
  async logoutAsync() {
54
+ const sessionSecret = this.getSessionSecret();
55
+ if (sessionSecret) {
56
+ const apiV2Client = new api_1.ApiV2Client({ accessToken: null, sessionSecret });
57
+ try {
58
+ await apiV2Client.postAsync('auth/logout', { body: {} });
59
+ }
60
+ catch (e) {
61
+ // Best-effort: clear the local session even if the server request fails
62
+ log_1.default.debug('Failed to invalidate session secret on server:', e);
63
+ }
64
+ }
54
65
  this.currentActor = undefined;
55
66
  await this.setSessionAsync(undefined);
56
67
  }
@@ -166,6 +166,7 @@ async function* batchUploadAsync(init, payloads, onProgressUpdate) {
166
166
  (() => {
167
167
  onProgressUpdate(getProgressValue());
168
168
  });
169
+ let firstError = null;
169
170
  try {
170
171
  let index = 0;
171
172
  while (index < payloads.length || queue.size > 0) {
@@ -177,27 +178,36 @@ async function* batchUploadAsync(init, payloads, onProgressUpdate) {
177
178
  progressTracker[currentIndex] = progress;
178
179
  sendProgressUpdate();
179
180
  });
180
- const uploadPromise = uploadAsync(initWithSignal, payload, onChildProgressUpdate).finally(() => {
181
+ const uploadPromise = uploadAsync(initWithSignal, payload, onChildProgressUpdate).then(result => {
181
182
  queue.delete(uploadPromise);
182
183
  progressTracker[currentIndex] = 1;
184
+ return result;
185
+ }, error => {
186
+ queue.delete(uploadPromise);
187
+ firstError ??= error;
188
+ controller.abort();
189
+ throw error;
183
190
  });
184
191
  queue.add(uploadPromise);
185
192
  yield { payload, progress: getProgressValue() };
186
193
  }
194
+ if (firstError) {
195
+ break;
196
+ }
187
197
  yield {
188
198
  ...(await Promise.race(queue)),
189
199
  progress: getProgressValue(),
190
200
  };
191
201
  }
192
- if (queue.size > 0) {
193
- controller.abort();
194
- }
195
202
  }
196
203
  catch (error) {
197
204
  if (error.name !== 'AbortError') {
198
- throw error;
205
+ firstError ??= error;
199
206
  }
200
207
  }
208
+ if (firstError) {
209
+ throw firstError;
210
+ }
201
211
  }
202
212
  function createProgressBar(label = 'Uploading assets') {
203
213
  const queueProgressBar = new cli_progress_1.default.SingleBar({ format: `|{bar}| {percentage}% ${label}` }, cli_progress_1.default.Presets.rect);