@sentry/bundler-plugin-core 2.2.2 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -533,7 +533,11 @@ function stringToUUID(str) {
533
533
  var md5sum = crypto.createHash("md5");
534
534
  md5sum.update(str);
535
535
  var md5Hash = md5sum.digest("hex");
536
- return (md5Hash.substring(0, 8) + "-" + md5Hash.substring(8, 12) + "-4" + md5Hash.substring(13, 16) + "-" + md5Hash.substring(16, 20) + "-" + md5Hash.substring(20)).toLowerCase();
536
+
537
+ // Position 16 is fixed to either 8, 9, a, or b in the uuid v4 spec (10xx in binary)
538
+ // RFC 4122 section 4.4
539
+ var v4variant = ["8", "9", "a", "b"][md5Hash.substring(16, 17).charCodeAt(0) % 4];
540
+ return (md5Hash.substring(0, 8) + "-" + md5Hash.substring(8, 12) + "-4" + md5Hash.substring(13, 16) + "-" + v4variant + md5Hash.substring(17, 20) + "-" + md5Hash.substring(20)).toLowerCase();
537
541
  }
538
542
 
539
543
  /**
@@ -601,7 +605,7 @@ function stripQueryAndHashFromPath(path) {
601
605
 
602
606
  var SENTRY_SAAS_URL = "https://sentry.io";
603
607
  function normalizeUserOptions(userOptions) {
604
- var _userOptions$org, _userOptions$project, _userOptions$authToke, _ref, _userOptions$url, _userOptions$debug, _userOptions$silent, _userOptions$telemetr, _userOptions$disable, _userOptions$release$, _userOptions$release, _userOptions$release$2, _userOptions$release2, _userOptions$release$3, _userOptions$release3, _userOptions$release$4, _userOptions$release4, _ref2, _userOptions$release$5, _userOptions$release5, _userOptions$release$6, _userOptions$release6, _userOptions$_experim;
608
+ var _userOptions$org, _userOptions$project, _userOptions$authToke, _ref, _userOptions$url, _userOptions$debug, _userOptions$silent, _userOptions$telemetr, _userOptions$disable, _ref2, _userOptions$release$, _userOptions$release, _userOptions$release$2, _userOptions$release2, _userOptions$release$3, _userOptions$release3, _userOptions$release$4, _userOptions$release4, _ref3, _userOptions$release$5, _userOptions$release5, _userOptions$release$6, _userOptions$release6, _userOptions$_experim;
605
609
  var options = {
606
610
  org: (_userOptions$org = userOptions.org) !== null && _userOptions$org !== void 0 ? _userOptions$org : process.env["SENTRY_ORG"],
607
611
  project: (_userOptions$project = userOptions.project) !== null && _userOptions$project !== void 0 ? _userOptions$project : process.env["SENTRY_PROJECT"],
@@ -615,11 +619,11 @@ function normalizeUserOptions(userOptions) {
615
619
  disable: (_userOptions$disable = userOptions.disable) !== null && _userOptions$disable !== void 0 ? _userOptions$disable : false,
616
620
  sourcemaps: userOptions.sourcemaps,
617
621
  release: _objectSpread2(_objectSpread2({}, userOptions.release), {}, {
618
- name: (_userOptions$release$ = (_userOptions$release = userOptions.release) === null || _userOptions$release === void 0 ? void 0 : _userOptions$release.name) !== null && _userOptions$release$ !== void 0 ? _userOptions$release$ : determineReleaseName(),
622
+ name: (_ref2 = (_userOptions$release$ = (_userOptions$release = userOptions.release) === null || _userOptions$release === void 0 ? void 0 : _userOptions$release.name) !== null && _userOptions$release$ !== void 0 ? _userOptions$release$ : process.env["SENTRY_RELEASE"]) !== null && _ref2 !== void 0 ? _ref2 : determineReleaseName(),
619
623
  inject: (_userOptions$release$2 = (_userOptions$release2 = userOptions.release) === null || _userOptions$release2 === void 0 ? void 0 : _userOptions$release2.inject) !== null && _userOptions$release$2 !== void 0 ? _userOptions$release$2 : true,
620
624
  create: (_userOptions$release$3 = (_userOptions$release3 = userOptions.release) === null || _userOptions$release3 === void 0 ? void 0 : _userOptions$release3.create) !== null && _userOptions$release$3 !== void 0 ? _userOptions$release$3 : true,
621
625
  finalize: (_userOptions$release$4 = (_userOptions$release4 = userOptions.release) === null || _userOptions$release4 === void 0 ? void 0 : _userOptions$release4.finalize) !== null && _userOptions$release$4 !== void 0 ? _userOptions$release$4 : true,
622
- vcsRemote: (_ref2 = (_userOptions$release$5 = (_userOptions$release5 = userOptions.release) === null || _userOptions$release5 === void 0 ? void 0 : _userOptions$release5.vcsRemote) !== null && _userOptions$release$5 !== void 0 ? _userOptions$release$5 : process.env["SENTRY_VSC_REMOTE"]) !== null && _ref2 !== void 0 ? _ref2 : "origin",
626
+ vcsRemote: (_ref3 = (_userOptions$release$5 = (_userOptions$release5 = userOptions.release) === null || _userOptions$release5 === void 0 ? void 0 : _userOptions$release5.vcsRemote) !== null && _userOptions$release$5 !== void 0 ? _userOptions$release$5 : process.env["SENTRY_VSC_REMOTE"]) !== null && _ref3 !== void 0 ? _ref3 : "origin",
623
627
  cleanArtifacts: (_userOptions$release$6 = (_userOptions$release6 = userOptions.release) === null || _userOptions$release6 === void 0 ? void 0 : _userOptions$release6.cleanArtifacts) !== null && _userOptions$release$6 !== void 0 ? _userOptions$release$6 : false
624
628
  }),
625
629
  _experiments: (_userOptions$_experim = userOptions._experiments) !== null && _userOptions$_experim !== void 0 ? _userOptions$_experim : {}
@@ -669,7 +673,7 @@ function createDebugIdUploadFunction(_ref) {
669
673
  sentryClient = _ref.sentryClient,
670
674
  sentryCliOptions = _ref.sentryCliOptions,
671
675
  rewriteSourcesHook = _ref.rewriteSourcesHook,
672
- deleteFilesAfterUpload = _ref.deleteFilesAfterUpload;
676
+ filesToDeleteAfterUpload = _ref.filesToDeleteAfterUpload;
673
677
  return /*#__PURE__*/function () {
674
678
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(buildArtifactPaths) {
675
679
  var artifactBundleUploadTransaction, folderToCleanUp, mkdtempSpan, tmpUploadFolder, globAssets, globSpan, globResult, debugIdChunkFilePaths, prepareSpan, files, stats, uploadSize, uploadSpan, cliInstance, deleteGlobSpan, filePathsToDelete, deleteSpan, cleanupSpan;
@@ -709,27 +713,29 @@ function createDebugIdUploadFunction(_ref) {
709
713
  globSpan.finish();
710
714
  debugIdChunkFilePaths = globResult.filter(function (debugIdChunkFilePath) {
711
715
  return debugIdChunkFilePath.endsWith(".js") || debugIdChunkFilePath.endsWith(".mjs") || debugIdChunkFilePath.endsWith(".cjs");
712
- });
716
+ }); // The order of the files output by glob() is not deterministic
717
+ // Ensure order within the files so that {debug-id}-{chunkIndex} coupling is consistent
718
+ debugIdChunkFilePaths.sort();
713
719
  if (!(Array.isArray(assets) && assets.length === 0)) {
714
- _context2.next = 19;
720
+ _context2.next = 20;
715
721
  break;
716
722
  }
717
723
  logger.debug("Empty `sourcemaps.assets` option provided. Will not upload sourcemaps with debug ID.");
718
- _context2.next = 41;
724
+ _context2.next = 43;
719
725
  break;
720
- case 19:
726
+ case 20:
721
727
  if (!(debugIdChunkFilePaths.length === 0)) {
722
- _context2.next = 23;
728
+ _context2.next = 24;
723
729
  break;
724
730
  }
725
731
  logger.warn("Didn't find any matching sources for debug ID upload. Please check the `sourcemaps.assets` option.");
726
- _context2.next = 41;
732
+ _context2.next = 43;
727
733
  break;
728
- case 23:
734
+ case 24:
729
735
  prepareSpan = artifactBundleUploadTransaction.startChild({
730
736
  description: "prepare-bundles"
731
737
  });
732
- _context2.next = 26;
738
+ _context2.next = 27;
733
739
  return Promise.all(debugIdChunkFilePaths.map( /*#__PURE__*/function () {
734
740
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(chunkFilePath, chunkIndex) {
735
741
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -747,18 +753,18 @@ function createDebugIdUploadFunction(_ref) {
747
753
  return _ref3.apply(this, arguments);
748
754
  };
749
755
  }()));
750
- case 26:
756
+ case 27:
751
757
  prepareSpan.finish();
752
- _context2.next = 29;
758
+ _context2.next = 30;
753
759
  return fs__default.promises.readdir(tmpUploadFolder);
754
- case 29:
760
+ case 30:
755
761
  files = _context2.sent;
756
762
  stats = files.map(function (file) {
757
763
  return fs__default.promises.stat(path__default.join(tmpUploadFolder, file));
758
764
  });
759
- _context2.next = 33;
765
+ _context2.next = 34;
760
766
  return Promise.all(stats);
761
- case 33:
767
+ case 34:
762
768
  uploadSize = _context2.sent.reduce(function (accumulator, _ref4) {
763
769
  var size = _ref4.size;
764
770
  return accumulator + size;
@@ -775,7 +781,7 @@ function createDebugIdUploadFunction(_ref) {
775
781
  baggage: dynamicSamplingContextToSentryBaggageHeader(artifactBundleUploadTransaction.getDynamicSamplingContext())
776
782
  }, sentryCliOptions.headers)
777
783
  }));
778
- _context2.next = 40;
784
+ _context2.next = 41;
779
785
  return cliInstance.releases.uploadSourceMaps(releaseName !== null && releaseName !== void 0 ? releaseName : "undefined",
780
786
  // unfortunetly this needs a value for now but it will not matter since debug IDs overpower releases anyhow
781
787
  {
@@ -786,22 +792,23 @@ function createDebugIdUploadFunction(_ref) {
786
792
  }],
787
793
  useArtifactBundle: true
788
794
  });
789
- case 40:
790
- uploadSpan.finish();
791
795
  case 41:
792
- if (!deleteFilesAfterUpload) {
793
- _context2.next = 52;
796
+ uploadSpan.finish();
797
+ logger.info("Successfully uploaded source maps to Sentry");
798
+ case 43:
799
+ if (!filesToDeleteAfterUpload) {
800
+ _context2.next = 54;
794
801
  break;
795
802
  }
796
803
  deleteGlobSpan = artifactBundleUploadTransaction.startChild({
797
804
  description: "delete-glob"
798
805
  });
799
- _context2.next = 45;
800
- return glob(deleteFilesAfterUpload, {
806
+ _context2.next = 47;
807
+ return glob(filesToDeleteAfterUpload, {
801
808
  absolute: true,
802
809
  nodir: true
803
810
  });
804
- case 45:
811
+ case 47:
805
812
  filePathsToDelete = _context2.sent;
806
813
  deleteGlobSpan.finish();
807
814
  filePathsToDelete.forEach(function (filePathToDelete) {
@@ -810,27 +817,27 @@ function createDebugIdUploadFunction(_ref) {
810
817
  deleteSpan = artifactBundleUploadTransaction.startChild({
811
818
  description: "delete-files-after-upload"
812
819
  });
813
- _context2.next = 51;
820
+ _context2.next = 53;
814
821
  return Promise.all(filePathsToDelete.map(function (filePathToDelete) {
815
822
  return fs__default.promises.rm(filePathToDelete, {
816
823
  force: true
817
824
  });
818
825
  }));
819
- case 51:
826
+ case 53:
820
827
  deleteSpan.finish();
821
- case 52:
822
- _context2.next = 58;
823
- break;
824
828
  case 54:
825
- _context2.prev = 54;
829
+ _context2.next = 60;
830
+ break;
831
+ case 56:
832
+ _context2.prev = 56;
826
833
  _context2.t0 = _context2["catch"](1);
827
834
  sentryHub.withScope(function (scope) {
828
835
  scope.setSpan(artifactBundleUploadTransaction);
829
836
  sentryHub.captureException('Error in "debugIdUploadPlugin" writeBundle hook');
830
837
  });
831
838
  handleRecoverableError(_context2.t0);
832
- case 58:
833
- _context2.prev = 58;
839
+ case 60:
840
+ _context2.prev = 60;
834
841
  if (folderToCleanUp) {
835
842
  cleanupSpan = artifactBundleUploadTransaction.startChild({
836
843
  description: "cleanup"
@@ -842,15 +849,15 @@ function createDebugIdUploadFunction(_ref) {
842
849
  cleanupSpan.finish();
843
850
  }
844
851
  artifactBundleUploadTransaction.finish();
845
- _context2.next = 63;
852
+ _context2.next = 65;
846
853
  return sentryClient.flush();
847
- case 63:
848
- return _context2.finish(58);
849
- case 64:
854
+ case 65:
855
+ return _context2.finish(60);
856
+ case 66:
850
857
  case "end":
851
858
  return _context2.stop();
852
859
  }
853
- }, _callee2, null, [[1, 54, 58, 64]]);
860
+ }, _callee2, null, [[1, 56, 60, 66]]);
854
861
  }));
855
862
  return function (_x) {
856
863
  return _ref2.apply(this, arguments);
@@ -1251,7 +1258,7 @@ function createSentryInstance(options, shouldSendTelemetry, bundler) {
1251
1258
  dsn: "https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
1252
1259
  tracesSampleRate: 1,
1253
1260
  sampleRate: 1,
1254
- release: "2.2.2",
1261
+ release: "2.3.0",
1255
1262
  integrations: [],
1256
1263
  tracePropagationTargets: ["sentry.io/api"],
1257
1264
  stackParser: defaultStackParser,
@@ -1335,7 +1342,7 @@ function setTelemetryDataOnHub(options, hub, bundler) {
1335
1342
  // Miscelaneous options
1336
1343
  hub.setTag("custom-error-handler", !!errorHandler);
1337
1344
  hub.setTag("sourcemaps-assets", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.assets));
1338
- hub.setTag("delete-after-upload", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.deleteFilesAfterUpload));
1345
+ hub.setTag("delete-after-upload", !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.deleteFilesAfterUpload) || !!(sourcemaps !== null && sourcemaps !== void 0 && sourcemaps.filesToDeleteAfterUpload));
1339
1346
  hub.setTag("node", process.version);
1340
1347
  hub.setTag("platform", process.platform);
1341
1348
  hub.setTags({
@@ -1467,7 +1474,7 @@ function sentryUnpluginFactory(_ref) {
1467
1474
  });
1468
1475
 
1469
1476
  // Set the User-Agent that Sentry CLI will use when interacting with Sentry
1470
- process.env["SENTRY_PIPELINE"] = "".concat(unpluginMetaContext.framework, "-plugin/", "2.2.2");
1477
+ process.env["SENTRY_PIPELINE"] = "".concat(unpluginMetaContext.framework, "-plugin/", "2.3.0");
1471
1478
  function handleRecoverableError(unknownError) {
1472
1479
  sentrySession.status = "abnormal";
1473
1480
  try {
@@ -1547,6 +1554,7 @@ function sentryUnpluginFactory(_ref) {
1547
1554
  }
1548
1555
  }));
1549
1556
  }
1557
+ plugins.push(debugIdInjectionPlugin());
1550
1558
  if (!options.authToken) {
1551
1559
  logger.warn("No auth token provided. Will not upload source maps. Please set the `authToken` option. You can find information on how to generate a Sentry auth token here: https://docs.sentry.io/api/auth/");
1552
1560
  } else if (!options.org) {
@@ -1554,17 +1562,16 @@ function sentryUnpluginFactory(_ref) {
1554
1562
  } else if (!options.project) {
1555
1563
  logger.warn("No project provided. Will not upload source maps. Please set the `project` option to your Sentry project slug.");
1556
1564
  } else {
1557
- var _options$sourcemaps, _options$sourcemaps2, _options$sourcemaps3, _options$sourcemaps4;
1558
- plugins.push(debugIdInjectionPlugin());
1565
+ var _options$sourcemaps, _options$sourcemaps2, _options$sourcemaps$f, _options$sourcemaps3, _options$sourcemaps4, _options$sourcemaps5;
1559
1566
  plugins.push(debugIdUploadPlugin(createDebugIdUploadFunction({
1560
1567
  assets: (_options$sourcemaps = options.sourcemaps) === null || _options$sourcemaps === void 0 ? void 0 : _options$sourcemaps.assets,
1561
1568
  ignore: (_options$sourcemaps2 = options.sourcemaps) === null || _options$sourcemaps2 === void 0 ? void 0 : _options$sourcemaps2.ignore,
1562
- deleteFilesAfterUpload: (_options$sourcemaps3 = options.sourcemaps) === null || _options$sourcemaps3 === void 0 ? void 0 : _options$sourcemaps3.deleteFilesAfterUpload,
1569
+ filesToDeleteAfterUpload: (_options$sourcemaps$f = (_options$sourcemaps3 = options.sourcemaps) === null || _options$sourcemaps3 === void 0 ? void 0 : _options$sourcemaps3.filesToDeleteAfterUpload) !== null && _options$sourcemaps$f !== void 0 ? _options$sourcemaps$f : (_options$sourcemaps4 = options.sourcemaps) === null || _options$sourcemaps4 === void 0 ? void 0 : _options$sourcemaps4.deleteFilesAfterUpload,
1563
1570
  dist: options.release.dist,
1564
1571
  releaseName: options.release.name,
1565
1572
  logger: logger,
1566
1573
  handleRecoverableError: handleRecoverableError,
1567
- rewriteSourcesHook: (_options$sourcemaps4 = options.sourcemaps) === null || _options$sourcemaps4 === void 0 ? void 0 : _options$sourcemaps4.rewriteSources,
1574
+ rewriteSourcesHook: (_options$sourcemaps5 = options.sourcemaps) === null || _options$sourcemaps5 === void 0 ? void 0 : _options$sourcemaps5.rewriteSources,
1568
1575
  sentryHub: sentryHub,
1569
1576
  sentryClient: sentryClient,
1570
1577
  sentryCliOptions: {
@@ -1744,5 +1751,5 @@ function getDebugIdSnippet(debugId) {
1744
1751
  return ";!function(){try{var e=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]=\"".concat(debugId, "\",e._sentryDebugIdIdentifier=\"sentry-dbid-").concat(debugId, "\")}catch(e){}}();");
1745
1752
  }
1746
1753
 
1747
- export { createRollupDebugIdInjectionHooks, createRollupDebugIdUploadHooks, createRollupReleaseInjectionHooks, getBuildInformation, getDebugIdSnippet, sentryCliBinaryExists, sentryUnpluginFactory };
1754
+ export { createRollupDebugIdInjectionHooks, createRollupDebugIdUploadHooks, createRollupReleaseInjectionHooks, getBuildInformation, getDebugIdSnippet, sentryCliBinaryExists, sentryUnpluginFactory, stringToUUID };
1748
1755
  //# sourceMappingURL=index.mjs.map