@sentry/bundler-plugin-core 2.10.2 → 2.10.3

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.
@@ -696,6 +696,200 @@ function validateOptions(options, logger) {
696
696
  return true;
697
697
  }
698
698
 
699
+ var SENTRY_SAAS_HOSTNAME = "sentry.io";
700
+ function createSentryInstance(options, shouldSendTelemetry, bundler) {
701
+ var client = new NodeClient({
702
+ dsn: "https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
703
+ tracesSampleRate: 1,
704
+ sampleRate: 1,
705
+ release: "2.10.3",
706
+ integrations: [],
707
+ tracePropagationTargets: ["sentry.io/api"],
708
+ stackParser: defaultStackParser,
709
+ beforeSend: function beforeSend(event) {
710
+ var _event$exception, _event$exception$valu;
711
+ (_event$exception = event.exception) === null || _event$exception === void 0 ? void 0 : (_event$exception$valu = _event$exception.values) === null || _event$exception$valu === void 0 ? void 0 : _event$exception$valu.forEach(function (exception) {
712
+ delete exception.stacktrace;
713
+ });
714
+ delete event.server_name; // Server name might contain PII
715
+ return event;
716
+ },
717
+ beforeSendTransaction: function beforeSendTransaction(event) {
718
+ delete event.server_name; // Server name might contain PII
719
+ return event;
720
+ },
721
+ // We create a transport that stalls sending events until we know that we're allowed to (i.e. when Sentry CLI told
722
+ // us that the upload URL is the Sentry SaaS URL)
723
+ transport: function transport(nodeTransportOptions) {
724
+ var nodeTransport = makeNodeTransport(nodeTransportOptions);
725
+ return {
726
+ flush: function flush(timeout) {
727
+ return nodeTransport.flush(timeout);
728
+ },
729
+ send: function () {
730
+ var _send = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
731
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
732
+ while (1) switch (_context.prev = _context.next) {
733
+ case 0:
734
+ _context.next = 2;
735
+ return shouldSendTelemetry;
736
+ case 2:
737
+ if (!_context.sent) {
738
+ _context.next = 6;
739
+ break;
740
+ }
741
+ return _context.abrupt("return", nodeTransport.send(request));
742
+ case 6:
743
+ return _context.abrupt("return", undefined);
744
+ case 7:
745
+ case "end":
746
+ return _context.stop();
747
+ }
748
+ }, _callee);
749
+ }));
750
+ function send(_x) {
751
+ return _send.apply(this, arguments);
752
+ }
753
+ return send;
754
+ }()
755
+ };
756
+ }
757
+ });
758
+ var hub = new Hub(client);
759
+ setTelemetryDataOnHub(options, hub, bundler);
760
+ return {
761
+ sentryHub: hub,
762
+ sentryClient: client
763
+ };
764
+ }
765
+ function setTelemetryDataOnHub(options, hub, bundler) {
766
+ var org = options.org,
767
+ project = options.project,
768
+ release = options.release,
769
+ errorHandler = options.errorHandler,
770
+ sourcemaps = options.sourcemaps;
771
+ hub.setTag("upload-legacy-sourcemaps", !!release.uploadLegacySourcemaps);
772
+ if (release.uploadLegacySourcemaps) {
773
+ hub.setTag("uploadLegacySourcemapsEntries", Array.isArray(release.uploadLegacySourcemaps) ? release.uploadLegacySourcemaps.length : 1);
774
+ }
775
+ hub.setTag("module-metadata", !!options._experiments.moduleMetadata);
776
+ hub.setTag("inject-build-information", !!options._experiments.injectBuildInformation);
777
+
778
+ // Optional release pipeline steps
779
+ hub.setTag("clean-artifacts", release.cleanArtifacts);
780
+ if (release.setCommits) {
781
+ hub.setTag("set-commits", release.setCommits.auto === true ? "auto" : "manual");
782
+ } else {
783
+ hub.setTag("set-commits", "undefined");
784
+ }
785
+ hub.setTag("finalize-release", release.finalize);
786
+ hub.setTag("deploy-options", !!release.deploy);
787
+
788
+ // Miscelaneous options
789
+ hub.setTag("custom-error-handler", !!errorHandler);
790
+ hub.setTag("sourcemaps-assets", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.assets));
791
+ hub.setTag("delete-after-upload", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.deleteFilesAfterUpload) || !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.filesToDeleteAfterUpload));
792
+ hub.setTag("node", process.version);
793
+ hub.setTag("platform", process.platform);
794
+ hub.setTags({
795
+ organization: org,
796
+ project: project,
797
+ bundler: bundler
798
+ });
799
+ hub.setUser({
800
+ id: org
801
+ });
802
+ }
803
+ function allowedToSendTelemetry(_x2) {
804
+ return _allowedToSendTelemetry.apply(this, arguments);
805
+ }
806
+
807
+ /**
808
+ * Flushing the SDK client can fail. We never want to crash the plugin because of telemetry.
809
+ */
810
+ function _allowedToSendTelemetry() {
811
+ _allowedToSendTelemetry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(options) {
812
+ var _cliInfo$split$, _cliInfo$split$$repla;
813
+ var silent, org, project, authToken, url, headers, telemetry, release, cli, cliInfo, cliInfoUrl;
814
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
815
+ while (1) switch (_context2.prev = _context2.next) {
816
+ case 0:
817
+ silent = options.silent, org = options.org, project = options.project, authToken = options.authToken, url = options.url, headers = options.headers, telemetry = options.telemetry, release = options.release; // `options.telemetry` defaults to true
818
+ if (!(telemetry === false)) {
819
+ _context2.next = 3;
820
+ break;
821
+ }
822
+ return _context2.abrupt("return", false);
823
+ case 3:
824
+ if (!(url === SENTRY_SAAS_URL)) {
825
+ _context2.next = 5;
826
+ break;
827
+ }
828
+ return _context2.abrupt("return", true);
829
+ case 5:
830
+ cli = new SentryCli(null, {
831
+ url: url,
832
+ authToken: authToken,
833
+ org: org,
834
+ project: project,
835
+ vcsRemote: release.vcsRemote,
836
+ silent: silent,
837
+ headers: headers
838
+ });
839
+ _context2.prev = 6;
840
+ _context2.next = 9;
841
+ return cli.execute(["info"], false);
842
+ case 9:
843
+ cliInfo = _context2.sent;
844
+ _context2.next = 15;
845
+ break;
846
+ case 12:
847
+ _context2.prev = 12;
848
+ _context2.t0 = _context2["catch"](6);
849
+ return _context2.abrupt("return", false);
850
+ case 15:
851
+ cliInfoUrl = (_cliInfo$split$ = cliInfo.split(/(\r\n|\n|\r)/)[0]) === null || _cliInfo$split$ === void 0 ? void 0 : (_cliInfo$split$$repla = _cliInfo$split$.replace(/^Sentry Server: /, "")) === null || _cliInfo$split$$repla === void 0 ? void 0 : _cliInfo$split$$repla.trim();
852
+ if (!(cliInfoUrl === undefined)) {
853
+ _context2.next = 18;
854
+ break;
855
+ }
856
+ return _context2.abrupt("return", false);
857
+ case 18:
858
+ return _context2.abrupt("return", new URL(cliInfoUrl).hostname === SENTRY_SAAS_HOSTNAME);
859
+ case 19:
860
+ case "end":
861
+ return _context2.stop();
862
+ }
863
+ }, _callee2, null, [[6, 12]]);
864
+ }));
865
+ return _allowedToSendTelemetry.apply(this, arguments);
866
+ }
867
+ function safeFlushTelemetry(_x3) {
868
+ return _safeFlushTelemetry.apply(this, arguments);
869
+ }
870
+ function _safeFlushTelemetry() {
871
+ _safeFlushTelemetry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(sentryClient) {
872
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
873
+ while (1) switch (_context3.prev = _context3.next) {
874
+ case 0:
875
+ _context3.prev = 0;
876
+ _context3.next = 3;
877
+ return sentryClient.flush(2000);
878
+ case 3:
879
+ _context3.next = 7;
880
+ break;
881
+ case 5:
882
+ _context3.prev = 5;
883
+ _context3.t0 = _context3["catch"](0);
884
+ case 7:
885
+ case "end":
886
+ return _context3.stop();
887
+ }
888
+ }, _callee3, null, [[0, 5]]);
889
+ }));
890
+ return _safeFlushTelemetry.apply(this, arguments);
891
+ }
892
+
699
893
  function createDebugIdUploadFunction(_ref) {
700
894
  var assets = _ref.assets,
701
895
  ignore = _ref.ignore,
@@ -920,7 +1114,7 @@ function createDebugIdUploadFunction(_ref) {
920
1114
  }
921
1115
  artifactBundleUploadTransaction.finish();
922
1116
  _context3.next = 69;
923
- return sentryClient.flush();
1117
+ return safeFlushTelemetry(sentryClient);
924
1118
  case 69:
925
1119
  return _context3.finish(64);
926
1120
  case 70:
@@ -1251,7 +1445,7 @@ function releaseManagementPlugin(_ref) {
1251
1445
  _context.t0 = _context["catch"](0);
1252
1446
  sentryHub.captureException('Error in "releaseManagementPlugin" writeBundle hook');
1253
1447
  _context.next = 28;
1254
- return sentryClient.flush();
1448
+ return safeFlushTelemetry(sentryClient);
1255
1449
  case 28:
1256
1450
  handleRecoverableError(_context.t0);
1257
1451
  case 29:
@@ -1288,7 +1482,7 @@ function telemetryPlugin(_ref) {
1288
1482
  name: "Sentry Bundler Plugin execution"
1289
1483
  }).finish();
1290
1484
  _context.next = 7;
1291
- return sentryClient.flush(3000);
1485
+ return safeFlushTelemetry(sentryClient);
1292
1486
  case 7:
1293
1487
  case "end":
1294
1488
  return _context.stop();
@@ -1344,171 +1538,6 @@ function createLogger(options) {
1344
1538
  };
1345
1539
  }
1346
1540
 
1347
- var SENTRY_SAAS_HOSTNAME = "sentry.io";
1348
- function createSentryInstance(options, shouldSendTelemetry, bundler) {
1349
- var client = new NodeClient({
1350
- dsn: "https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
1351
- tracesSampleRate: 1,
1352
- sampleRate: 1,
1353
- release: "2.10.2",
1354
- integrations: [],
1355
- tracePropagationTargets: ["sentry.io/api"],
1356
- stackParser: defaultStackParser,
1357
- beforeSend: function beforeSend(event) {
1358
- var _event$exception, _event$exception$valu;
1359
- (_event$exception = event.exception) === null || _event$exception === void 0 ? void 0 : (_event$exception$valu = _event$exception.values) === null || _event$exception$valu === void 0 ? void 0 : _event$exception$valu.forEach(function (exception) {
1360
- delete exception.stacktrace;
1361
- });
1362
- delete event.server_name; // Server name might contain PII
1363
- return event;
1364
- },
1365
- beforeSendTransaction: function beforeSendTransaction(event) {
1366
- delete event.server_name; // Server name might contain PII
1367
- return event;
1368
- },
1369
- // We create a transport that stalls sending events until we know that we're allowed to (i.e. when Sentry CLI told
1370
- // us that the upload URL is the Sentry SaaS URL)
1371
- transport: function transport(nodeTransportOptions) {
1372
- var nodeTransport = makeNodeTransport(nodeTransportOptions);
1373
- return {
1374
- flush: function flush(timeout) {
1375
- return nodeTransport.flush(timeout);
1376
- },
1377
- send: function () {
1378
- var _send = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request) {
1379
- return _regeneratorRuntime().wrap(function _callee$(_context) {
1380
- while (1) switch (_context.prev = _context.next) {
1381
- case 0:
1382
- _context.next = 2;
1383
- return shouldSendTelemetry;
1384
- case 2:
1385
- if (!_context.sent) {
1386
- _context.next = 6;
1387
- break;
1388
- }
1389
- return _context.abrupt("return", nodeTransport.send(request));
1390
- case 6:
1391
- return _context.abrupt("return", undefined);
1392
- case 7:
1393
- case "end":
1394
- return _context.stop();
1395
- }
1396
- }, _callee);
1397
- }));
1398
- function send(_x) {
1399
- return _send.apply(this, arguments);
1400
- }
1401
- return send;
1402
- }()
1403
- };
1404
- }
1405
- });
1406
- var hub = new Hub(client);
1407
- setTelemetryDataOnHub(options, hub, bundler);
1408
- return {
1409
- sentryHub: hub,
1410
- sentryClient: client
1411
- };
1412
- }
1413
- function setTelemetryDataOnHub(options, hub, bundler) {
1414
- var org = options.org,
1415
- project = options.project,
1416
- release = options.release,
1417
- errorHandler = options.errorHandler,
1418
- sourcemaps = options.sourcemaps;
1419
- hub.setTag("upload-legacy-sourcemaps", !!release.uploadLegacySourcemaps);
1420
- if (release.uploadLegacySourcemaps) {
1421
- hub.setTag("uploadLegacySourcemapsEntries", Array.isArray(release.uploadLegacySourcemaps) ? release.uploadLegacySourcemaps.length : 1);
1422
- }
1423
- hub.setTag("module-metadata", !!options._experiments.moduleMetadata);
1424
- hub.setTag("inject-build-information", !!options._experiments.injectBuildInformation);
1425
-
1426
- // Optional release pipeline steps
1427
- hub.setTag("clean-artifacts", release.cleanArtifacts);
1428
- if (release.setCommits) {
1429
- hub.setTag("set-commits", release.setCommits.auto === true ? "auto" : "manual");
1430
- } else {
1431
- hub.setTag("set-commits", "undefined");
1432
- }
1433
- hub.setTag("finalize-release", release.finalize);
1434
- hub.setTag("deploy-options", !!release.deploy);
1435
-
1436
- // Miscelaneous options
1437
- hub.setTag("custom-error-handler", !!errorHandler);
1438
- hub.setTag("sourcemaps-assets", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.assets));
1439
- hub.setTag("delete-after-upload", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.deleteFilesAfterUpload) || !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.filesToDeleteAfterUpload));
1440
- hub.setTag("node", process.version);
1441
- hub.setTag("platform", process.platform);
1442
- hub.setTags({
1443
- organization: org,
1444
- project: project,
1445
- bundler: bundler
1446
- });
1447
- hub.setUser({
1448
- id: org
1449
- });
1450
- }
1451
- function allowedToSendTelemetry(_x2) {
1452
- return _allowedToSendTelemetry.apply(this, arguments);
1453
- }
1454
- function _allowedToSendTelemetry() {
1455
- _allowedToSendTelemetry = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(options) {
1456
- var _cliInfo$split$, _cliInfo$split$$repla;
1457
- var silent, org, project, authToken, url, headers, telemetry, release, cli, cliInfo, cliInfoUrl;
1458
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1459
- while (1) switch (_context2.prev = _context2.next) {
1460
- case 0:
1461
- silent = options.silent, org = options.org, project = options.project, authToken = options.authToken, url = options.url, headers = options.headers, telemetry = options.telemetry, release = options.release; // `options.telemetry` defaults to true
1462
- if (!(telemetry === false)) {
1463
- _context2.next = 3;
1464
- break;
1465
- }
1466
- return _context2.abrupt("return", false);
1467
- case 3:
1468
- if (!(url === SENTRY_SAAS_URL)) {
1469
- _context2.next = 5;
1470
- break;
1471
- }
1472
- return _context2.abrupt("return", true);
1473
- case 5:
1474
- cli = new SentryCli(null, {
1475
- url: url,
1476
- authToken: authToken,
1477
- org: org,
1478
- project: project,
1479
- vcsRemote: release.vcsRemote,
1480
- silent: silent,
1481
- headers: headers
1482
- });
1483
- _context2.prev = 6;
1484
- _context2.next = 9;
1485
- return cli.execute(["info"], false);
1486
- case 9:
1487
- cliInfo = _context2.sent;
1488
- _context2.next = 15;
1489
- break;
1490
- case 12:
1491
- _context2.prev = 12;
1492
- _context2.t0 = _context2["catch"](6);
1493
- return _context2.abrupt("return", false);
1494
- case 15:
1495
- cliInfoUrl = (_cliInfo$split$ = cliInfo.split(/(\r\n|\n|\r)/)[0]) === null || _cliInfo$split$ === void 0 ? void 0 : (_cliInfo$split$$repla = _cliInfo$split$.replace(/^Sentry Server: /, "")) === null || _cliInfo$split$$repla === void 0 ? void 0 : _cliInfo$split$$repla.trim();
1496
- if (!(cliInfoUrl === undefined)) {
1497
- _context2.next = 18;
1498
- break;
1499
- }
1500
- return _context2.abrupt("return", false);
1501
- case 18:
1502
- return _context2.abrupt("return", new URL(cliInfoUrl).hostname === SENTRY_SAAS_HOSTNAME);
1503
- case 19:
1504
- case "end":
1505
- return _context2.stop();
1506
- }
1507
- }, _callee2, null, [[6, 12]]);
1508
- }));
1509
- return _allowedToSendTelemetry.apply(this, arguments);
1510
- }
1511
-
1512
1541
  /**
1513
1542
  * The sentry bundler plugin concerns itself with two things:
1514
1543
  * - Release injection
@@ -1583,7 +1612,7 @@ function sentryUnpluginFactory(_ref) {
1583
1612
  });
1584
1613
 
1585
1614
  // Set the User-Agent that Sentry CLI will use when interacting with Sentry
1586
- process.env["SENTRY_PIPELINE"] = "".concat(unpluginMetaContext.framework, "-plugin/", "2.10.2");
1615
+ process.env["SENTRY_PIPELINE"] = "".concat(unpluginMetaContext.framework, "-plugin/", "2.10.3");
1587
1616
  function handleRecoverableError(unknownError) {
1588
1617
  sentrySession.status = "abnormal";
1589
1618
  try {