@sentry/bundler-plugin-core 2.6.2 → 2.7.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.
@@ -683,22 +683,22 @@ function createDebugIdUploadFunction(_ref) {
683
683
  rewriteSourcesHook = _ref.rewriteSourcesHook,
684
684
  filesToDeleteAfterUpload = _ref.filesToDeleteAfterUpload;
685
685
  return /*#__PURE__*/function () {
686
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(buildArtifactPaths) {
687
- var artifactBundleUploadTransaction, folderToCleanUp, mkdtempSpan, tmpUploadFolder, globAssets, globSpan, globResult, debugIdChunkFilePaths, prepareSpan, files, stats, uploadSize, uploadSpan, cliInstance, deleteGlobSpan, filePathsToDelete, deleteSpan, cleanupSpan;
688
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
689
- while (1) switch (_context2.prev = _context2.next) {
686
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(buildArtifactPaths) {
687
+ var artifactBundleUploadTransaction, folderToCleanUp, mkdtempSpan, tmpUploadFolder, globAssets, globSpan, globResult, debugIdChunkFilePaths, prepareSpan, preparationTasks, workers, worker, workerIndex, files, stats, uploadSize, uploadSpan, cliInstance, deleteGlobSpan, filePathsToDelete, deleteSpan, cleanupSpan;
688
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
689
+ while (1) switch (_context3.prev = _context3.next) {
690
690
  case 0:
691
691
  artifactBundleUploadTransaction = sentryHub.startTransaction({
692
692
  name: "debug-id-sourcemap-upload"
693
693
  });
694
- _context2.prev = 1;
694
+ _context3.prev = 1;
695
695
  mkdtempSpan = artifactBundleUploadTransaction.startChild({
696
696
  description: "mkdtemp"
697
697
  });
698
- _context2.next = 5;
698
+ _context3.next = 5;
699
699
  return fs__default.promises.mkdtemp(path__default.join(os.tmpdir(), "sentry-bundler-plugin-upload-"));
700
700
  case 5:
701
- tmpUploadFolder = _context2.sent;
701
+ tmpUploadFolder = _context3.sent;
702
702
  mkdtempSpan.finish();
703
703
  folderToCleanUp = tmpUploadFolder;
704
704
  if (assets) {
@@ -710,14 +710,14 @@ function createDebugIdUploadFunction(_ref) {
710
710
  globSpan = artifactBundleUploadTransaction.startChild({
711
711
  description: "glob"
712
712
  });
713
- _context2.next = 12;
713
+ _context3.next = 12;
714
714
  return glob(globAssets, {
715
715
  absolute: true,
716
716
  nodir: true,
717
717
  ignore: ignore
718
718
  });
719
719
  case 12:
720
- globResult = _context2.sent;
720
+ globResult = _context3.sent;
721
721
  globSpan.finish();
722
722
  debugIdChunkFilePaths = globResult.filter(function (debugIdChunkFilePath) {
723
723
  return debugIdChunkFilePath.endsWith(".js") || debugIdChunkFilePath.endsWith(".mjs") || debugIdChunkFilePath.endsWith(".cjs");
@@ -725,27 +725,27 @@ function createDebugIdUploadFunction(_ref) {
725
725
  // Ensure order within the files so that {debug-id}-{chunkIndex} coupling is consistent
726
726
  debugIdChunkFilePaths.sort();
727
727
  if (!(Array.isArray(assets) && assets.length === 0)) {
728
- _context2.next = 20;
728
+ _context3.next = 20;
729
729
  break;
730
730
  }
731
731
  logger.debug("Empty `sourcemaps.assets` option provided. Will not upload sourcemaps with debug ID.");
732
- _context2.next = 43;
732
+ _context3.next = 47;
733
733
  break;
734
734
  case 20:
735
735
  if (!(debugIdChunkFilePaths.length === 0)) {
736
- _context2.next = 24;
736
+ _context3.next = 24;
737
737
  break;
738
738
  }
739
739
  logger.warn("Didn't find any matching sources for debug ID upload. Please check the `sourcemaps.assets` option.");
740
- _context2.next = 43;
740
+ _context3.next = 47;
741
741
  break;
742
742
  case 24:
743
743
  prepareSpan = artifactBundleUploadTransaction.startChild({
744
744
  description: "prepare-bundles"
745
- });
746
- _context2.next = 27;
747
- return Promise.all(debugIdChunkFilePaths.map( /*#__PURE__*/function () {
748
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(chunkFilePath, chunkIndex) {
745
+ }); // Preparing the bundles can be a lot of work and doing it all at once has the potential of nuking the heap so
746
+ // instead we do it with a maximum of 16 concurrent workers
747
+ preparationTasks = debugIdChunkFilePaths.map(function (chunkFilePath, chunkIndex) {
748
+ return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
749
749
  return _regeneratorRuntime().wrap(function _callee$(_context) {
750
750
  while (1) switch (_context.prev = _context.next) {
751
751
  case 0:
@@ -757,24 +757,57 @@ function createDebugIdUploadFunction(_ref) {
757
757
  }
758
758
  }, _callee);
759
759
  }));
760
- return function (_x2, _x3) {
761
- return _ref3.apply(this, arguments);
760
+ });
761
+ workers = [];
762
+ worker = /*#__PURE__*/function () {
763
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
764
+ var task;
765
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
766
+ while (1) switch (_context2.prev = _context2.next) {
767
+ case 0:
768
+ if (!(preparationTasks.length > 0)) {
769
+ _context2.next = 7;
770
+ break;
771
+ }
772
+ task = preparationTasks.shift();
773
+ if (!task) {
774
+ _context2.next = 5;
775
+ break;
776
+ }
777
+ _context2.next = 5;
778
+ return task();
779
+ case 5:
780
+ _context2.next = 0;
781
+ break;
782
+ case 7:
783
+ case "end":
784
+ return _context2.stop();
785
+ }
786
+ }, _callee2);
787
+ }));
788
+ return function worker() {
789
+ return _ref4.apply(this, arguments);
762
790
  };
763
- }()));
764
- case 27:
791
+ }();
792
+ for (workerIndex = 0; workerIndex < 16; workerIndex++) {
793
+ workers.push(worker());
794
+ }
795
+ _context3.next = 31;
796
+ return Promise.all(workers);
797
+ case 31:
765
798
  prepareSpan.finish();
766
- _context2.next = 30;
799
+ _context3.next = 34;
767
800
  return fs__default.promises.readdir(tmpUploadFolder);
768
- case 30:
769
- files = _context2.sent;
801
+ case 34:
802
+ files = _context3.sent;
770
803
  stats = files.map(function (file) {
771
804
  return fs__default.promises.stat(path__default.join(tmpUploadFolder, file));
772
805
  });
773
- _context2.next = 34;
806
+ _context3.next = 38;
774
807
  return Promise.all(stats);
775
- case 34:
776
- uploadSize = _context2.sent.reduce(function (accumulator, _ref4) {
777
- var size = _ref4.size;
808
+ case 38:
809
+ uploadSize = _context3.sent.reduce(function (accumulator, _ref5) {
810
+ var size = _ref5.size;
778
811
  return accumulator + size;
779
812
  }, 0);
780
813
  artifactBundleUploadTransaction.setMeasurement("files", files.length, "none");
@@ -789,7 +822,7 @@ function createDebugIdUploadFunction(_ref) {
789
822
  baggage: dynamicSamplingContextToSentryBaggageHeader(artifactBundleUploadTransaction.getDynamicSamplingContext())
790
823
  }, sentryCliOptions.headers)
791
824
  }));
792
- _context2.next = 41;
825
+ _context3.next = 45;
793
826
  return cliInstance.releases.uploadSourceMaps(releaseName !== null && releaseName !== void 0 ? releaseName : "undefined",
794
827
  // unfortunetly this needs a value for now but it will not matter since debug IDs overpower releases anyhow
795
828
  {
@@ -800,24 +833,24 @@ function createDebugIdUploadFunction(_ref) {
800
833
  }],
801
834
  useArtifactBundle: true
802
835
  });
803
- case 41:
836
+ case 45:
804
837
  uploadSpan.finish();
805
838
  logger.info("Successfully uploaded source maps to Sentry");
806
- case 43:
839
+ case 47:
807
840
  if (!filesToDeleteAfterUpload) {
808
- _context2.next = 54;
841
+ _context3.next = 58;
809
842
  break;
810
843
  }
811
844
  deleteGlobSpan = artifactBundleUploadTransaction.startChild({
812
845
  description: "delete-glob"
813
846
  });
814
- _context2.next = 47;
847
+ _context3.next = 51;
815
848
  return glob(filesToDeleteAfterUpload, {
816
849
  absolute: true,
817
850
  nodir: true
818
851
  });
819
- case 47:
820
- filePathsToDelete = _context2.sent;
852
+ case 51:
853
+ filePathsToDelete = _context3.sent;
821
854
  deleteGlobSpan.finish();
822
855
  filePathsToDelete.forEach(function (filePathToDelete) {
823
856
  logger.debug("Deleting asset after upload: ".concat(filePathToDelete));
@@ -825,7 +858,7 @@ function createDebugIdUploadFunction(_ref) {
825
858
  deleteSpan = artifactBundleUploadTransaction.startChild({
826
859
  description: "delete-files-after-upload"
827
860
  });
828
- _context2.next = 53;
861
+ _context3.next = 57;
829
862
  return Promise.all(filePathsToDelete.map(function (filePathToDelete) {
830
863
  return fs__default.promises.rm(filePathToDelete, {
831
864
  force: true
@@ -834,21 +867,21 @@ function createDebugIdUploadFunction(_ref) {
834
867
  logger.debug("An error occured while attempting to delete asset: ".concat(filePathToDelete), e);
835
868
  });
836
869
  }));
837
- case 53:
870
+ case 57:
838
871
  deleteSpan.finish();
839
- case 54:
840
- _context2.next = 60;
872
+ case 58:
873
+ _context3.next = 64;
841
874
  break;
842
- case 56:
843
- _context2.prev = 56;
844
- _context2.t0 = _context2["catch"](1);
875
+ case 60:
876
+ _context3.prev = 60;
877
+ _context3.t0 = _context3["catch"](1);
845
878
  sentryHub.withScope(function (scope) {
846
879
  scope.setSpan(artifactBundleUploadTransaction);
847
880
  sentryHub.captureException('Error in "debugIdUploadPlugin" writeBundle hook');
848
881
  });
849
- handleRecoverableError(_context2.t0);
850
- case 60:
851
- _context2.prev = 60;
882
+ handleRecoverableError(_context3.t0);
883
+ case 64:
884
+ _context3.prev = 64;
852
885
  if (folderToCleanUp) {
853
886
  cleanupSpan = artifactBundleUploadTransaction.startChild({
854
887
  description: "cleanup"
@@ -860,22 +893,22 @@ function createDebugIdUploadFunction(_ref) {
860
893
  cleanupSpan.finish();
861
894
  }
862
895
  artifactBundleUploadTransaction.finish();
863
- _context2.next = 65;
896
+ _context3.next = 69;
864
897
  return sentryClient.flush();
865
- case 65:
866
- return _context2.finish(60);
867
- case 66:
898
+ case 69:
899
+ return _context3.finish(64);
900
+ case 70:
868
901
  case "end":
869
- return _context2.stop();
902
+ return _context3.stop();
870
903
  }
871
- }, _callee2, null, [[1, 56, 60, 66]]);
904
+ }, _callee3, null, [[1, 60, 64, 70]]);
872
905
  }));
873
906
  return function (_x) {
874
907
  return _ref2.apply(this, arguments);
875
908
  };
876
909
  }();
877
910
  }
878
- function prepareBundleForDebugIdUpload(_x4, _x5, _x6, _x7, _x8) {
911
+ function prepareBundleForDebugIdUpload(_x2, _x3, _x4, _x5, _x6) {
879
912
  return _prepareBundleForDebugIdUpload.apply(this, arguments);
880
913
  }
881
914
 
@@ -886,64 +919,66 @@ function prepareBundleForDebugIdUpload(_x4, _x5, _x6, _x7, _x8) {
886
919
  * The string pattern is injected via the debug ID injection snipped.
887
920
  */
888
921
  function _prepareBundleForDebugIdUpload() {
889
- _prepareBundleForDebugIdUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(bundleFilePath, uploadFolder, chunkIndex, logger, rewriteSourcesHook) {
922
+ _prepareBundleForDebugIdUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(bundleFilePath, uploadFolder, chunkIndex, logger, rewriteSourcesHook) {
890
923
  var bundleContent, debugId, uniqueUploadName, writeSourceFilePromise, writeSourceMapFilePromise;
891
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
892
- while (1) switch (_context4.prev = _context4.next) {
924
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
925
+ while (1) switch (_context5.prev = _context5.next) {
893
926
  case 0:
894
- _context4.prev = 0;
895
- _context4.next = 3;
927
+ _context5.prev = 0;
928
+ _context5.next = 3;
896
929
  return promisify(fs__default.readFile)(bundleFilePath, "utf8");
897
930
  case 3:
898
- bundleContent = _context4.sent;
899
- _context4.next = 10;
931
+ bundleContent = _context5.sent;
932
+ _context5.next = 10;
900
933
  break;
901
934
  case 6:
902
- _context4.prev = 6;
903
- _context4.t0 = _context4["catch"](0);
904
- logger.error("Could not read bundle to determine debug ID and source map: ".concat(bundleFilePath), _context4.t0);
905
- return _context4.abrupt("return");
935
+ _context5.prev = 6;
936
+ _context5.t0 = _context5["catch"](0);
937
+ logger.error("Could not read bundle to determine debug ID and source map: ".concat(bundleFilePath), _context5.t0);
938
+ return _context5.abrupt("return");
906
939
  case 10:
907
940
  debugId = determineDebugIdFromBundleSource(bundleContent);
908
941
  if (!(debugId === undefined)) {
909
- _context4.next = 14;
942
+ _context5.next = 14;
910
943
  break;
911
944
  }
912
945
  logger.debug("Could not determine debug ID from bundle. This can happen if you did not clean your output folder before installing the Sentry plugin. File will not be source mapped: ".concat(bundleFilePath));
913
- return _context4.abrupt("return");
946
+ return _context5.abrupt("return");
914
947
  case 14:
915
948
  uniqueUploadName = "".concat(debugId, "-").concat(chunkIndex);
916
949
  bundleContent += "\n//# debugId=".concat(debugId);
917
950
  writeSourceFilePromise = fs__default.promises.writeFile(path__default.join(uploadFolder, "".concat(uniqueUploadName, ".js")), bundleContent, "utf-8");
918
951
  writeSourceMapFilePromise = determineSourceMapPathFromBundle(bundleFilePath, bundleContent, logger).then( /*#__PURE__*/function () {
919
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(sourceMapPath) {
920
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
921
- while (1) switch (_context3.prev = _context3.next) {
952
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(sourceMapPath) {
953
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
954
+ while (1) switch (_context4.prev = _context4.next) {
922
955
  case 0:
923
956
  if (!sourceMapPath) {
924
- _context3.next = 4;
957
+ _context4.next = 3;
925
958
  break;
926
959
  }
927
- _context3.next = 3;
960
+ _context4.next = 3;
928
961
  return prepareSourceMapForDebugIdUpload(sourceMapPath, path__default.join(uploadFolder, "".concat(uniqueUploadName, ".js.map")), debugId, rewriteSourcesHook, logger);
929
962
  case 3:
930
- return _context3.abrupt("return", _context3.sent);
931
- case 4:
932
963
  case "end":
933
- return _context3.stop();
964
+ return _context4.stop();
934
965
  }
935
- }, _callee3);
966
+ }, _callee4);
936
967
  }));
937
- return function (_x17) {
938
- return _ref5.apply(this, arguments);
968
+ return function (_x15) {
969
+ return _ref6.apply(this, arguments);
939
970
  };
940
971
  }());
941
- return _context4.abrupt("return", Promise.all([writeSourceFilePromise, writeSourceMapFilePromise]));
942
- case 19:
972
+ _context5.next = 20;
973
+ return writeSourceFilePromise;
974
+ case 20:
975
+ _context5.next = 22;
976
+ return writeSourceMapFilePromise;
977
+ case 22:
943
978
  case "end":
944
- return _context4.stop();
979
+ return _context5.stop();
945
980
  }
946
- }, _callee4, null, [[0, 6]]);
981
+ }, _callee5, null, [[0, 6]]);
947
982
  }));
948
983
  return _prepareBundleForDebugIdUpload.apply(this, arguments);
949
984
  }
@@ -961,22 +996,22 @@ function determineDebugIdFromBundleSource(code) {
961
996
  *
962
997
  * @returns the path to the bundle's source map or `undefined` if none could be found.
963
998
  */
964
- function determineSourceMapPathFromBundle(_x9, _x10, _x11) {
999
+ function determineSourceMapPathFromBundle(_x7, _x8, _x9) {
965
1000
  return _determineSourceMapPathFromBundle.apply(this, arguments);
966
1001
  }
967
1002
  /**
968
1003
  * Reads a source map, injects debug ID fields, and writes the source map to the target path.
969
1004
  */
970
1005
  function _determineSourceMapPathFromBundle() {
971
- _determineSourceMapPathFromBundle = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(bundlePath, bundleSource, logger) {
1006
+ _determineSourceMapPathFromBundle = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(bundlePath, bundleSource, logger) {
972
1007
  var sourceMappingUrlMatch, sourceMappingUrl, isUrl, isSupportedUrl, url, absoluteSourceMapPath, adjacentSourceMapFilePath;
973
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
974
- while (1) switch (_context5.prev = _context5.next) {
1008
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
1009
+ while (1) switch (_context6.prev = _context6.next) {
975
1010
  case 0:
976
1011
  // 1. try to find source map at `sourceMappingURL` location
977
1012
  sourceMappingUrlMatch = bundleSource.match(/^\s*\/\/# sourceMappingURL=(.*)$/m);
978
1013
  if (!sourceMappingUrlMatch) {
979
- _context5.next = 21;
1014
+ _context6.next = 21;
980
1015
  break;
981
1016
  }
982
1017
  sourceMappingUrl = path__default.normalize(sourceMappingUrlMatch[1]);
@@ -989,18 +1024,18 @@ function _determineSourceMapPathFromBundle() {
989
1024
  isSupportedUrl = false;
990
1025
  }
991
1026
  if (!isSupportedUrl) {
992
- _context5.next = 8;
1027
+ _context6.next = 8;
993
1028
  break;
994
1029
  }
995
1030
  absoluteSourceMapPath = sourceMappingUrl;
996
- _context5.next = 13;
1031
+ _context6.next = 13;
997
1032
  break;
998
1033
  case 8:
999
1034
  if (!isUrl) {
1000
- _context5.next = 12;
1035
+ _context6.next = 12;
1001
1036
  break;
1002
1037
  }
1003
- return _context5.abrupt("return");
1038
+ return _context6.abrupt("return");
1004
1039
  case 12:
1005
1040
  if (path__default.isAbsolute(sourceMappingUrl)) {
1006
1041
  absoluteSourceMapPath = sourceMappingUrl;
@@ -1008,96 +1043,96 @@ function _determineSourceMapPathFromBundle() {
1008
1043
  absoluteSourceMapPath = path__default.join(path__default.dirname(bundlePath), sourceMappingUrl);
1009
1044
  }
1010
1045
  case 13:
1011
- _context5.prev = 13;
1012
- _context5.next = 16;
1046
+ _context6.prev = 13;
1047
+ _context6.next = 16;
1013
1048
  return util.promisify(fs__default.access)(absoluteSourceMapPath);
1014
1049
  case 16:
1015
- return _context5.abrupt("return", absoluteSourceMapPath);
1050
+ return _context6.abrupt("return", absoluteSourceMapPath);
1016
1051
  case 19:
1017
- _context5.prev = 19;
1018
- _context5.t0 = _context5["catch"](13);
1052
+ _context6.prev = 19;
1053
+ _context6.t0 = _context6["catch"](13);
1019
1054
  case 21:
1020
- _context5.prev = 21;
1055
+ _context6.prev = 21;
1021
1056
  adjacentSourceMapFilePath = bundlePath + ".map";
1022
- _context5.next = 25;
1057
+ _context6.next = 25;
1023
1058
  return util.promisify(fs__default.access)(adjacentSourceMapFilePath);
1024
1059
  case 25:
1025
- return _context5.abrupt("return", adjacentSourceMapFilePath);
1060
+ return _context6.abrupt("return", adjacentSourceMapFilePath);
1026
1061
  case 28:
1027
- _context5.prev = 28;
1028
- _context5.t1 = _context5["catch"](21);
1062
+ _context6.prev = 28;
1063
+ _context6.t1 = _context6["catch"](21);
1029
1064
  case 30:
1030
1065
  // This is just a debug message because it can be quite spammy for some frameworks
1031
1066
  logger.debug("Could not determine source map path for bundle: ".concat(bundlePath, " - Did you turn on source map generation in your bundler?"));
1032
- return _context5.abrupt("return", undefined);
1067
+ return _context6.abrupt("return", undefined);
1033
1068
  case 32:
1034
1069
  case "end":
1035
- return _context5.stop();
1070
+ return _context6.stop();
1036
1071
  }
1037
- }, _callee5, null, [[13, 19], [21, 28]]);
1072
+ }, _callee6, null, [[13, 19], [21, 28]]);
1038
1073
  }));
1039
1074
  return _determineSourceMapPathFromBundle.apply(this, arguments);
1040
1075
  }
1041
- function prepareSourceMapForDebugIdUpload(_x12, _x13, _x14, _x15, _x16) {
1076
+ function prepareSourceMapForDebugIdUpload(_x10, _x11, _x12, _x13, _x14) {
1042
1077
  return _prepareSourceMapForDebugIdUpload.apply(this, arguments);
1043
1078
  }
1044
1079
  function _prepareSourceMapForDebugIdUpload() {
1045
- _prepareSourceMapForDebugIdUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sourceMapPath, targetPath, debugId, rewriteSourcesHook, logger) {
1080
+ _prepareSourceMapForDebugIdUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(sourceMapPath, targetPath, debugId, rewriteSourcesHook, logger) {
1046
1081
  var sourceMapFileContent, map;
1047
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
1048
- while (1) switch (_context6.prev = _context6.next) {
1082
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
1083
+ while (1) switch (_context7.prev = _context7.next) {
1049
1084
  case 0:
1050
- _context6.prev = 0;
1051
- _context6.next = 3;
1085
+ _context7.prev = 0;
1086
+ _context7.next = 3;
1052
1087
  return util.promisify(fs__default.readFile)(sourceMapPath, {
1053
1088
  encoding: "utf8"
1054
1089
  });
1055
1090
  case 3:
1056
- sourceMapFileContent = _context6.sent;
1057
- _context6.next = 10;
1091
+ sourceMapFileContent = _context7.sent;
1092
+ _context7.next = 10;
1058
1093
  break;
1059
1094
  case 6:
1060
- _context6.prev = 6;
1061
- _context6.t0 = _context6["catch"](0);
1062
- logger.error("Failed to read source map for debug ID upload: ".concat(sourceMapPath), _context6.t0);
1063
- return _context6.abrupt("return");
1095
+ _context7.prev = 6;
1096
+ _context7.t0 = _context7["catch"](0);
1097
+ logger.error("Failed to read source map for debug ID upload: ".concat(sourceMapPath), _context7.t0);
1098
+ return _context7.abrupt("return");
1064
1099
  case 10:
1065
- _context6.prev = 10;
1100
+ _context7.prev = 10;
1066
1101
  map = JSON.parse(sourceMapFileContent);
1067
1102
  // For now we write both fields until we know what will become the standard - if ever.
1068
1103
  map["debug_id"] = debugId;
1069
1104
  map["debugId"] = debugId;
1070
- _context6.next = 20;
1105
+ _context7.next = 20;
1071
1106
  break;
1072
1107
  case 16:
1073
- _context6.prev = 16;
1074
- _context6.t1 = _context6["catch"](10);
1108
+ _context7.prev = 16;
1109
+ _context7.t1 = _context7["catch"](10);
1075
1110
  logger.error("Failed to parse source map for debug ID upload: ".concat(sourceMapPath));
1076
- return _context6.abrupt("return");
1111
+ return _context7.abrupt("return");
1077
1112
  case 20:
1078
1113
  if (map["sources"] && Array.isArray(map["sources"])) {
1079
1114
  map["sources"].map(function (source) {
1080
1115
  return rewriteSourcesHook(source, map);
1081
1116
  });
1082
1117
  }
1083
- _context6.prev = 21;
1084
- _context6.next = 24;
1118
+ _context7.prev = 21;
1119
+ _context7.next = 24;
1085
1120
  return util.promisify(fs__default.writeFile)(targetPath, JSON.stringify(map), {
1086
1121
  encoding: "utf8"
1087
1122
  });
1088
1123
  case 24:
1089
- _context6.next = 30;
1124
+ _context7.next = 30;
1090
1125
  break;
1091
1126
  case 26:
1092
- _context6.prev = 26;
1093
- _context6.t2 = _context6["catch"](21);
1094
- logger.error("Failed to prepare source map for debug ID upload: ".concat(sourceMapPath), _context6.t2);
1095
- return _context6.abrupt("return");
1127
+ _context7.prev = 26;
1128
+ _context7.t2 = _context7["catch"](21);
1129
+ logger.error("Failed to prepare source map for debug ID upload: ".concat(sourceMapPath), _context7.t2);
1130
+ return _context7.abrupt("return");
1096
1131
  case 30:
1097
1132
  case "end":
1098
- return _context6.stop();
1133
+ return _context7.stop();
1099
1134
  }
1100
- }, _callee6, null, [[0, 6], [10, 16], [21, 26]]);
1135
+ }, _callee7, null, [[0, 6], [10, 16], [21, 26]]);
1101
1136
  }));
1102
1137
  return _prepareSourceMapForDebugIdUpload.apply(this, arguments);
1103
1138
  }
@@ -1298,7 +1333,7 @@ function createSentryInstance(options, shouldSendTelemetry, bundler) {
1298
1333
  dsn: "https://4c2bae7d9fbc413e8f7385f55c515d51@o1.ingest.sentry.io/6690737",
1299
1334
  tracesSampleRate: 1,
1300
1335
  sampleRate: 1,
1301
- release: "2.6.2",
1336
+ release: "2.7.0",
1302
1337
  integrations: [],
1303
1338
  tracePropagationTargets: ["sentry.io/api"],
1304
1339
  stackParser: defaultStackParser,
@@ -1530,7 +1565,7 @@ function sentryUnpluginFactory(_ref) {
1530
1565
  });
1531
1566
 
1532
1567
  // Set the User-Agent that Sentry CLI will use when interacting with Sentry
1533
- process.env["SENTRY_PIPELINE"] = "".concat(unpluginMetaContext.framework, "-plugin/", "2.6.2");
1568
+ process.env["SENTRY_PIPELINE"] = "".concat(unpluginMetaContext.framework, "-plugin/", "2.7.0");
1534
1569
  function handleRecoverableError(unknownError) {
1535
1570
  sentrySession.status = "abnormal";
1536
1571
  try {
@@ -1729,11 +1764,19 @@ function createRollupReleaseInjectionHooks(injectionCode) {
1729
1764
  ms.append("\n\n;import \"".concat(virtualReleaseInjectionFileId, "\";"));
1730
1765
  return {
1731
1766
  code: ms.toString(),
1732
- map: ms.generateMap()
1767
+ map: ms.generateMap({
1768
+ hires: true
1769
+ })
1733
1770
  };
1734
1771
  }
1735
1772
  };
1736
1773
  }
1774
+
1775
+ // We need to be careful not to inject the snippet before any `"use strict";`s.
1776
+ // As an additional complication `"use strict";`s may come after any number of comments.
1777
+ var COMMENT_USE_STRICT_REGEX =
1778
+ // Note: CodeQL complains that this regex potentially has n^2 runtime. This likely won't affect realistic files.
1779
+ /^(?:\s*|\/\*(?:.|\r|\n)*?\*\/|\/\/.*[\n\r])*(?:"[^"]*";|'[^']*';)?/;
1737
1780
  function createRollupDebugIdInjectionHooks() {
1738
1781
  return {
1739
1782
  renderChunk: function renderChunk(code, chunk) {
@@ -1747,13 +1790,7 @@ function createRollupDebugIdInjectionHooks() {
1747
1790
  var ms = new MagicString(code, {
1748
1791
  filename: chunk.fileName
1749
1792
  });
1750
-
1751
- // We need to be careful not to inject the snippet before any `"use strict";`s.
1752
- // As an additional complication `"use strict";`s may come after any number of comments.
1753
- var commentUseStrictRegex =
1754
- // Note: CodeQL complains that this regex potentially has n^2 runtime. This likely won't affect realistic files.
1755
- /^(?:\s*|\/\*(?:.|\r|\n)*?\*\/|\/\/.*[\n\r])*(?:"[^"]*";|'[^']*';)?/;
1756
- var match = (_code$match = code.match(commentUseStrictRegex)) === null || _code$match === void 0 ? void 0 : _code$match[0];
1793
+ var match = (_code$match = code.match(COMMENT_USE_STRICT_REGEX)) === null || _code$match === void 0 ? void 0 : _code$match[0];
1757
1794
  if (match) {
1758
1795
  // Add injected code after any comments or "use strict" at the beginning of the bundle.
1759
1796
  ms.appendLeft(match.length, codeToInject);
@@ -1766,7 +1803,43 @@ function createRollupDebugIdInjectionHooks() {
1766
1803
  return {
1767
1804
  code: ms.toString(),
1768
1805
  map: ms.generateMap({
1769
- file: chunk.fileName
1806
+ file: chunk.fileName,
1807
+ hires: true
1808
+ })
1809
+ };
1810
+ } else {
1811
+ return null; // returning null means not modifying the chunk at all
1812
+ }
1813
+ }
1814
+ };
1815
+ }
1816
+
1817
+ function createRollupModuleMetadataInjectionHooks(injectionCode) {
1818
+ return {
1819
+ renderChunk: function renderChunk(code, chunk) {
1820
+ if ([".js", ".mjs", ".cjs"].some(function (ending) {
1821
+ return chunk.fileName.endsWith(ending);
1822
+ }) // chunks could be any file (html, md, ...)
1823
+ ) {
1824
+ var _code$match2;
1825
+ var ms = new MagicString(code, {
1826
+ filename: chunk.fileName
1827
+ });
1828
+ var match = (_code$match2 = code.match(COMMENT_USE_STRICT_REGEX)) === null || _code$match2 === void 0 ? void 0 : _code$match2[0];
1829
+ if (match) {
1830
+ // Add injected code after any comments or "use strict" at the beginning of the bundle.
1831
+ ms.appendLeft(match.length, injectionCode);
1832
+ } else {
1833
+ // ms.replace() doesn't work when there is an empty string match (which happens if
1834
+ // there is neither, a comment, nor a "use strict" at the top of the chunk) so we
1835
+ // need this special case here.
1836
+ ms.prepend(injectionCode);
1837
+ }
1838
+ return {
1839
+ code: ms.toString(),
1840
+ map: ms.generateMap({
1841
+ file: chunk.fileName,
1842
+ hires: true
1770
1843
  })
1771
1844
  };
1772
1845
  } else {
@@ -1831,5 +1904,5 @@ function getDebugIdSnippet(debugId) {
1831
1904
  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){}}();");
1832
1905
  }
1833
1906
 
1834
- export { createRollupDebugIdInjectionHooks, createRollupDebugIdUploadHooks, createRollupReleaseInjectionHooks, getBuildInformation, getDebugIdSnippet, sentryCliBinaryExists, sentryUnpluginFactory, stringToUUID };
1907
+ export { createRollupDebugIdInjectionHooks, createRollupDebugIdUploadHooks, createRollupModuleMetadataInjectionHooks, createRollupReleaseInjectionHooks, getBuildInformation, getDebugIdSnippet, sentryCliBinaryExists, sentryUnpluginFactory, stringToUUID };
1835
1908
  //# sourceMappingURL=index.mjs.map