@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.
- package/dist/cjs/index.js +213 -139
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.mjs +213 -140
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/debug-id-upload.d.ts +1 -1
- package/dist/types/debug-id-upload.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +0 -3
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/esm/index.mjs
CHANGED
|
@@ -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
|
|
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
|
|
689
|
-
while (1) switch (
|
|
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
|
-
|
|
694
|
+
_context3.prev = 1;
|
|
695
695
|
mkdtempSpan = artifactBundleUploadTransaction.startChild({
|
|
696
696
|
description: "mkdtemp"
|
|
697
697
|
});
|
|
698
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
732
|
+
_context3.next = 47;
|
|
733
733
|
break;
|
|
734
734
|
case 20:
|
|
735
735
|
if (!(debugIdChunkFilePaths.length === 0)) {
|
|
736
|
-
|
|
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
|
-
|
|
740
|
+
_context3.next = 47;
|
|
741
741
|
break;
|
|
742
742
|
case 24:
|
|
743
743
|
prepareSpan = artifactBundleUploadTransaction.startChild({
|
|
744
744
|
description: "prepare-bundles"
|
|
745
|
-
});
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
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
|
-
|
|
761
|
-
|
|
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
|
-
|
|
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
|
-
|
|
799
|
+
_context3.next = 34;
|
|
767
800
|
return fs__default.promises.readdir(tmpUploadFolder);
|
|
768
|
-
case
|
|
769
|
-
files =
|
|
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
|
-
|
|
806
|
+
_context3.next = 38;
|
|
774
807
|
return Promise.all(stats);
|
|
775
|
-
case
|
|
776
|
-
uploadSize =
|
|
777
|
-
var 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
|
-
|
|
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
|
|
836
|
+
case 45:
|
|
804
837
|
uploadSpan.finish();
|
|
805
838
|
logger.info("Successfully uploaded source maps to Sentry");
|
|
806
|
-
case
|
|
839
|
+
case 47:
|
|
807
840
|
if (!filesToDeleteAfterUpload) {
|
|
808
|
-
|
|
841
|
+
_context3.next = 58;
|
|
809
842
|
break;
|
|
810
843
|
}
|
|
811
844
|
deleteGlobSpan = artifactBundleUploadTransaction.startChild({
|
|
812
845
|
description: "delete-glob"
|
|
813
846
|
});
|
|
814
|
-
|
|
847
|
+
_context3.next = 51;
|
|
815
848
|
return glob(filesToDeleteAfterUpload, {
|
|
816
849
|
absolute: true,
|
|
817
850
|
nodir: true
|
|
818
851
|
});
|
|
819
|
-
case
|
|
820
|
-
filePathsToDelete =
|
|
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
|
-
|
|
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
|
|
870
|
+
case 57:
|
|
838
871
|
deleteSpan.finish();
|
|
839
|
-
case
|
|
840
|
-
|
|
872
|
+
case 58:
|
|
873
|
+
_context3.next = 64;
|
|
841
874
|
break;
|
|
842
|
-
case
|
|
843
|
-
|
|
844
|
-
|
|
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(
|
|
850
|
-
case
|
|
851
|
-
|
|
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
|
-
|
|
896
|
+
_context3.next = 69;
|
|
864
897
|
return sentryClient.flush();
|
|
865
|
-
case
|
|
866
|
-
return
|
|
867
|
-
case
|
|
898
|
+
case 69:
|
|
899
|
+
return _context3.finish(64);
|
|
900
|
+
case 70:
|
|
868
901
|
case "end":
|
|
869
|
-
return
|
|
902
|
+
return _context3.stop();
|
|
870
903
|
}
|
|
871
|
-
},
|
|
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(
|
|
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
|
|
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
|
|
892
|
-
while (1) switch (
|
|
924
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
925
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
893
926
|
case 0:
|
|
894
|
-
|
|
895
|
-
|
|
927
|
+
_context5.prev = 0;
|
|
928
|
+
_context5.next = 3;
|
|
896
929
|
return promisify(fs__default.readFile)(bundleFilePath, "utf8");
|
|
897
930
|
case 3:
|
|
898
|
-
bundleContent =
|
|
899
|
-
|
|
931
|
+
bundleContent = _context5.sent;
|
|
932
|
+
_context5.next = 10;
|
|
900
933
|
break;
|
|
901
934
|
case 6:
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
logger.error("Could not read bundle to determine debug ID and source map: ".concat(bundleFilePath),
|
|
905
|
-
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
|
-
|
|
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
|
|
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
|
|
920
|
-
return _regeneratorRuntime().wrap(function
|
|
921
|
-
while (1) switch (
|
|
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
|
-
|
|
957
|
+
_context4.next = 3;
|
|
925
958
|
break;
|
|
926
959
|
}
|
|
927
|
-
|
|
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
|
|
964
|
+
return _context4.stop();
|
|
934
965
|
}
|
|
935
|
-
},
|
|
966
|
+
}, _callee4);
|
|
936
967
|
}));
|
|
937
|
-
return function (
|
|
938
|
-
return
|
|
968
|
+
return function (_x15) {
|
|
969
|
+
return _ref6.apply(this, arguments);
|
|
939
970
|
};
|
|
940
971
|
}());
|
|
941
|
-
|
|
942
|
-
|
|
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
|
|
979
|
+
return _context5.stop();
|
|
945
980
|
}
|
|
946
|
-
},
|
|
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(
|
|
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
|
|
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
|
|
974
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
-
|
|
1027
|
+
_context6.next = 8;
|
|
993
1028
|
break;
|
|
994
1029
|
}
|
|
995
1030
|
absoluteSourceMapPath = sourceMappingUrl;
|
|
996
|
-
|
|
1031
|
+
_context6.next = 13;
|
|
997
1032
|
break;
|
|
998
1033
|
case 8:
|
|
999
1034
|
if (!isUrl) {
|
|
1000
|
-
|
|
1035
|
+
_context6.next = 12;
|
|
1001
1036
|
break;
|
|
1002
1037
|
}
|
|
1003
|
-
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
|
-
|
|
1012
|
-
|
|
1046
|
+
_context6.prev = 13;
|
|
1047
|
+
_context6.next = 16;
|
|
1013
1048
|
return util.promisify(fs__default.access)(absoluteSourceMapPath);
|
|
1014
1049
|
case 16:
|
|
1015
|
-
return
|
|
1050
|
+
return _context6.abrupt("return", absoluteSourceMapPath);
|
|
1016
1051
|
case 19:
|
|
1017
|
-
|
|
1018
|
-
|
|
1052
|
+
_context6.prev = 19;
|
|
1053
|
+
_context6.t0 = _context6["catch"](13);
|
|
1019
1054
|
case 21:
|
|
1020
|
-
|
|
1055
|
+
_context6.prev = 21;
|
|
1021
1056
|
adjacentSourceMapFilePath = bundlePath + ".map";
|
|
1022
|
-
|
|
1057
|
+
_context6.next = 25;
|
|
1023
1058
|
return util.promisify(fs__default.access)(adjacentSourceMapFilePath);
|
|
1024
1059
|
case 25:
|
|
1025
|
-
return
|
|
1060
|
+
return _context6.abrupt("return", adjacentSourceMapFilePath);
|
|
1026
1061
|
case 28:
|
|
1027
|
-
|
|
1028
|
-
|
|
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
|
|
1067
|
+
return _context6.abrupt("return", undefined);
|
|
1033
1068
|
case 32:
|
|
1034
1069
|
case "end":
|
|
1035
|
-
return
|
|
1070
|
+
return _context6.stop();
|
|
1036
1071
|
}
|
|
1037
|
-
},
|
|
1072
|
+
}, _callee6, null, [[13, 19], [21, 28]]);
|
|
1038
1073
|
}));
|
|
1039
1074
|
return _determineSourceMapPathFromBundle.apply(this, arguments);
|
|
1040
1075
|
}
|
|
1041
|
-
function prepareSourceMapForDebugIdUpload(
|
|
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
|
|
1080
|
+
_prepareSourceMapForDebugIdUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(sourceMapPath, targetPath, debugId, rewriteSourcesHook, logger) {
|
|
1046
1081
|
var sourceMapFileContent, map;
|
|
1047
|
-
return _regeneratorRuntime().wrap(function
|
|
1048
|
-
while (1) switch (
|
|
1082
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1083
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1049
1084
|
case 0:
|
|
1050
|
-
|
|
1051
|
-
|
|
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 =
|
|
1057
|
-
|
|
1091
|
+
sourceMapFileContent = _context7.sent;
|
|
1092
|
+
_context7.next = 10;
|
|
1058
1093
|
break;
|
|
1059
1094
|
case 6:
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
logger.error("Failed to read source map for debug ID upload: ".concat(sourceMapPath),
|
|
1063
|
-
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
|
-
|
|
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
|
-
|
|
1105
|
+
_context7.next = 20;
|
|
1071
1106
|
break;
|
|
1072
1107
|
case 16:
|
|
1073
|
-
|
|
1074
|
-
|
|
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
|
|
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
|
-
|
|
1084
|
-
|
|
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
|
-
|
|
1124
|
+
_context7.next = 30;
|
|
1090
1125
|
break;
|
|
1091
1126
|
case 26:
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
logger.error("Failed to prepare source map for debug ID upload: ".concat(sourceMapPath),
|
|
1095
|
-
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
|
|
1133
|
+
return _context7.stop();
|
|
1099
1134
|
}
|
|
1100
|
-
},
|
|
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.
|
|
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.
|
|
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
|