@coralogix/rum-cli 1.1.21 → 1.1.24

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 (206) hide show
  1. package/README.md +32 -9
  2. package/api/client/client-factory.ts +26 -0
  3. package/api/client/request-builder.ts +122 -0
  4. package/api/dsym.api.ts +61 -0
  5. package/api/react-native.api.ts +67 -0
  6. package/api/{rum-api.ts → source-maps.api.ts} +15 -23
  7. package/cli/commands/dsym/index.ts +5 -0
  8. package/cli/commands/dsym/upload-dsym-command.ts +36 -0
  9. package/cli/commands/react-native/index.ts +5 -0
  10. package/cli/commands/react-native/upload-react-native-source-maps-command.ts +42 -0
  11. package/cli/commands/{delete-source-maps-command.ts → source-maps/delete-source-maps-command.ts} +8 -10
  12. package/cli/commands/source-maps/index.ts +7 -0
  13. package/cli/commands/{update-source-maps-command.ts → source-maps/update-source-maps-command.ts} +8 -10
  14. package/cli/commands/{upload-source-maps-command.ts → source-maps/upload-source-maps-command.ts} +8 -10
  15. package/cli/rum-cli.ts +17 -7
  16. package/config/config.ts +10 -4
  17. package/consts/consts.ts +2 -0
  18. package/dist/api/client/client-factory.d.ts +355 -0
  19. package/dist/api/client/client-factory.js +31 -0
  20. package/dist/api/client/request-builder.d.ts +33 -0
  21. package/dist/api/client/request-builder.js +58 -0
  22. package/dist/api/dsym.api.d.ts +4 -0
  23. package/dist/api/dsym.api.js +50 -0
  24. package/dist/api/react-native.api.d.ts +4 -0
  25. package/dist/api/react-native.api.js +50 -0
  26. package/dist/api/{rum-api.d.ts → source-maps.api.d.ts} +2 -2
  27. package/dist/api/source-maps.api.js +97 -0
  28. package/dist/cli/commands/dsym/index.d.ts +4 -0
  29. package/dist/cli/commands/dsym/index.js +6 -0
  30. package/dist/cli/commands/dsym/upload-dsym-command.d.ts +2 -0
  31. package/dist/cli/commands/dsym/upload-dsym-command.js +45 -0
  32. package/dist/cli/commands/react-native/index.d.ts +4 -0
  33. package/dist/cli/commands/react-native/index.js +6 -0
  34. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.d.ts +2 -0
  35. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +51 -0
  36. package/dist/cli/commands/source-maps/delete-source-maps-command.d.ts +2 -0
  37. package/dist/cli/commands/source-maps/delete-source-maps-command.js +41 -0
  38. package/dist/cli/commands/source-maps/index.d.ts +6 -0
  39. package/dist/cli/commands/source-maps/index.js +8 -0
  40. package/dist/cli/commands/source-maps/update-source-maps-command.d.ts +2 -0
  41. package/dist/cli/commands/source-maps/update-source-maps-command.js +46 -0
  42. package/dist/cli/commands/source-maps/upload-source-maps-command.d.ts +2 -0
  43. package/dist/cli/commands/source-maps/upload-source-maps-command.js +45 -0
  44. package/dist/cli/rum-cli.js +14 -8
  45. package/dist/config/config.d.ts +5 -2
  46. package/dist/config/config.js +6 -3
  47. package/dist/consts/consts.d.ts +1 -0
  48. package/dist/consts/consts.js +3 -2
  49. package/dist/models/dsym-commands.model.d.ts +11 -0
  50. package/dist/models/dsym-commands.model.js +3 -0
  51. package/dist/models/react-native-commands.model.d.ts +11 -0
  52. package/dist/models/react-native-commands.model.js +3 -0
  53. package/dist/models/{commands.model.d.ts → source-maps-commands.model.d.ts} +3 -3
  54. package/dist/models/source-maps-commands.model.js +3 -0
  55. package/dist/proto-models/com/coralogix/blobset/v2/audit_log.d.ts +24 -0
  56. package/dist/proto-models/com/coralogix/blobset/v2/audit_log.js +64 -0
  57. package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.d.ts +111 -0
  58. package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.js +31 -0
  59. package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.d.ts +67 -0
  60. package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.js +174 -0
  61. package/dist/proto-models/com/coralogix/blobset/v2/dsym.d.ts +58 -0
  62. package/dist/proto-models/com/coralogix/blobset/v2/dsym.js +331 -0
  63. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +78 -0
  64. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +459 -0
  65. package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +9 -0
  66. package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +47 -0
  67. package/dist/proto-models/com/coralogix/blobset/v2/react_native.d.ts +54 -0
  68. package/dist/proto-models/com/coralogix/blobset/v2/react_native.js +313 -0
  69. package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.d.ts +30 -0
  70. package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.js +126 -0
  71. package/dist/proto-models/com/coralogix/rum/v2/analytics.d.ts +1 -1
  72. package/dist/proto-models/com/coralogix/rum/v2/analytics.js +115 -102
  73. package/dist/proto-models/com/coralogix/rum/v2/audit_log.d.ts +1 -1
  74. package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +5 -3
  75. package/dist/proto-models/com/coralogix/rum/v2/chunk.d.ts +1 -1
  76. package/dist/proto-models/com/coralogix/rum/v2/chunk.js +54 -49
  77. package/dist/proto-models/com/coralogix/rum/v2/file.d.ts +1 -1
  78. package/dist/proto-models/com/coralogix/rum/v2/file.js +24 -34
  79. package/dist/proto-models/com/coralogix/rum/v2/hide_errors.d.ts +44 -0
  80. package/dist/proto-models/com/coralogix/rum/v2/hide_errors.js +195 -0
  81. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +78 -0
  82. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +459 -0
  83. package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.d.ts +9 -0
  84. package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.js +47 -0
  85. package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.d.ts +198 -0
  86. package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.js +517 -0
  87. package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.d.ts +69 -0
  88. package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.js +189 -0
  89. package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.d.ts +480 -0
  90. package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.js +1420 -0
  91. package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.d.ts +41 -0
  92. package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.js +217 -0
  93. package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +143 -3
  94. package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +595 -127
  95. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.d.ts +1 -59
  96. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +4 -175
  97. package/dist/proto-models/com/coralogix/rum/v2/rum_settings.d.ts +45 -0
  98. package/dist/proto-models/com/coralogix/rum/v2/rum_settings.js +193 -0
  99. package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.d.ts +107 -0
  100. package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.js +214 -0
  101. package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.d.ts +261 -0
  102. package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.js +698 -0
  103. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +93 -1
  104. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +325 -42
  105. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +55 -0
  106. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +267 -0
  107. package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.d.ts +109 -0
  108. package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.js +580 -0
  109. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.d.ts +1 -1
  110. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +47 -24
  111. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.d.ts +1 -1
  112. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +43 -38
  113. package/dist/proto-models/com/coralogix/rum/v2/template.d.ts +14 -1
  114. package/dist/proto-models/com/coralogix/rum/v2/template.js +148 -54
  115. package/dist/proto-models/google/protobuf/descriptor.d.ts +1 -1
  116. package/dist/proto-models/google/protobuf/descriptor.js +537 -427
  117. package/dist/services/dsym.service.d.ts +3 -0
  118. package/dist/services/dsym.service.js +36 -0
  119. package/dist/services/react-native.service.d.ts +3 -0
  120. package/dist/services/react-native.service.js +37 -0
  121. package/dist/services/source-maps.service.js +12 -14
  122. package/dist/utils/file-processor.utils.d.ts +12 -0
  123. package/dist/utils/file-processor.utils.js +196 -0
  124. package/dist/utils/shared.utils.d.ts +9 -0
  125. package/dist/utils/shared.utils.js +62 -0
  126. package/models/dsym-commands.model.ts +11 -0
  127. package/models/react-native-commands.model.ts +11 -0
  128. package/models/{commands.model.ts → source-maps-commands.model.ts} +3 -3
  129. package/package.json +4 -3
  130. package/proto-models/com/coralogix/blobset/v2/audit_log.ts +78 -0
  131. package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +30 -0
  132. package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +203 -0
  133. package/proto-models/com/coralogix/blobset/v2/dsym.ts +394 -0
  134. package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +537 -0
  135. package/proto-models/com/coralogix/blobset/v2/entity_type.ts +44 -0
  136. package/proto-models/com/coralogix/blobset/v2/react_native.ts +361 -0
  137. package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +148 -0
  138. package/proto-models/com/coralogix/rum/v2/analytics.ts +113 -108
  139. package/proto-models/com/coralogix/rum/v2/audit_log.ts +6 -4
  140. package/proto-models/com/coralogix/rum/v2/chunk.ts +55 -56
  141. package/proto-models/com/coralogix/rum/v2/file.ts +25 -39
  142. package/proto-models/com/coralogix/rum/v2/hide_errors.ts +225 -0
  143. package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +537 -0
  144. package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +44 -0
  145. package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +599 -0
  146. package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +223 -0
  147. package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +1673 -0
  148. package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +254 -0
  149. package/proto-models/com/coralogix/rum/v2/rum_service.ts +672 -146
  150. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +1 -208
  151. package/proto-models/com/coralogix/rum/v2/rum_settings.ts +209 -0
  152. package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +260 -0
  153. package/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.ts +818 -0
  154. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +369 -46
  155. package/proto-models/com/coralogix/rum/v2/saved_filter.ts +301 -0
  156. package/proto-models/com/coralogix/rum/v2/snooze_errors.ts +656 -0
  157. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +48 -27
  158. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +44 -44
  159. package/proto-models/com/coralogix/rum/v2/template.ts +161 -59
  160. package/proto-models/google/protobuf/descriptor.ts +551 -464
  161. package/protofetch.lock +21 -2
  162. package/protofetch.toml +6 -1
  163. package/protos/com/coralogix/blobset/v2/audit_log.proto +13 -0
  164. package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +12 -0
  165. package/protos/com/coralogix/blobset/v2/blobset_service.proto +18 -0
  166. package/protos/com/coralogix/blobset/v2/dsym.proto +19 -0
  167. package/protos/com/coralogix/blobset/v2/entity_metadata.proto +36 -0
  168. package/protos/com/coralogix/blobset/v2/entity_type.proto +10 -0
  169. package/protos/com/coralogix/blobset/v2/react_native.proto +23 -0
  170. package/protos/com/coralogix/blobset/v2/s3_metadata.proto +14 -0
  171. package/protos/com/coralogix/rum/v2/hide_errors.proto +19 -0
  172. package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +35 -0
  173. package/protos/com/coralogix/rum/v2/release_entity_type.proto +10 -0
  174. package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +42 -0
  175. package/protos/com/coralogix/rum/v2/rum_react_native_source_map_service.proto +19 -0
  176. package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +117 -0
  177. package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +16 -0
  178. package/protos/com/coralogix/rum/v2/rum_service.proto +36 -0
  179. package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +1 -12
  180. package/protos/com/coralogix/rum/v2/rum_settings.proto +26 -0
  181. package/protos/com/coralogix/rum/v2/rum_settings_service.proto +21 -0
  182. package/protos/com/coralogix/rum/v2/rum_snooze_errors_service.proto +64 -0
  183. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +20 -1
  184. package/protos/com/coralogix/rum/v2/saved_filter.proto +28 -0
  185. package/protos/com/coralogix/rum/v2/snooze_errors.proto +55 -0
  186. package/protos/com/coralogix/rum/v2/template.proto +6 -0
  187. package/protoset.bin +0 -0
  188. package/services/dsym.service.ts +33 -0
  189. package/services/react-native.service.ts +34 -0
  190. package/services/source-maps.service.ts +12 -14
  191. package/utils/file-processor.utils.ts +176 -0
  192. package/utils/shared.utils.ts +52 -0
  193. package/cli/commands/index.ts +0 -7
  194. package/dist/api/rum-api.js +0 -104
  195. package/dist/cli/commands/delete-source-maps-command.d.ts +0 -2
  196. package/dist/cli/commands/delete-source-maps-command.js +0 -43
  197. package/dist/cli/commands/index.d.ts +0 -6
  198. package/dist/cli/commands/index.js +0 -8
  199. package/dist/cli/commands/update-source-maps-command.d.ts +0 -2
  200. package/dist/cli/commands/update-source-maps-command.js +0 -48
  201. package/dist/cli/commands/upload-source-maps-command.d.ts +0 -2
  202. package/dist/cli/commands/upload-source-maps-command.js +0 -47
  203. package/dist/models/commands.model.js +0 -3
  204. package/dist/utils/index.d.ts +0 -6
  205. package/dist/utils/index.js +0 -115
  206. package/utils/index.ts +0 -93
@@ -0,0 +1,4 @@
1
+ import { UploadBlobRequest } from '../proto-models/com/coralogix/blobset/v2/blobset_service';
2
+ export declare class DsymApi {
3
+ static uploadDsym(uploadBlobRequest: UploadBlobRequest, application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, env: string, privateKey: string): Promise<void>;
4
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DsymApi = void 0;
16
+ const nice_grpc_1 = require("nice-grpc");
17
+ const config_1 = __importDefault(require("../config/config"));
18
+ const shared_utils_1 = require("../utils/shared.utils");
19
+ const release_entity_type_1 = require("../proto-models/com/coralogix/rum/v2/release_entity_type");
20
+ const client_factory_1 = require("./client/client-factory");
21
+ const request_builder_1 = require("./client/request-builder");
22
+ class DsymApi {
23
+ static uploadDsym(uploadBlobRequest, application, version, repoName, commitHash, orgName, env, privateKey) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ try {
26
+ const blobSetClient = client_factory_1.ClientFactory.getBlobSetGrpcClient(env);
27
+ const rumSourceMapClient = client_factory_1.ClientFactory.getRumSourceMapGrpcClient(env);
28
+ const metadata = new nice_grpc_1.Metadata();
29
+ metadata.set('Authorization', `Bearer ${privateKey}`);
30
+ (0, shared_utils_1.validateCompressedFilesSize)(uploadBlobRequest.data.length, config_1.default.rumApi.reactNativeMaxCompressedFilesSize);
31
+ const { exists } = yield rumSourceMapClient.isEntityReleaseExists({ releaseId: version, application, releaseEntityType: release_entity_type_1.ReleaseEntityType.RELEASE_ENTITY_TYPE_DSYM }, { metadata });
32
+ if (exists) {
33
+ (0, shared_utils_1.consoleError)(`Entity release already exists for releaseId: ${version} and application: ${application}`);
34
+ return;
35
+ }
36
+ const updatedUploadBlobRequest = request_builder_1.RequestBuilder.createDsymUploadBlobRequest(uploadBlobRequest, application, version, repoName, commitHash, orgName);
37
+ const iterableRequest = (0, shared_utils_1.createUploadBlobRequestChunks)(updatedUploadBlobRequest);
38
+ yield blobSetClient.uploadBlob(iterableRequest, { metadata });
39
+ const uploadEntityReleaseRequest = request_builder_1.RequestBuilder.createDsymReleaseRequest(application, version, repoName, commitHash, orgName);
40
+ yield rumSourceMapClient.createEntityRelease(uploadEntityReleaseRequest, { metadata });
41
+ }
42
+ catch (error) {
43
+ (0, shared_utils_1.consoleError)(`Failed to upload dSYMs: ${error}`);
44
+ throw error;
45
+ }
46
+ });
47
+ }
48
+ }
49
+ exports.DsymApi = DsymApi;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHN5bS5hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9hcGkvZHN5bS5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQTZDO0FBQzdDLDhEQUFzQztBQUV0Qyx3REFBaUg7QUFDakgsa0dBQTZGO0FBQzdGLDREQUF3RDtBQUV4RCw4REFBMEQ7QUFFMUQsTUFBYSxPQUFPO0lBQ2xCLE1BQU0sQ0FBTyxVQUFVLENBQ3JCLGlCQUFvQyxFQUNwQyxXQUFtQixFQUNuQixPQUFlLEVBQ2YsUUFBNEIsRUFDNUIsVUFBOEIsRUFDOUIsT0FBMkIsRUFDM0IsR0FBVyxFQUNYLFVBQWtCOztZQUVsQixJQUFJO2dCQUNGLE1BQU0sYUFBYSxHQUE0Qyw4QkFBYSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RyxNQUFNLGtCQUFrQixHQUFpRCw4QkFBYSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV0SCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLEVBQUUsQ0FBQztnQkFDaEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUV0RCxJQUFBLDBDQUEyQixFQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQztnQkFFNUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sa0JBQWtCLENBQUMscUJBQXFCLENBQy9ELEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUNBQWlCLENBQUMsd0JBQXdCLEVBQUUsRUFDbEcsRUFBRSxRQUFRLEVBQUUsQ0FDYixDQUFDO2dCQUVGLElBQUksTUFBTSxFQUFFO29CQUNWLElBQUEsMkJBQVksRUFBQyxnREFBZ0QsT0FBTyxxQkFBcUIsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDeEcsT0FBTztpQkFDUjtnQkFFRCxNQUFNLHdCQUF3QixHQUFHLGdDQUFjLENBQUMsMkJBQTJCLENBQ3pFLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUM7Z0JBRUYsTUFBTSxlQUFlLEdBQUcsSUFBQSw0Q0FBNkIsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUVoRixNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFFOUQsTUFBTSwwQkFBMEIsR0FBRyxnQ0FBYyxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFFaEksTUFBTSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxJQUFBLDJCQUFZLEVBQUMsMkJBQTJCLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sS0FBSyxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7Q0FDRjtBQW5ERCwwQkFtREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnQsIE1ldGFkYXRhIH0gZnJvbSAnbmljZS1ncnBjJztcbmltcG9ydCBjb25maWcgZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XG5pbXBvcnQgeyBCbG9iU2V0U2VydmljZURlZmluaXRpb24sIFVwbG9hZEJsb2JSZXF1ZXN0IH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UnO1xuaW1wb3J0IHsgY29uc29sZUVycm9yLCBjcmVhdGVVcGxvYWRCbG9iUmVxdWVzdENodW5rcywgdmFsaWRhdGVDb21wcmVzc2VkRmlsZXNTaXplIH0gZnJvbSAnLi4vdXRpbHMvc2hhcmVkLnV0aWxzJztcbmltcG9ydCB7IFJlbGVhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3JlbGVhc2VfZW50aXR5X3R5cGUnO1xuaW1wb3J0IHsgQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vY2xpZW50L2NsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7IFJ1bVNvdXJjZU1hcFNlcnZpY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3J1bV9zb3VyY2VfbWFwX3NlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdEJ1aWxkZXIgfSBmcm9tICcuL2NsaWVudC9yZXF1ZXN0LWJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgRHN5bUFwaSB7XG4gIHN0YXRpYyBhc3luYyB1cGxvYWREc3ltKFxuICAgIHVwbG9hZEJsb2JSZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICApIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYmxvYlNldENsaWVudDogQ2xpZW50PHR5cGVvZiBCbG9iU2V0U2VydmljZURlZmluaXRpb24+ID0gQ2xpZW50RmFjdG9yeS5nZXRCbG9iU2V0R3JwY0NsaWVudChlbnYpO1xuICAgICAgY29uc3QgcnVtU291cmNlTWFwQ2xpZW50OiBDbGllbnQ8dHlwZW9mIFJ1bVNvdXJjZU1hcFNlcnZpY2VEZWZpbml0aW9uPiA9IENsaWVudEZhY3RvcnkuZ2V0UnVtU291cmNlTWFwR3JwY0NsaWVudChlbnYpO1xuXG4gICAgICBjb25zdCBtZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuICAgICAgbWV0YWRhdGEuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3ByaXZhdGVLZXl9YCk7XG5cbiAgICAgIHZhbGlkYXRlQ29tcHJlc3NlZEZpbGVzU2l6ZSh1cGxvYWRCbG9iUmVxdWVzdC5kYXRhLmxlbmd0aCwgY29uZmlnLnJ1bUFwaS5yZWFjdE5hdGl2ZU1heENvbXByZXNzZWRGaWxlc1NpemUpO1xuXG4gICAgICBjb25zdCB7IGV4aXN0cyB9ID0gYXdhaXQgcnVtU291cmNlTWFwQ2xpZW50LmlzRW50aXR5UmVsZWFzZUV4aXN0cyhcbiAgICAgICAgeyByZWxlYXNlSWQ6IHZlcnNpb24sIGFwcGxpY2F0aW9uLCByZWxlYXNlRW50aXR5VHlwZTogUmVsZWFzZUVudGl0eVR5cGUuUkVMRUFTRV9FTlRJVFlfVFlQRV9EU1lNIH0sXG4gICAgICAgIHsgbWV0YWRhdGEgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChleGlzdHMpIHtcbiAgICAgICAgY29uc29sZUVycm9yKGBFbnRpdHkgcmVsZWFzZSBhbHJlYWR5IGV4aXN0cyBmb3IgcmVsZWFzZUlkOiAke3ZlcnNpb259IGFuZCBhcHBsaWNhdGlvbjogJHthcHBsaWNhdGlvbn1gKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGRhdGVkVXBsb2FkQmxvYlJlcXVlc3QgPSBSZXF1ZXN0QnVpbGRlci5jcmVhdGVEc3ltVXBsb2FkQmxvYlJlcXVlc3QoXG4gICAgICAgIHVwbG9hZEJsb2JSZXF1ZXN0LFxuICAgICAgICBhcHBsaWNhdGlvbixcbiAgICAgICAgdmVyc2lvbixcbiAgICAgICAgcmVwb05hbWUsXG4gICAgICAgIGNvbW1pdEhhc2gsXG4gICAgICAgIG9yZ05hbWUsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBpdGVyYWJsZVJlcXVlc3QgPSBjcmVhdGVVcGxvYWRCbG9iUmVxdWVzdENodW5rcyh1cGRhdGVkVXBsb2FkQmxvYlJlcXVlc3QpO1xuXG4gICAgICBhd2FpdCBibG9iU2V0Q2xpZW50LnVwbG9hZEJsb2IoaXRlcmFibGVSZXF1ZXN0LCB7IG1ldGFkYXRhIH0pO1xuXG4gICAgICBjb25zdCB1cGxvYWRFbnRpdHlSZWxlYXNlUmVxdWVzdCA9IFJlcXVlc3RCdWlsZGVyLmNyZWF0ZURzeW1SZWxlYXNlUmVxdWVzdChhcHBsaWNhdGlvbiwgdmVyc2lvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIG9yZ05hbWUpO1xuXG4gICAgICBhd2FpdCBydW1Tb3VyY2VNYXBDbGllbnQuY3JlYXRlRW50aXR5UmVsZWFzZSh1cGxvYWRFbnRpdHlSZWxlYXNlUmVxdWVzdCwgeyBtZXRhZGF0YSB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZUVycm9yKGBGYWlsZWQgdG8gdXBsb2FkIGRTWU1zOiAke2Vycm9yfWApO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { UploadBlobRequest } from '../proto-models/com/coralogix/blobset/v2/blobset_service';
2
+ export declare class ReactNativeApi {
3
+ static uploadReactNativeSourceMaps(uploadBlobRequest: UploadBlobRequest, application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, env: string, privateKey: string): Promise<void>;
4
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ReactNativeApi = void 0;
16
+ const nice_grpc_1 = require("nice-grpc");
17
+ const config_1 = __importDefault(require("../config/config"));
18
+ const shared_utils_1 = require("../utils/shared.utils");
19
+ const release_entity_type_1 = require("../proto-models/com/coralogix/rum/v2/release_entity_type");
20
+ const client_factory_1 = require("./client/client-factory");
21
+ const request_builder_1 = require("./client/request-builder");
22
+ class ReactNativeApi {
23
+ static uploadReactNativeSourceMaps(uploadBlobRequest, application, version, repoName, commitHash, orgName, env, privateKey) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ try {
26
+ const blobSetClient = client_factory_1.ClientFactory.getBlobSetGrpcClient(env);
27
+ const rumSourceMapClient = client_factory_1.ClientFactory.getRumSourceMapGrpcClient(env);
28
+ const metadata = new nice_grpc_1.Metadata();
29
+ metadata.set('Authorization', `Bearer ${privateKey}`);
30
+ (0, shared_utils_1.validateCompressedFilesSize)(uploadBlobRequest.data.length, config_1.default.rumApi.dsymMaxCompressedFilesSize);
31
+ const { exists } = yield rumSourceMapClient.isEntityReleaseExists({ releaseId: version, application, releaseEntityType: release_entity_type_1.ReleaseEntityType.RELEASE_ENTITY_TYPE_REACT_NATIVE }, { metadata });
32
+ if (exists) {
33
+ (0, shared_utils_1.consoleError)(`Entity release already exists for releaseId: ${version} and application: ${application}`);
34
+ return;
35
+ }
36
+ const updatedUploadBlobRequest = request_builder_1.RequestBuilder.createReactNativeUploadBlobRequest(uploadBlobRequest, application, version, repoName, commitHash, orgName);
37
+ const iterableRequest = (0, shared_utils_1.createUploadBlobRequestChunks)(updatedUploadBlobRequest);
38
+ yield blobSetClient.uploadBlob(iterableRequest, { metadata });
39
+ const uploadEntityReleaseRequest = request_builder_1.RequestBuilder.createReactNativeReleaseRequest(application, version, repoName, commitHash, orgName);
40
+ yield rumSourceMapClient.createEntityRelease(uploadEntityReleaseRequest, { metadata });
41
+ }
42
+ catch (error) {
43
+ (0, shared_utils_1.consoleError)(`Failed to upload react native source maps: ${error}`);
44
+ throw error;
45
+ }
46
+ });
47
+ }
48
+ }
49
+ exports.ReactNativeApi = ReactNativeApi;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3QtbmF0aXZlLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2FwaS9yZWFjdC1uYXRpdmUuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUE2QztBQUM3Qyw4REFBc0M7QUFFdEMsd0RBQWlIO0FBQ2pILGtHQUE2RjtBQUM3Riw0REFBd0Q7QUFFeEQsOERBQTBEO0FBRTFELE1BQWEsY0FBYztJQUN6QixNQUFNLENBQU8sMkJBQTJCLENBQ3RDLGlCQUFvQyxFQUNwQyxXQUFtQixFQUNuQixPQUFlLEVBQ2YsUUFBNEIsRUFDNUIsVUFBOEIsRUFDOUIsT0FBMkIsRUFDM0IsR0FBVyxFQUNYLFVBQWtCOztZQUVsQixJQUFJO2dCQUNGLE1BQU0sYUFBYSxHQUE0Qyw4QkFBYSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RyxNQUFNLGtCQUFrQixHQUFpRCw4QkFBYSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV0SCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLEVBQUUsQ0FBQztnQkFDaEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUV0RCxJQUFBLDBDQUEyQixFQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztnQkFFckcsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sa0JBQWtCLENBQUMscUJBQXFCLENBQy9ELEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUNBQWlCLENBQUMsZ0NBQWdDLEVBQUUsRUFDMUcsRUFBRSxRQUFRLEVBQUUsQ0FDYixDQUFDO2dCQUVGLElBQUksTUFBTSxFQUFFO29CQUNWLElBQUEsMkJBQVksRUFBQyxnREFBZ0QsT0FBTyxxQkFBcUIsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDeEcsT0FBTztpQkFDUjtnQkFFRCxNQUFNLHdCQUF3QixHQUFHLGdDQUFjLENBQUMsa0NBQWtDLENBQ2hGLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUM7Z0JBRUYsTUFBTSxlQUFlLEdBQUcsSUFBQSw0Q0FBNkIsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUVoRixNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFFOUQsTUFBTSwwQkFBMEIsR0FBRyxnQ0FBYyxDQUFDLCtCQUErQixDQUMvRSxXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUM7Z0JBRUYsTUFBTSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxJQUFBLDJCQUFZLEVBQUMsOENBQThDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sS0FBSyxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7Q0FDRjtBQXpERCx3Q0F5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnQsIE1ldGFkYXRhIH0gZnJvbSAnbmljZS1ncnBjJztcbmltcG9ydCBjb25maWcgZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XG5pbXBvcnQgeyBCbG9iU2V0U2VydmljZURlZmluaXRpb24sIFVwbG9hZEJsb2JSZXF1ZXN0IH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UnO1xuaW1wb3J0IHsgY29uc29sZUVycm9yLCBjcmVhdGVVcGxvYWRCbG9iUmVxdWVzdENodW5rcywgdmFsaWRhdGVDb21wcmVzc2VkRmlsZXNTaXplIH0gZnJvbSAnLi4vdXRpbHMvc2hhcmVkLnV0aWxzJztcbmltcG9ydCB7IFJlbGVhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3JlbGVhc2VfZW50aXR5X3R5cGUnO1xuaW1wb3J0IHsgQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vY2xpZW50L2NsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7IFJ1bVNvdXJjZU1hcFNlcnZpY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3J1bV9zb3VyY2VfbWFwX3NlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdEJ1aWxkZXIgfSBmcm9tICcuL2NsaWVudC9yZXF1ZXN0LWJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgUmVhY3ROYXRpdmVBcGkge1xuICBzdGF0aWMgYXN5bmMgdXBsb2FkUmVhY3ROYXRpdmVTb3VyY2VNYXBzKFxuICAgIHVwbG9hZEJsb2JSZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICApIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYmxvYlNldENsaWVudDogQ2xpZW50PHR5cGVvZiBCbG9iU2V0U2VydmljZURlZmluaXRpb24+ID0gQ2xpZW50RmFjdG9yeS5nZXRCbG9iU2V0R3JwY0NsaWVudChlbnYpO1xuICAgICAgY29uc3QgcnVtU291cmNlTWFwQ2xpZW50OiBDbGllbnQ8dHlwZW9mIFJ1bVNvdXJjZU1hcFNlcnZpY2VEZWZpbml0aW9uPiA9IENsaWVudEZhY3RvcnkuZ2V0UnVtU291cmNlTWFwR3JwY0NsaWVudChlbnYpO1xuXG4gICAgICBjb25zdCBtZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuICAgICAgbWV0YWRhdGEuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3ByaXZhdGVLZXl9YCk7XG5cbiAgICAgIHZhbGlkYXRlQ29tcHJlc3NlZEZpbGVzU2l6ZSh1cGxvYWRCbG9iUmVxdWVzdC5kYXRhLmxlbmd0aCwgY29uZmlnLnJ1bUFwaS5kc3ltTWF4Q29tcHJlc3NlZEZpbGVzU2l6ZSk7XG5cbiAgICAgIGNvbnN0IHsgZXhpc3RzIH0gPSBhd2FpdCBydW1Tb3VyY2VNYXBDbGllbnQuaXNFbnRpdHlSZWxlYXNlRXhpc3RzKFxuICAgICAgICB7IHJlbGVhc2VJZDogdmVyc2lvbiwgYXBwbGljYXRpb24sIHJlbGVhc2VFbnRpdHlUeXBlOiBSZWxlYXNlRW50aXR5VHlwZS5SRUxFQVNFX0VOVElUWV9UWVBFX1JFQUNUX05BVElWRSB9LFxuICAgICAgICB7IG1ldGFkYXRhIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAoZXhpc3RzKSB7XG4gICAgICAgIGNvbnNvbGVFcnJvcihgRW50aXR5IHJlbGVhc2UgYWxyZWFkeSBleGlzdHMgZm9yIHJlbGVhc2VJZDogJHt2ZXJzaW9ufSBhbmQgYXBwbGljYXRpb246ICR7YXBwbGljYXRpb259YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXBkYXRlZFVwbG9hZEJsb2JSZXF1ZXN0ID0gUmVxdWVzdEJ1aWxkZXIuY3JlYXRlUmVhY3ROYXRpdmVVcGxvYWRCbG9iUmVxdWVzdChcbiAgICAgICAgdXBsb2FkQmxvYlJlcXVlc3QsXG4gICAgICAgIGFwcGxpY2F0aW9uLFxuICAgICAgICB2ZXJzaW9uLFxuICAgICAgICByZXBvTmFtZSxcbiAgICAgICAgY29tbWl0SGFzaCxcbiAgICAgICAgb3JnTmFtZSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGl0ZXJhYmxlUmVxdWVzdCA9IGNyZWF0ZVVwbG9hZEJsb2JSZXF1ZXN0Q2h1bmtzKHVwZGF0ZWRVcGxvYWRCbG9iUmVxdWVzdCk7XG5cbiAgICAgIGF3YWl0IGJsb2JTZXRDbGllbnQudXBsb2FkQmxvYihpdGVyYWJsZVJlcXVlc3QsIHsgbWV0YWRhdGEgfSk7XG5cbiAgICAgIGNvbnN0IHVwbG9hZEVudGl0eVJlbGVhc2VSZXF1ZXN0ID0gUmVxdWVzdEJ1aWxkZXIuY3JlYXRlUmVhY3ROYXRpdmVSZWxlYXNlUmVxdWVzdChcbiAgICAgICAgYXBwbGljYXRpb24sXG4gICAgICAgIHZlcnNpb24sXG4gICAgICAgIHJlcG9OYW1lLFxuICAgICAgICBjb21taXRIYXNoLFxuICAgICAgICBvcmdOYW1lLFxuICAgICAgKTtcblxuICAgICAgYXdhaXQgcnVtU291cmNlTWFwQ2xpZW50LmNyZWF0ZUVudGl0eVJlbGVhc2UodXBsb2FkRW50aXR5UmVsZWFzZVJlcXVlc3QsIHsgbWV0YWRhdGEgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGVFcnJvcihgRmFpbGVkIHRvIHVwbG9hZCByZWFjdCBuYXRpdmUgc291cmNlIG1hcHM6ICR7ZXJyb3J9YCk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { DeleteSourceMapRequest, UpdateSourceMapRequest, UploadSourceMapsRequest } from '../proto-models/com/coralogix/rum/v2/rum_source_map_service';
2
- export declare class RumApi {
3
- private static getGrpcClient;
2
+ export declare class SourceMapsApi {
3
+ private static sumFilesSize;
4
4
  static uploadSourceMaps(request: UploadSourceMapsRequest, env: string, privateKey: string): Promise<void>;
5
5
  static updateSourceMap(request: UpdateSourceMapRequest, env: string, privateKey: string): Promise<void>;
6
6
  static deleteSourceMap(request: DeleteSourceMapRequest, env: string, privateKey: string): Promise<void>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SourceMapsApi = void 0;
16
+ const nice_grpc_1 = require("nice-grpc");
17
+ const config_1 = __importDefault(require("../config/config"));
18
+ const shared_utils_1 = require("../utils/shared.utils");
19
+ const client_factory_1 = require("./client/client-factory");
20
+ const file_processor_utils_1 = require("../utils/file-processor.utils");
21
+ class SourceMapsApi {
22
+ static sumFilesSize(files) {
23
+ return files.reduce((acc, file) => acc + file.size, 0);
24
+ }
25
+ static uploadSourceMaps(request, env, privateKey) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ try {
28
+ const client = client_factory_1.ClientFactory.getRumSourceMapGrpcClient(env);
29
+ const { files, releaseId, application, repoName, commitHash, user } = request;
30
+ const compressedFiles = yield Promise.all(files.map((file) => __awaiter(this, void 0, void 0, function* () {
31
+ const content = file_processor_utils_1.FileProcessor.compressFileContentChunks(file.content);
32
+ const size = content.length;
33
+ const chunkName = file.chunkName;
34
+ return { chunkName, size, content };
35
+ })));
36
+ (0, shared_utils_1.validateCompressedFilesSize)(this.sumFilesSize(compressedFiles), config_1.default.rumApi.sourceMapsMaxCompressedFilesSize);
37
+ const metadata = new nice_grpc_1.Metadata();
38
+ metadata.set('Authorization', `Bearer ${privateKey}`);
39
+ yield client.uploadSourceMaps({
40
+ files: compressedFiles,
41
+ releaseId,
42
+ application,
43
+ repoName,
44
+ commitHash,
45
+ user,
46
+ }, { metadata });
47
+ }
48
+ catch (error) {
49
+ throw error;
50
+ }
51
+ });
52
+ }
53
+ static updateSourceMap(request, env, privateKey) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ try {
56
+ const client = client_factory_1.ClientFactory.getRumSourceMapGrpcClient(env);
57
+ const { files, releaseId, application, repoName, commitHash, user, generate } = request;
58
+ const compressedFiles = yield Promise.all(files.map((file) => __awaiter(this, void 0, void 0, function* () {
59
+ const content = file_processor_utils_1.FileProcessor.compressFileContentChunks(file.content);
60
+ const size = content.length;
61
+ const chunkName = file.chunkName;
62
+ return { chunkName, size, content };
63
+ })));
64
+ (0, shared_utils_1.validateCompressedFilesSize)(this.sumFilesSize(compressedFiles), config_1.default.rumApi.sourceMapsMaxCompressedFilesSize);
65
+ const metadata = new nice_grpc_1.Metadata();
66
+ metadata.set('Authorization', `Bearer ${privateKey}`);
67
+ yield client.updateSourceMap({
68
+ files: compressedFiles,
69
+ releaseId,
70
+ application,
71
+ repoName,
72
+ commitHash,
73
+ user,
74
+ generate: (generate === null || generate === void 0 ? void 0 : generate.toString()) || undefined,
75
+ }, { metadata });
76
+ }
77
+ catch (error) {
78
+ throw error;
79
+ }
80
+ });
81
+ }
82
+ static deleteSourceMap(request, env, privateKey) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ try {
85
+ const client = client_factory_1.ClientFactory.getRumSourceMapGrpcClient(env);
86
+ const metadata = new nice_grpc_1.Metadata();
87
+ metadata.set('Authorization', `Bearer ${privateKey}`);
88
+ yield client.deleteSourceMap(request, { metadata });
89
+ }
90
+ catch (error) {
91
+ throw error;
92
+ }
93
+ });
94
+ }
95
+ }
96
+ exports.SourceMapsApi = SourceMapsApi;
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcHMuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYXBpL3NvdXJjZS1tYXBzLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBNkM7QUFDN0MsOERBQXNDO0FBUXRDLHdEQUFvRTtBQUNwRSw0REFBd0Q7QUFDeEQsd0VBQThEO0FBRTlELE1BQWEsYUFBYTtJQUNoQixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQXFCO1FBQy9DLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQU8sZ0JBQWdCLENBQUMsT0FBZ0MsRUFBRSxHQUFXLEVBQUUsVUFBa0I7O1lBQzdGLElBQUk7Z0JBQ0YsTUFBTSxNQUFNLEdBQWlELDhCQUFhLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRTFHLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztnQkFFOUUsTUFBTSxlQUFlLEdBQW1CLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDdkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFPLElBQWtCLEVBQUUsRUFBRTtvQkFDckMsTUFBTSxPQUFPLEdBQUcsb0NBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3RFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN0QyxDQUFDLENBQUEsQ0FBQyxDQUNILENBQUM7Z0JBRUYsSUFBQSwwQ0FBMkIsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7Z0JBRWhILE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQVEsRUFBRSxDQUFDO2dCQUVoQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBRXRELE1BQU0sTUFBTSxDQUFDLGdCQUFnQixDQUMzQjtvQkFDRSxLQUFLLEVBQUUsZUFBZTtvQkFDdEIsU0FBUztvQkFDVCxXQUFXO29CQUNYLFFBQVE7b0JBQ1IsVUFBVTtvQkFDVixJQUFJO2lCQUNMLEVBQ0QsRUFBRSxRQUFRLEVBQUUsQ0FDYixDQUFDO2FBQ0g7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxNQUFNLEtBQUssQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRUQsTUFBTSxDQUFPLGVBQWUsQ0FBQyxPQUErQixFQUFFLEdBQVcsRUFBRSxVQUFrQjs7WUFDM0YsSUFBSTtnQkFDRixNQUFNLE1BQU0sR0FBaUQsOEJBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFMUcsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztnQkFFeEYsTUFBTSxlQUFlLEdBQW1CLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDdkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFPLElBQWtCLEVBQUUsRUFBRTtvQkFDckMsTUFBTSxPQUFPLEdBQUcsb0NBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3RFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN0QyxDQUFDLENBQUEsQ0FBQyxDQUNILENBQUM7Z0JBRUYsSUFBQSwwQ0FBMkIsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLGdCQUFNLENBQUMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7Z0JBRWhILE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQVEsRUFBRSxDQUFDO2dCQUVoQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBRXRELE1BQU0sTUFBTSxDQUFDLGVBQWUsQ0FDMUI7b0JBQ0UsS0FBSyxFQUFFLGVBQWU7b0JBQ3RCLFNBQVM7b0JBQ1QsV0FBVztvQkFDWCxRQUFRO29CQUNSLFVBQVU7b0JBQ1YsSUFBSTtvQkFDSixRQUFRLEVBQUUsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUSxFQUFFLEtBQUksU0FBUztpQkFDNUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxDQUNiLENBQUM7YUFDSDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE1BQU0sS0FBSyxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7SUFFRCxNQUFNLENBQU8sZUFBZSxDQUFDLE9BQStCLEVBQUUsR0FBVyxFQUFFLFVBQWtCOztZQUMzRixJQUFJO2dCQUNGLE1BQU0sTUFBTSxHQUFpRCw4QkFBYSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUUxRyxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLEVBQUUsQ0FBQztnQkFFaEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUV0RCxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNyRDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE1BQU0sS0FBSyxDQUFDO2FBQ2I7UUFDSCxDQUFDO0tBQUE7Q0FDRjtBQTdGRCxzQ0E2RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnQsIE1ldGFkYXRhIH0gZnJvbSAnbmljZS1ncnBjJztcbmltcG9ydCBjb25maWcgZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XG5pbXBvcnQge1xuICBEZWxldGVTb3VyY2VNYXBSZXF1ZXN0LFxuICBSdW1Tb3VyY2VNYXBTZXJ2aWNlRGVmaW5pdGlvbixcbiAgVXBkYXRlU291cmNlTWFwUmVxdWVzdCxcbiAgVXBsb2FkU291cmNlTWFwc1JlcXVlc3QsXG59IGZyb20gJy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9ydW1fc291cmNlX21hcF9zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVNZXRhZGF0YSB9IGZyb20gJy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9maWxlJztcbmltcG9ydCB7IHZhbGlkYXRlQ29tcHJlc3NlZEZpbGVzU2l6ZSB9IGZyb20gJy4uL3V0aWxzL3NoYXJlZC51dGlscyc7XG5pbXBvcnQgeyBDbGllbnRGYWN0b3J5IH0gZnJvbSAnLi9jbGllbnQvY2xpZW50LWZhY3RvcnknO1xuaW1wb3J0IHsgRmlsZVByb2Nlc3NvciB9IGZyb20gJy4uL3V0aWxzL2ZpbGUtcHJvY2Vzc29yLnV0aWxzJztcblxuZXhwb3J0IGNsYXNzIFNvdXJjZU1hcHNBcGkge1xuICBwcml2YXRlIHN0YXRpYyBzdW1GaWxlc1NpemUoZmlsZXM6IEZpbGVNZXRhZGF0YVtdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZmlsZXMucmVkdWNlKChhY2MsIGZpbGUpID0+IGFjYyArIGZpbGUuc2l6ZSwgMCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgdXBsb2FkU291cmNlTWFwcyhyZXF1ZXN0OiBVcGxvYWRTb3VyY2VNYXBzUmVxdWVzdCwgZW52OiBzdHJpbmcsIHByaXZhdGVLZXk6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjbGllbnQ6IENsaWVudDx0eXBlb2YgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24+ID0gQ2xpZW50RmFjdG9yeS5nZXRSdW1Tb3VyY2VNYXBHcnBjQ2xpZW50KGVudik7XG5cbiAgICAgIGNvbnN0IHsgZmlsZXMsIHJlbGVhc2VJZCwgYXBwbGljYXRpb24sIHJlcG9OYW1lLCBjb21taXRIYXNoLCB1c2VyIH0gPSByZXF1ZXN0O1xuXG4gICAgICBjb25zdCBjb21wcmVzc2VkRmlsZXM6IEZpbGVNZXRhZGF0YVtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGZpbGVzLm1hcChhc3luYyAoZmlsZTogRmlsZU1ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IEZpbGVQcm9jZXNzb3IuY29tcHJlc3NGaWxlQ29udGVudENodW5rcyhmaWxlLmNvbnRlbnQpO1xuICAgICAgICAgIGNvbnN0IHNpemUgPSBjb250ZW50Lmxlbmd0aDtcbiAgICAgICAgICBjb25zdCBjaHVua05hbWUgPSBmaWxlLmNodW5rTmFtZTtcbiAgICAgICAgICByZXR1cm4geyBjaHVua05hbWUsIHNpemUsIGNvbnRlbnQgfTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgICB2YWxpZGF0ZUNvbXByZXNzZWRGaWxlc1NpemUodGhpcy5zdW1GaWxlc1NpemUoY29tcHJlc3NlZEZpbGVzKSwgY29uZmlnLnJ1bUFwaS5zb3VyY2VNYXBzTWF4Q29tcHJlc3NlZEZpbGVzU2l6ZSk7XG5cbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG5cbiAgICAgIG1ldGFkYXRhLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHtwcml2YXRlS2V5fWApO1xuXG4gICAgICBhd2FpdCBjbGllbnQudXBsb2FkU291cmNlTWFwcyhcbiAgICAgICAge1xuICAgICAgICAgIGZpbGVzOiBjb21wcmVzc2VkRmlsZXMsXG4gICAgICAgICAgcmVsZWFzZUlkLFxuICAgICAgICAgIGFwcGxpY2F0aW9uLFxuICAgICAgICAgIHJlcG9OYW1lLFxuICAgICAgICAgIGNvbW1pdEhhc2gsXG4gICAgICAgICAgdXNlcixcbiAgICAgICAgfSxcbiAgICAgICAgeyBtZXRhZGF0YSB9LFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHVwZGF0ZVNvdXJjZU1hcChyZXF1ZXN0OiBVcGRhdGVTb3VyY2VNYXBSZXF1ZXN0LCBlbnY6IHN0cmluZywgcHJpdmF0ZUtleTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaWVudDogQ2xpZW50PHR5cGVvZiBSdW1Tb3VyY2VNYXBTZXJ2aWNlRGVmaW5pdGlvbj4gPSBDbGllbnRGYWN0b3J5LmdldFJ1bVNvdXJjZU1hcEdycGNDbGllbnQoZW52KTtcblxuICAgICAgY29uc3QgeyBmaWxlcywgcmVsZWFzZUlkLCBhcHBsaWNhdGlvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIHVzZXIsIGdlbmVyYXRlIH0gPSByZXF1ZXN0O1xuXG4gICAgICBjb25zdCBjb21wcmVzc2VkRmlsZXM6IEZpbGVNZXRhZGF0YVtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGZpbGVzLm1hcChhc3luYyAoZmlsZTogRmlsZU1ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IEZpbGVQcm9jZXNzb3IuY29tcHJlc3NGaWxlQ29udGVudENodW5rcyhmaWxlLmNvbnRlbnQpO1xuICAgICAgICAgIGNvbnN0IHNpemUgPSBjb250ZW50Lmxlbmd0aDtcbiAgICAgICAgICBjb25zdCBjaHVua05hbWUgPSBmaWxlLmNodW5rTmFtZTtcbiAgICAgICAgICByZXR1cm4geyBjaHVua05hbWUsIHNpemUsIGNvbnRlbnQgfTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgICB2YWxpZGF0ZUNvbXByZXNzZWRGaWxlc1NpemUodGhpcy5zdW1GaWxlc1NpemUoY29tcHJlc3NlZEZpbGVzKSwgY29uZmlnLnJ1bUFwaS5zb3VyY2VNYXBzTWF4Q29tcHJlc3NlZEZpbGVzU2l6ZSk7XG5cbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG5cbiAgICAgIG1ldGFkYXRhLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHtwcml2YXRlS2V5fWApO1xuXG4gICAgICBhd2FpdCBjbGllbnQudXBkYXRlU291cmNlTWFwKFxuICAgICAgICB7XG4gICAgICAgICAgZmlsZXM6IGNvbXByZXNzZWRGaWxlcyxcbiAgICAgICAgICByZWxlYXNlSWQsXG4gICAgICAgICAgYXBwbGljYXRpb24sXG4gICAgICAgICAgcmVwb05hbWUsXG4gICAgICAgICAgY29tbWl0SGFzaCxcbiAgICAgICAgICB1c2VyLFxuICAgICAgICAgIGdlbmVyYXRlOiBnZW5lcmF0ZT8udG9TdHJpbmcoKSB8fCB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHsgbWV0YWRhdGEgfSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBkZWxldGVTb3VyY2VNYXAocmVxdWVzdDogRGVsZXRlU291cmNlTWFwUmVxdWVzdCwgZW52OiBzdHJpbmcsIHByaXZhdGVLZXk6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjbGllbnQ6IENsaWVudDx0eXBlb2YgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24+ID0gQ2xpZW50RmFjdG9yeS5nZXRSdW1Tb3VyY2VNYXBHcnBjQ2xpZW50KGVudik7XG5cbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG5cbiAgICAgIG1ldGFkYXRhLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHtwcml2YXRlS2V5fWApO1xuXG4gICAgICBhd2FpdCBjbGllbnQuZGVsZXRlU291cmNlTWFwKHJlcXVlc3QsIHsgbWV0YWRhdGEgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ declare const dsymCommands: {
2
+ uploadDsymCommand: () => import("commander").Command;
3
+ };
4
+ export default dsymCommands;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const upload_dsym_command_1 = require("./upload-dsym-command");
4
+ const dsymCommands = { uploadDsymCommand: upload_dsym_command_1.uploadDsymCommand };
5
+ exports.default = dsymCommands;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jbGkvY29tbWFuZHMvZHN5bS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtEQUEwRDtBQUUxRCxNQUFNLFlBQVksR0FBRyxFQUFFLGlCQUFpQixFQUFqQix1Q0FBaUIsRUFBRSxDQUFDO0FBRTNDLGtCQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVwbG9hZERzeW1Db21tYW5kIH0gZnJvbSAnLi91cGxvYWQtZHN5bS1jb21tYW5kJztcblxuY29uc3QgZHN5bUNvbW1hbmRzID0geyB1cGxvYWREc3ltQ29tbWFuZCB9O1xuXG5leHBvcnQgZGVmYXVsdCBkc3ltQ29tbWFuZHM7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const uploadDsymCommand: () => Command;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.uploadDsymCommand = void 0;
13
+ const commander_1 = require("commander");
14
+ const validators_1 = require("../../validators");
15
+ const shared_utils_1 = require("../../../utils/shared.utils");
16
+ const dsym_service_1 = require("../../../services/dsym.service");
17
+ const uploadDsymCommand = () => {
18
+ const uploadCommand = new commander_1.Command('upload-dsym')
19
+ .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
20
+ .option('-a, --application <application>', 'Name of the application')
21
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
22
+ .option('-f, --folder-path <folderPath>', 'Path to the folder containing the dsym')
23
+ .option('-e, --env <env>', 'Your environment', validators_1.validateEnvironment)
24
+ .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
25
+ .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
26
+ .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
27
+ .description('Upload Dsym')
28
+ .action((options) => __awaiter(void 0, void 0, void 0, function* () {
29
+ try {
30
+ if (options.help) {
31
+ uploadCommand.outputHelp();
32
+ process.exit(0);
33
+ }
34
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
35
+ (0, shared_utils_1.checkMissingArguments)(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
36
+ yield dsym_service_1.DsymService.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
37
+ }
38
+ catch (error) {
39
+ (0, shared_utils_1.consoleError)(error);
40
+ }
41
+ }));
42
+ return uploadCommand;
43
+ };
44
+ exports.uploadDsymCommand = uploadDsymCommand;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRzeW0tY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NsaS9jb21tYW5kcy9kc3ltL3VwbG9hZC1kc3ltLWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQW9DO0FBQ3BDLGlEQUF1RDtBQUN2RCw4REFBa0Y7QUFDbEYsaUVBQTZEO0FBR3RELE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFO0lBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksbUJBQU8sQ0FBQyxhQUFhLENBQUM7U0FDN0MsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLDBDQUEwQyxDQUFDO1NBQ3BGLE1BQU0sQ0FBQyxpQ0FBaUMsRUFBRSx5QkFBeUIsQ0FBQztTQUNwRSxNQUFNLENBQUMseUJBQXlCLEVBQUUsa0VBQWtFLENBQUM7U0FDckcsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLHdDQUF3QyxDQUFDO1NBQ2xGLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxnQ0FBbUIsQ0FBQztTQUNsRSxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsK0JBQStCLENBQUM7U0FDekUsTUFBTSxDQUFDLDRCQUE0QixFQUFFLG1DQUFtQyxDQUFDO1NBQ3pFLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQztTQUNqRSxXQUFXLENBQUMsYUFBYSxDQUFDO1NBQzFCLE1BQU0sQ0FBQyxDQUFPLE9BQWlDLEVBQUUsRUFBRTtRQUNsRCxJQUFJO1lBQ0YsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNoQixhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakI7WUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUVyRyxJQUFBLG9DQUFxQixFQUEyQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUV4SCxNQUFNLDBCQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM1RztRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsSUFBQSwyQkFBWSxFQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVMLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQztBQTdCVyxRQUFBLGlCQUFpQixxQkE2QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyB2YWxpZGF0ZUVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBjaGVja01pc3NpbmdBcmd1bWVudHMsIGNvbnNvbGVFcnJvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3NoYXJlZC51dGlscyc7XG5pbXBvcnQgeyBEc3ltU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RzeW0uc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWREc3ltQ29tbWFuZE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZHN5bS1jb21tYW5kcy5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCB1cGxvYWREc3ltQ29tbWFuZCA9ICgpID0+IHtcbiAgY29uc3QgdXBsb2FkQ29tbWFuZCA9IG5ldyBDb21tYW5kKCd1cGxvYWQtZHN5bScpXG4gICAgLm9wdGlvbignLWssIC0tcHJpdmF0ZS1rZXkgPHByaXZhdGVLZXk+JywgJ1ByaXZhdGUga2V5IHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHRoZSBBUEknKVxuICAgIC5vcHRpb24oJy1hLCAtLWFwcGxpY2F0aW9uIDxhcHBsaWNhdGlvbj4nLCAnTmFtZSBvZiB0aGUgYXBwbGljYXRpb24nKVxuICAgIC5vcHRpb24oJy12LCAtLXZlcnNpb24gPHZlcnNpb24+JywgJ1RoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uIC0gbXVzdCBtYXRjaCB0aGUgdmVyc2lvbiB1c2VkIGJ5IFJVTSBzZGsnKVxuICAgIC5vcHRpb24oJy1mLCAtLWZvbGRlci1wYXRoIDxmb2xkZXJQYXRoPicsICdQYXRoIHRvIHRoZSBmb2xkZXIgY29udGFpbmluZyB0aGUgZHN5bScpXG4gICAgLm9wdGlvbignLWUsIC0tZW52IDxlbnY+JywgJ1lvdXIgZW52aXJvbm1lbnQnLCB2YWxpZGF0ZUVudmlyb25tZW50KVxuICAgIC5vcHRpb24oJy1jLCAtLWNvbW1pdC1oYXNoIDxjb21taXRIYXNoPicsICdHaXRIdWIgY29tbWl0IGhhc2ggKG9wdGlvbmFsKScpXG4gICAgLm9wdGlvbignLW4sIC0tcmVwby1uYW1lIDxyZXBvTmFtZT4nLCAnR2l0SHViIFJlcG9zaXRvcnkgbmFtZSAob3B0aW9uYWwpJylcbiAgICAub3B0aW9uKCctbywgLS1vcmctbmFtZSA8b3JnTmFtZT4nLCAnR2l0SHViIHVzZXIgbmFtZSAob3B0aW9uYWwpJylcbiAgICAuZGVzY3JpcHRpb24oJ1VwbG9hZCBEc3ltJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBVcGxvYWREc3ltQ29tbWFuZE9wdGlvbnMpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChvcHRpb25zLmhlbHApIHtcbiAgICAgICAgICB1cGxvYWRDb21tYW5kLm91dHB1dEhlbHAoKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHByaXZhdGVLZXksIGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCBmb2xkZXJQYXRoLCBjb21taXRIYXNoLCByZXBvTmFtZSwgb3JnTmFtZSwgZW52IH0gPSBvcHRpb25zO1xuXG4gICAgICAgIGNoZWNrTWlzc2luZ0FyZ3VtZW50czxVcGxvYWREc3ltQ29tbWFuZE9wdGlvbnM+KG9wdGlvbnMsIFsncHJpdmF0ZUtleScsICdhcHBsaWNhdGlvbicsICd2ZXJzaW9uJywgJ2ZvbGRlclBhdGgnLCAnZW52J10pO1xuXG4gICAgICAgIGF3YWl0IERzeW1TZXJ2aWNlLnVwbG9hZChhcHBsaWNhdGlvbiwgdmVyc2lvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIG9yZ05hbWUsIGZvbGRlclBhdGgsIGVudiwgcHJpdmF0ZUtleSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlRXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIHJldHVybiB1cGxvYWRDb21tYW5kO1xufTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ declare const reactNativeCommands: {
2
+ uploadReactNativeSourceMapsCommand: () => import("commander").Command;
3
+ };
4
+ export default reactNativeCommands;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const upload_react_native_source_maps_command_1 = require("./upload-react-native-source-maps-command");
4
+ const reactNativeCommands = { uploadReactNativeSourceMapsCommand: upload_react_native_source_maps_command_1.uploadReactNativeSourceMapsCommand };
5
+ exports.default = reactNativeCommands;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jbGkvY29tbWFuZHMvcmVhY3QtbmF0aXZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUdBQStGO0FBRS9GLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxrQ0FBa0MsRUFBbEMsNEVBQWtDLEVBQUUsQ0FBQztBQUVuRSxrQkFBZSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVwbG9hZFJlYWN0TmF0aXZlU291cmNlTWFwc0NvbW1hbmQgfSBmcm9tICcuL3VwbG9hZC1yZWFjdC1uYXRpdmUtc291cmNlLW1hcHMtY29tbWFuZCc7XG5cbmNvbnN0IHJlYWN0TmF0aXZlQ29tbWFuZHMgPSB7IHVwbG9hZFJlYWN0TmF0aXZlU291cmNlTWFwc0NvbW1hbmQgfTtcblxuZXhwb3J0IGRlZmF1bHQgcmVhY3ROYXRpdmVDb21tYW5kcztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const uploadReactNativeSourceMapsCommand: () => Command;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.uploadReactNativeSourceMapsCommand = void 0;
13
+ const commander_1 = require("commander");
14
+ const validators_1 = require("../../validators");
15
+ const shared_utils_1 = require("../../../utils/shared.utils");
16
+ const react_native_service_1 = require("../../../services/react-native.service");
17
+ const uploadReactNativeSourceMapsCommand = () => {
18
+ const uploadCommand = new commander_1.Command('upload-react-native-source-maps')
19
+ .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
20
+ .option('-a, --application <application>', 'Name of the application')
21
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
22
+ .option('-f, --folder-path <folderPath>', 'Path to the folder containing the react native source map')
23
+ .option('-e, --env <env>', 'Your environment', validators_1.validateEnvironment)
24
+ .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
25
+ .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
26
+ .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
27
+ .description('Upload react native source maps')
28
+ .action((options) => __awaiter(void 0, void 0, void 0, function* () {
29
+ try {
30
+ if (options.help) {
31
+ uploadCommand.outputHelp();
32
+ process.exit(0);
33
+ }
34
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
35
+ (0, shared_utils_1.checkMissingArguments)(options, [
36
+ 'privateKey',
37
+ 'application',
38
+ 'version',
39
+ 'folderPath',
40
+ 'env',
41
+ ]);
42
+ yield react_native_service_1.ReactNativeService.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
43
+ }
44
+ catch (error) {
45
+ (0, shared_utils_1.consoleError)(error);
46
+ }
47
+ }));
48
+ return uploadCommand;
49
+ };
50
+ exports.uploadReactNativeSourceMapsCommand = uploadReactNativeSourceMapsCommand;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXJlYWN0LW5hdGl2ZS1zb3VyY2UtbWFwcy1jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2xpL2NvbW1hbmRzL3JlYWN0LW5hdGl2ZS91cGxvYWQtcmVhY3QtbmF0aXZlLXNvdXJjZS1tYXBzLWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQW9DO0FBQ3BDLGlEQUF1RDtBQUN2RCw4REFBa0Y7QUFDbEYsaUZBQTRFO0FBR3JFLE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxFQUFFO0lBQ3JELE1BQU0sYUFBYSxHQUFHLElBQUksbUJBQU8sQ0FBQyxpQ0FBaUMsQ0FBQztTQUNqRSxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUM7U0FDcEYsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixDQUFDO1NBQ3BFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxrRUFBa0UsQ0FBQztTQUNyRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMkRBQTJELENBQUM7U0FDckcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdDQUFtQixDQUFDO1NBQ2xFLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSwrQkFBK0IsQ0FBQztTQUN6RSxNQUFNLENBQUMsNEJBQTRCLEVBQUUsbUNBQW1DLENBQUM7U0FDekUsTUFBTSxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDO1NBQ2pFLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBTyxPQUFrRCxFQUFFLEVBQUU7UUFDbkUsSUFBSTtZQUNGLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDaEIsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pCO1lBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFFckcsSUFBQSxvQ0FBcUIsRUFBNEMsT0FBTyxFQUFFO2dCQUN4RSxZQUFZO2dCQUNaLGFBQWE7Z0JBQ2IsU0FBUztnQkFDVCxZQUFZO2dCQUNaLEtBQUs7YUFDTixDQUFDLENBQUM7WUFFSCxNQUFNLHlDQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDbkg7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUEsMkJBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFTCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFuQ1csUUFBQSxrQ0FBa0Msc0NBbUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgdmFsaWRhdGVFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgY2hlY2tNaXNzaW5nQXJndW1lbnRzLCBjb25zb2xlRXJyb3IgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zaGFyZWQudXRpbHMnO1xuaW1wb3J0IHsgUmVhY3ROYXRpdmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVhY3QtbmF0aXZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkUmVhY3ROYXRpdmVTb3VyY2VNYXBzQ29tbWFuZE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVhY3QtbmF0aXZlLWNvbW1hbmRzLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IHVwbG9hZFJlYWN0TmF0aXZlU291cmNlTWFwc0NvbW1hbmQgPSAoKSA9PiB7XG4gIGNvbnN0IHVwbG9hZENvbW1hbmQgPSBuZXcgQ29tbWFuZCgndXBsb2FkLXJlYWN0LW5hdGl2ZS1zb3VyY2UtbWFwcycpXG4gICAgLm9wdGlvbignLWssIC0tcHJpdmF0ZS1rZXkgPHByaXZhdGVLZXk+JywgJ1ByaXZhdGUga2V5IHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHRoZSBBUEknKVxuICAgIC5vcHRpb24oJy1hLCAtLWFwcGxpY2F0aW9uIDxhcHBsaWNhdGlvbj4nLCAnTmFtZSBvZiB0aGUgYXBwbGljYXRpb24nKVxuICAgIC5vcHRpb24oJy12LCAtLXZlcnNpb24gPHZlcnNpb24+JywgJ1RoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uIC0gbXVzdCBtYXRjaCB0aGUgdmVyc2lvbiB1c2VkIGJ5IFJVTSBzZGsnKVxuICAgIC5vcHRpb24oJy1mLCAtLWZvbGRlci1wYXRoIDxmb2xkZXJQYXRoPicsICdQYXRoIHRvIHRoZSBmb2xkZXIgY29udGFpbmluZyB0aGUgcmVhY3QgbmF0aXZlIHNvdXJjZSBtYXAnKVxuICAgIC5vcHRpb24oJy1lLCAtLWVudiA8ZW52PicsICdZb3VyIGVudmlyb25tZW50JywgdmFsaWRhdGVFbnZpcm9ubWVudClcbiAgICAub3B0aW9uKCctYywgLS1jb21taXQtaGFzaCA8Y29tbWl0SGFzaD4nLCAnR2l0SHViIGNvbW1pdCBoYXNoIChvcHRpb25hbCknKVxuICAgIC5vcHRpb24oJy1uLCAtLXJlcG8tbmFtZSA8cmVwb05hbWU+JywgJ0dpdEh1YiBSZXBvc2l0b3J5IG5hbWUgKG9wdGlvbmFsKScpXG4gICAgLm9wdGlvbignLW8sIC0tb3JnLW5hbWUgPG9yZ05hbWU+JywgJ0dpdEh1YiB1c2VyIG5hbWUgKG9wdGlvbmFsKScpXG4gICAgLmRlc2NyaXB0aW9uKCdVcGxvYWQgcmVhY3QgbmF0aXZlIHNvdXJjZSBtYXBzJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBVcGxvYWRSZWFjdE5hdGl2ZVNvdXJjZU1hcHNDb21tYW5kT3B0aW9ucykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKG9wdGlvbnMuaGVscCkge1xuICAgICAgICAgIHVwbG9hZENvbW1hbmQub3V0cHV0SGVscCgpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcHJpdmF0ZUtleSwgYXBwbGljYXRpb24sIHZlcnNpb24sIGZvbGRlclBhdGgsIGNvbW1pdEhhc2gsIHJlcG9OYW1lLCBvcmdOYW1lLCBlbnYgfSA9IG9wdGlvbnM7XG5cbiAgICAgICAgY2hlY2tNaXNzaW5nQXJndW1lbnRzPFVwbG9hZFJlYWN0TmF0aXZlU291cmNlTWFwc0NvbW1hbmRPcHRpb25zPihvcHRpb25zLCBbXG4gICAgICAgICAgJ3ByaXZhdGVLZXknLFxuICAgICAgICAgICdhcHBsaWNhdGlvbicsXG4gICAgICAgICAgJ3ZlcnNpb24nLFxuICAgICAgICAgICdmb2xkZXJQYXRoJyxcbiAgICAgICAgICAnZW52JyxcbiAgICAgICAgXSk7XG5cbiAgICAgICAgYXdhaXQgUmVhY3ROYXRpdmVTZXJ2aWNlLnVwbG9hZChhcHBsaWNhdGlvbiwgdmVyc2lvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIG9yZ05hbWUsIGZvbGRlclBhdGgsIGVudiwgcHJpdmF0ZUtleSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlRXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIHJldHVybiB1cGxvYWRDb21tYW5kO1xufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const deleteSourceMapsCommand: () => Command;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.deleteSourceMapsCommand = void 0;
13
+ const commander_1 = require("commander");
14
+ const validators_1 = require("../../validators");
15
+ const source_maps_service_1 = require("../../../services/source-maps.service");
16
+ const shared_utils_1 = require("../../../utils/shared.utils");
17
+ const deleteSourceMapsCommand = () => {
18
+ const deleteCommand = new commander_1.Command('delete-source-maps')
19
+ .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
20
+ .option('-a, --application <application>', 'Name of the application')
21
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
22
+ .option('-e, --env <env>', 'Your environment', validators_1.validateEnvironment)
23
+ .description('Delete source maps')
24
+ .action((options) => __awaiter(void 0, void 0, void 0, function* () {
25
+ try {
26
+ if (options.help) {
27
+ deleteCommand.outputHelp();
28
+ process.exit(0);
29
+ }
30
+ const { privateKey, application, version, env } = options;
31
+ (0, shared_utils_1.checkMissingArguments)(options, ['privateKey', 'application', 'version', 'env']);
32
+ yield source_maps_service_1.SourceMapsService.delete(application, version, env, privateKey);
33
+ }
34
+ catch (error) {
35
+ (0, shared_utils_1.consoleError)(error);
36
+ }
37
+ }));
38
+ return deleteCommand;
39
+ };
40
+ exports.deleteSourceMapsCommand = deleteSourceMapsCommand;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXNvdXJjZS1tYXBzLWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jbGkvY29tbWFuZHMvc291cmNlLW1hcHMvZGVsZXRlLXNvdXJjZS1tYXBzLWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQW9DO0FBQ3BDLGlEQUF1RDtBQUN2RCwrRUFBMEU7QUFDMUUsOERBQWtGO0FBRzNFLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFO0lBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksbUJBQU8sQ0FBQyxvQkFBb0IsQ0FBQztTQUNwRCxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUM7U0FDcEYsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixDQUFDO1NBQ3BFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxrRUFBa0UsQ0FBQztTQUNyRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsZ0NBQW1CLENBQUM7U0FDbEUsV0FBVyxDQUFDLG9CQUFvQixDQUFDO1NBQ2pDLE1BQU0sQ0FBQyxDQUFPLE9BQXVDLEVBQUUsRUFBRTtRQUN4RCxJQUFJO1lBQ0YsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNoQixhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakI7WUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBRTFELElBQUEsb0NBQXFCLEVBQWlDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFFaEgsTUFBTSx1Q0FBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdkU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUEsMkJBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFTCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDLENBQUM7QUF6QlcsUUFBQSx1QkFBdUIsMkJBeUJsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgdmFsaWRhdGVFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgU291cmNlTWFwc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zb3VyY2UtbWFwcy5zZXJ2aWNlJztcbmltcG9ydCB7IGNoZWNrTWlzc2luZ0FyZ3VtZW50cywgY29uc29sZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2hhcmVkLnV0aWxzJztcbmltcG9ydCB7IERlbGV0ZVNvdXJjZU1hcHNDb21tYW5kT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zb3VyY2UtbWFwcy1jb21tYW5kcy5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVTb3VyY2VNYXBzQ29tbWFuZCA9ICgpID0+IHtcbiAgY29uc3QgZGVsZXRlQ29tbWFuZCA9IG5ldyBDb21tYW5kKCdkZWxldGUtc291cmNlLW1hcHMnKVxuICAgIC5vcHRpb24oJy1rLCAtLXByaXZhdGUta2V5IDxwcml2YXRlS2V5PicsICdQcml2YXRlIGtleSB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgQVBJJylcbiAgICAub3B0aW9uKCctYSwgLS1hcHBsaWNhdGlvbiA8YXBwbGljYXRpb24+JywgJ05hbWUgb2YgdGhlIGFwcGxpY2F0aW9uJylcbiAgICAub3B0aW9uKCctdiwgLS12ZXJzaW9uIDx2ZXJzaW9uPicsICdUaGUgYXBwbGljYXRpb24gdmVyc2lvbiAtIG11c3QgbWF0Y2ggdGhlIHZlcnNpb24gdXNlZCBieSBSVU0gc2RrJylcbiAgICAub3B0aW9uKCctZSwgLS1lbnYgPGVudj4nLCAnWW91ciBlbnZpcm9ubWVudCcsIHZhbGlkYXRlRW52aXJvbm1lbnQpXG4gICAgLmRlc2NyaXB0aW9uKCdEZWxldGUgc291cmNlIG1hcHMnKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IERlbGV0ZVNvdXJjZU1hcHNDb21tYW5kT3B0aW9ucykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKG9wdGlvbnMuaGVscCkge1xuICAgICAgICAgIGRlbGV0ZUNvbW1hbmQub3V0cHV0SGVscCgpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcHJpdmF0ZUtleSwgYXBwbGljYXRpb24sIHZlcnNpb24sIGVudiB9ID0gb3B0aW9ucztcblxuICAgICAgICBjaGVja01pc3NpbmdBcmd1bWVudHM8RGVsZXRlU291cmNlTWFwc0NvbW1hbmRPcHRpb25zPihvcHRpb25zLCBbJ3ByaXZhdGVLZXknLCAnYXBwbGljYXRpb24nLCAndmVyc2lvbicsICdlbnYnXSk7XG5cbiAgICAgICAgYXdhaXQgU291cmNlTWFwc1NlcnZpY2UuZGVsZXRlKGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCBlbnYsIHByaXZhdGVLZXkpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZUVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4gZGVsZXRlQ29tbWFuZDtcbn07XG4iXX0=
@@ -0,0 +1,6 @@
1
+ declare const sourceMapsCommands: {
2
+ uploadSourceMapsCommand: () => import("commander").Command;
3
+ updateSourceMapsCommand: () => import("commander").Command;
4
+ deleteSourceMapsCommand: () => import("commander").Command;
5
+ };
6
+ export default sourceMapsCommands;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const update_source_maps_command_1 = require("./update-source-maps-command");
4
+ const upload_source_maps_command_1 = require("./upload-source-maps-command");
5
+ const delete_source_maps_command_1 = require("./delete-source-maps-command");
6
+ const sourceMapsCommands = { uploadSourceMapsCommand: upload_source_maps_command_1.uploadSourceMapsCommand, updateSourceMapsCommand: update_source_maps_command_1.updateSourceMapsCommand, deleteSourceMapsCommand: delete_source_maps_command_1.deleteSourceMapsCommand };
7
+ exports.default = sourceMapsCommands;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jbGkvY29tbWFuZHMvc291cmNlLW1hcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2RUFBdUU7QUFDdkUsNkVBQXVFO0FBQ3ZFLDZFQUF1RTtBQUV2RSxNQUFNLGtCQUFrQixHQUFHLEVBQUUsdUJBQXVCLEVBQXZCLG9EQUF1QixFQUFFLHVCQUF1QixFQUF2QixvREFBdUIsRUFBRSx1QkFBdUIsRUFBdkIsb0RBQXVCLEVBQUUsQ0FBQztBQUV6RyxrQkFBZSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVwZGF0ZVNvdXJjZU1hcHNDb21tYW5kIH0gZnJvbSAnLi91cGRhdGUtc291cmNlLW1hcHMtY29tbWFuZCc7XG5pbXBvcnQgeyB1cGxvYWRTb3VyY2VNYXBzQ29tbWFuZCB9IGZyb20gJy4vdXBsb2FkLXNvdXJjZS1tYXBzLWNvbW1hbmQnO1xuaW1wb3J0IHsgZGVsZXRlU291cmNlTWFwc0NvbW1hbmQgfSBmcm9tICcuL2RlbGV0ZS1zb3VyY2UtbWFwcy1jb21tYW5kJztcblxuY29uc3Qgc291cmNlTWFwc0NvbW1hbmRzID0geyB1cGxvYWRTb3VyY2VNYXBzQ29tbWFuZCwgdXBkYXRlU291cmNlTWFwc0NvbW1hbmQsIGRlbGV0ZVNvdXJjZU1hcHNDb21tYW5kIH07XG5cbmV4cG9ydCBkZWZhdWx0IHNvdXJjZU1hcHNDb21tYW5kcztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const updateSourceMapsCommand: () => Command;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.updateSourceMapsCommand = void 0;
13
+ const commander_1 = require("commander");
14
+ const validators_1 = require("../../validators");
15
+ const source_maps_service_1 = require("../../../services/source-maps.service");
16
+ const shared_utils_1 = require("../../../utils/shared.utils");
17
+ const updateSourceMapsCommand = () => {
18
+ const updateCommand = new commander_1.Command('update-source-maps')
19
+ .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
20
+ .option('-a, --application <application>', 'Name of the application')
21
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
22
+ .option('-f, --folder-path <folderPath>', 'Path to the folder containing the source maps')
23
+ .option('-e, --env <env>', 'Your environment', validators_1.validateEnvironment)
24
+ .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
25
+ .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
26
+ .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
27
+ .option('-g, --generate [generate]', 'Update existing release or create a new one if not found (optional)')
28
+ .description('Update source maps')
29
+ .action((options) => __awaiter(void 0, void 0, void 0, function* () {
30
+ try {
31
+ if (options.help) {
32
+ updateCommand.outputHelp();
33
+ process.exit(0);
34
+ }
35
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env, generate } = options;
36
+ (0, shared_utils_1.checkMissingArguments)(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
37
+ yield source_maps_service_1.SourceMapsService.update(application, version, repoName, commitHash, orgName, folderPath, generate, env, privateKey);
38
+ }
39
+ catch (error) {
40
+ (0, shared_utils_1.consoleError)(error);
41
+ }
42
+ }));
43
+ return updateCommand;
44
+ };
45
+ exports.updateSourceMapsCommand = updateSourceMapsCommand;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXNvdXJjZS1tYXBzLWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jbGkvY29tbWFuZHMvc291cmNlLW1hcHMvdXBkYXRlLXNvdXJjZS1tYXBzLWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQW9DO0FBQ3BDLGlEQUF1RDtBQUN2RCwrRUFBMEU7QUFDMUUsOERBQWtGO0FBRzNFLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFO0lBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksbUJBQU8sQ0FBQyxvQkFBb0IsQ0FBQztTQUNwRCxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUM7U0FDcEYsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixDQUFDO1NBQ3BFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxrRUFBa0UsQ0FBQztTQUNyRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsK0NBQStDLENBQUM7U0FDekYsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdDQUFtQixDQUFDO1NBQ2xFLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSwrQkFBK0IsQ0FBQztTQUN6RSxNQUFNLENBQUMsNEJBQTRCLEVBQUUsbUNBQW1DLENBQUM7U0FDekUsTUFBTSxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDO1NBQ2pFLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxxRUFBcUUsQ0FBQztTQUMxRyxXQUFXLENBQUMsb0JBQW9CLENBQUM7U0FDakMsTUFBTSxDQUFDLENBQU8sT0FBdUMsRUFBRSxFQUFFO1FBQ3hELElBQUk7WUFDRixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqQjtZQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUUvRyxJQUFBLG9DQUFxQixFQUFpQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUU5SCxNQUFNLHVDQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzVIO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFBLDJCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRUwsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBOUJXLFFBQUEsdUJBQXVCLDJCQThCbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IHZhbGlkYXRlRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IFNvdXJjZU1hcHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc291cmNlLW1hcHMuc2VydmljZSc7XG5pbXBvcnQgeyBjaGVja01pc3NpbmdBcmd1bWVudHMsIGNvbnNvbGVFcnJvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3NoYXJlZC51dGlscyc7XG5pbXBvcnQgeyBVcGRhdGVTb3VyY2VNYXBzQ29tbWFuZE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc291cmNlLW1hcHMtY29tbWFuZHMubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlU291cmNlTWFwc0NvbW1hbmQgPSAoKSA9PiB7XG4gIGNvbnN0IHVwZGF0ZUNvbW1hbmQgPSBuZXcgQ29tbWFuZCgndXBkYXRlLXNvdXJjZS1tYXBzJylcbiAgICAub3B0aW9uKCctaywgLS1wcml2YXRlLWtleSA8cHJpdmF0ZUtleT4nLCAnUHJpdmF0ZSBrZXkgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIEFQSScpXG4gICAgLm9wdGlvbignLWEsIC0tYXBwbGljYXRpb24gPGFwcGxpY2F0aW9uPicsICdOYW1lIG9mIHRoZSBhcHBsaWNhdGlvbicpXG4gICAgLm9wdGlvbignLXYsIC0tdmVyc2lvbiA8dmVyc2lvbj4nLCAnVGhlIGFwcGxpY2F0aW9uIHZlcnNpb24gLSBtdXN0IG1hdGNoIHRoZSB2ZXJzaW9uIHVzZWQgYnkgUlVNIHNkaycpXG4gICAgLm9wdGlvbignLWYsIC0tZm9sZGVyLXBhdGggPGZvbGRlclBhdGg+JywgJ1BhdGggdG8gdGhlIGZvbGRlciBjb250YWluaW5nIHRoZSBzb3VyY2UgbWFwcycpXG4gICAgLm9wdGlvbignLWUsIC0tZW52IDxlbnY+JywgJ1lvdXIgZW52aXJvbm1lbnQnLCB2YWxpZGF0ZUVudmlyb25tZW50KVxuICAgIC5vcHRpb24oJy1jLCAtLWNvbW1pdC1oYXNoIDxjb21taXRIYXNoPicsICdHaXRIdWIgY29tbWl0IGhhc2ggKG9wdGlvbmFsKScpXG4gICAgLm9wdGlvbignLW4sIC0tcmVwby1uYW1lIDxyZXBvTmFtZT4nLCAnR2l0SHViIFJlcG9zaXRvcnkgbmFtZSAob3B0aW9uYWwpJylcbiAgICAub3B0aW9uKCctbywgLS1vcmctbmFtZSA8b3JnTmFtZT4nLCAnR2l0SHViIHVzZXIgbmFtZSAob3B0aW9uYWwpJylcbiAgICAub3B0aW9uKCctZywgLS1nZW5lcmF0ZSBbZ2VuZXJhdGVdJywgJ1VwZGF0ZSBleGlzdGluZyByZWxlYXNlIG9yIGNyZWF0ZSBhIG5ldyBvbmUgaWYgbm90IGZvdW5kIChvcHRpb25hbCknKVxuICAgIC5kZXNjcmlwdGlvbignVXBkYXRlIHNvdXJjZSBtYXBzJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBVcGRhdGVTb3VyY2VNYXBzQ29tbWFuZE9wdGlvbnMpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChvcHRpb25zLmhlbHApIHtcbiAgICAgICAgICB1cGRhdGVDb21tYW5kLm91dHB1dEhlbHAoKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHByaXZhdGVLZXksIGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCBmb2xkZXJQYXRoLCBjb21taXRIYXNoLCByZXBvTmFtZSwgb3JnTmFtZSwgZW52LCBnZW5lcmF0ZSB9ID0gb3B0aW9ucztcblxuICAgICAgICBjaGVja01pc3NpbmdBcmd1bWVudHM8VXBkYXRlU291cmNlTWFwc0NvbW1hbmRPcHRpb25zPihvcHRpb25zLCBbJ3ByaXZhdGVLZXknLCAnYXBwbGljYXRpb24nLCAndmVyc2lvbicsICdmb2xkZXJQYXRoJywgJ2VudiddKTtcblxuICAgICAgICBhd2FpdCBTb3VyY2VNYXBzU2VydmljZS51cGRhdGUoYXBwbGljYXRpb24sIHZlcnNpb24sIHJlcG9OYW1lLCBjb21taXRIYXNoLCBvcmdOYW1lLCBmb2xkZXJQYXRoLCBnZW5lcmF0ZSwgZW52LCBwcml2YXRlS2V5KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGVFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgcmV0dXJuIHVwZGF0ZUNvbW1hbmQ7XG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const uploadSourceMapsCommand: () => Command;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.uploadSourceMapsCommand = void 0;
13
+ const commander_1 = require("commander");
14
+ const validators_1 = require("../../validators");
15
+ const source_maps_service_1 = require("../../../services/source-maps.service");
16
+ const shared_utils_1 = require("../../../utils/shared.utils");
17
+ const uploadSourceMapsCommand = () => {
18
+ const uploadCommand = new commander_1.Command('upload-source-maps')
19
+ .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
20
+ .option('-a, --application <application>', 'Name of the application')
21
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
22
+ .option('-f, --folder-path <folderPath>', 'Path to the folder containing the source maps')
23
+ .option('-e, --env <env>', 'Your environment', validators_1.validateEnvironment)
24
+ .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
25
+ .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
26
+ .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
27
+ .description('Update source maps')
28
+ .action((options) => __awaiter(void 0, void 0, void 0, function* () {
29
+ try {
30
+ if (options.help) {
31
+ uploadCommand.outputHelp();
32
+ process.exit(0);
33
+ }
34
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
35
+ (0, shared_utils_1.checkMissingArguments)(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
36
+ yield source_maps_service_1.SourceMapsService.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
37
+ }
38
+ catch (error) {
39
+ (0, shared_utils_1.consoleError)(error);
40
+ }
41
+ }));
42
+ return uploadCommand;
43
+ };
44
+ exports.uploadSourceMapsCommand = uploadSourceMapsCommand;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXNvdXJjZS1tYXBzLWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jbGkvY29tbWFuZHMvc291cmNlLW1hcHMvdXBsb2FkLXNvdXJjZS1tYXBzLWNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQW9DO0FBQ3BDLGlEQUF1RDtBQUN2RCwrRUFBMEU7QUFDMUUsOERBQWtGO0FBRzNFLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFO0lBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksbUJBQU8sQ0FBQyxvQkFBb0IsQ0FBQztTQUNwRCxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUM7U0FDcEYsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixDQUFDO1NBQ3BFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxrRUFBa0UsQ0FBQztTQUNyRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsK0NBQStDLENBQUM7U0FDekYsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdDQUFtQixDQUFDO1NBQ2xFLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSwrQkFBK0IsQ0FBQztTQUN6RSxNQUFNLENBQUMsNEJBQTRCLEVBQUUsbUNBQW1DLENBQUM7U0FDekUsTUFBTSxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDO1NBQ2pFLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztTQUNqQyxNQUFNLENBQUMsQ0FBTyxPQUF1QyxFQUFFLEVBQUU7UUFDeEQsSUFBSTtZQUNGLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDaEIsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pCO1lBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFFckcsSUFBQSxvQ0FBcUIsRUFBaUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFFOUgsTUFBTSx1Q0FBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ2xIO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFBLDJCQUFZLEVBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRUwsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsdUJBQXVCLDJCQTZCbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IHZhbGlkYXRlRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IFNvdXJjZU1hcHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc291cmNlLW1hcHMuc2VydmljZSc7XG5pbXBvcnQgeyBjaGVja01pc3NpbmdBcmd1bWVudHMsIGNvbnNvbGVFcnJvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3NoYXJlZC51dGlscyc7XG5pbXBvcnQgeyBVcGxvYWRTb3VyY2VNYXBzQ29tbWFuZE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc291cmNlLW1hcHMtY29tbWFuZHMubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgdXBsb2FkU291cmNlTWFwc0NvbW1hbmQgPSAoKSA9PiB7XG4gIGNvbnN0IHVwbG9hZENvbW1hbmQgPSBuZXcgQ29tbWFuZCgndXBsb2FkLXNvdXJjZS1tYXBzJylcbiAgICAub3B0aW9uKCctaywgLS1wcml2YXRlLWtleSA8cHJpdmF0ZUtleT4nLCAnUHJpdmF0ZSBrZXkgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIEFQSScpXG4gICAgLm9wdGlvbignLWEsIC0tYXBwbGljYXRpb24gPGFwcGxpY2F0aW9uPicsICdOYW1lIG9mIHRoZSBhcHBsaWNhdGlvbicpXG4gICAgLm9wdGlvbignLXYsIC0tdmVyc2lvbiA8dmVyc2lvbj4nLCAnVGhlIGFwcGxpY2F0aW9uIHZlcnNpb24gLSBtdXN0IG1hdGNoIHRoZSB2ZXJzaW9uIHVzZWQgYnkgUlVNIHNkaycpXG4gICAgLm9wdGlvbignLWYsIC0tZm9sZGVyLXBhdGggPGZvbGRlclBhdGg+JywgJ1BhdGggdG8gdGhlIGZvbGRlciBjb250YWluaW5nIHRoZSBzb3VyY2UgbWFwcycpXG4gICAgLm9wdGlvbignLWUsIC0tZW52IDxlbnY+JywgJ1lvdXIgZW52aXJvbm1lbnQnLCB2YWxpZGF0ZUVudmlyb25tZW50KVxuICAgIC5vcHRpb24oJy1jLCAtLWNvbW1pdC1oYXNoIDxjb21taXRIYXNoPicsICdHaXRIdWIgY29tbWl0IGhhc2ggKG9wdGlvbmFsKScpXG4gICAgLm9wdGlvbignLW4sIC0tcmVwby1uYW1lIDxyZXBvTmFtZT4nLCAnR2l0SHViIFJlcG9zaXRvcnkgbmFtZSAob3B0aW9uYWwpJylcbiAgICAub3B0aW9uKCctbywgLS1vcmctbmFtZSA8b3JnTmFtZT4nLCAnR2l0SHViIHVzZXIgbmFtZSAob3B0aW9uYWwpJylcbiAgICAuZGVzY3JpcHRpb24oJ1VwZGF0ZSBzb3VyY2UgbWFwcycpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9uczogVXBsb2FkU291cmNlTWFwc0NvbW1hbmRPcHRpb25zKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAob3B0aW9ucy5oZWxwKSB7XG4gICAgICAgICAgdXBsb2FkQ29tbWFuZC5vdXRwdXRIZWxwKCk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBwcml2YXRlS2V5LCBhcHBsaWNhdGlvbiwgdmVyc2lvbiwgZm9sZGVyUGF0aCwgY29tbWl0SGFzaCwgcmVwb05hbWUsIG9yZ05hbWUsIGVudiB9ID0gb3B0aW9ucztcblxuICAgICAgICBjaGVja01pc3NpbmdBcmd1bWVudHM8VXBsb2FkU291cmNlTWFwc0NvbW1hbmRPcHRpb25zPihvcHRpb25zLCBbJ3ByaXZhdGVLZXknLCAnYXBwbGljYXRpb24nLCAndmVyc2lvbicsICdmb2xkZXJQYXRoJywgJ2VudiddKTtcblxuICAgICAgICBhd2FpdCBTb3VyY2VNYXBzU2VydmljZS51cGxvYWQoYXBwbGljYXRpb24sIHZlcnNpb24sIHJlcG9OYW1lLCBjb21taXRIYXNoLCBvcmdOYW1lLCBmb2xkZXJQYXRoLCBlbnYsIHByaXZhdGVLZXkpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZUVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICByZXR1cm4gdXBsb2FkQ29tbWFuZDtcbn07XG4iXX0=