From 97621d724cc7c892d9dee2cff6b27553326c8169 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Mon, 16 Nov 2020 14:03:14 -0800 Subject: [PATCH] add sourcemap normalization to fetch loader (#2277) --- src/features/fetch-load.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/features/fetch-load.js b/src/features/fetch-load.js index 31fac4ac0..cf023b7d8 100644 --- a/src/features/fetch-load.js +++ b/src/features/fetch-load.js @@ -1,4 +1,5 @@ import { errMsg } from '../err-msg.js'; +import { resolveUrl } from '../common.js'; import { importMap } from '../features/import-maps.js'; import { systemJSPrototype } from '../system-core.js'; @@ -28,6 +29,13 @@ systemJSPrototype.instantiate = function (url, parent) { if (!contentType || !jsContentTypeRegEx.test(contentType)) throw Error(errMsg(4, process.env.SYSTEM_PRODUCTION ? contentType : 'Unknown Content-Type "' + contentType + '", loading ' + url + (parent ? ' from ' + parent : ''))); return res.text().then(function (source) { + var sourceMappingIndex = source.lastIndexOf('//# sourceMappingURL='); + if (sourceMappingIndex > -1) { + var sourceMappingEnd = source.indexOf('\n', sourceMappingIndex); + var sourceMapping = source.slice(sourceMappingIndex, sourceMappingEnd > -1 ? sourceMappingEnd : undefined); + source += '\n//# sourceMappingURL=' + resolveUrl(sourceMapping.slice(21), url); + } + source += '\n//# sourceURL=' + url; (0, eval)(source); return loader.getRegister(); });