From f7ba1c56e2b7857c4b865d03fec83a13de8c0917 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 3 Oct 2019 16:28:29 +0300 Subject: [PATCH] Source-map-loader resolves relative paths into absolute even - Now event sources with content in source map should be resolved with absolute path --- .../kotlin-source-map-loader.js | 12 +++++++++++- .../tools/kotlin-source-map-loader/package.json | 5 +---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-source-map-loader/kotlin-source-map-loader.js b/libraries/tools/kotlin-source-map-loader/kotlin-source-map-loader.js index 587b939c383..7d392c18f62 100644 --- a/libraries/tools/kotlin-source-map-loader/kotlin-source-map-loader.js +++ b/libraries/tools/kotlin-source-map-loader/kotlin-source-map-loader.js @@ -7,6 +7,8 @@ var path = require("path"); var async = require("async"); var loaderUtils = require("loader-utils"); +var separatorRegex = /[/\\]/; + // Matches only the last occurrence of sourceMappingURL var baseRegex = "\\s*[@#]\\s*sourceMappingURL\\s*=\\s*([^\\s]*)(?![\\S\\s]*sourceMappingURL)", // Matches /* ... */ comments @@ -96,6 +98,12 @@ module.exports = function (input, inputMap) { if (!sourceContent) { sourcesWithoutContent.push({source: map.sources[i], index: i}) } + else { + var source = map.sources[i]; + if (separatorRegex.test(source) && !path.isAbsolute(source)) { + map.sources[i] = path.resolve(context, source); + } + } }); if (sourcesWithoutContent.length == 0) { @@ -111,7 +119,9 @@ module.exports = function (input, inputMap) { delete map.sourceRoot; resolve(context, loaderUtils.urlToRequest(source, true), function (err, result) { if (err) { - emitWarning("Cannot find source file '" + source + "': " + err); + // TODO(ilgonmic): Not all JS files have sources content, and we don't extract sources from jar, + // so there is no content for these files + // emitWarning("Cannot find source file '" + source + "': " + err); return callback(null, null); } addDependency(result); diff --git a/libraries/tools/kotlin-source-map-loader/package.json b/libraries/tools/kotlin-source-map-loader/package.json index 2d04695655a..b68a5de36d9 100644 --- a/libraries/tools/kotlin-source-map-loader/package.json +++ b/libraries/tools/kotlin-source-map-loader/package.json @@ -2,10 +2,7 @@ "name": "@kotlin/source-map-loader", "version": "0.0.1", "description": "Modern source-map-loader with additional features", - "main": "lib/kotlin-source-map-loader.js", - "files": [ - "lib/**/*" - ], + "main": "kotlin-source-map-loader.js", "scripts": { "build": "cpx \"kotlin-source-map-loader.js\" lib", "test": "mocha -R spec"