]>
git.immae.eu Git - github/fretlink/purs-loader.git/blob - lib/source-maps.js
3 var Promise
= require('bluebird');
5 var fs
= require('fs');
7 var path
= require('path');
9 var debug_
= require('debug');
11 var debugVerbose
= debug_('purs-loader:verbose');
13 module
.exports
= function sourceMap(psModule
, js
) {
14 var options
= psModule
.options
;
16 var jsPath
= psModule
.jsPath
;
18 var srcPath
= psModule
.srcPath
;
20 var source
= psModule
.source
;
22 var remainingRequest
= psModule
.remainingRequest
;
24 var sourceMapPath
= path
.join(path
.dirname(jsPath
), 'index.js.map');
26 var isSourceMapsEnabled
= options
.pscArgs
&& options
.pscArgs
.sourceMaps
;
28 return new Promise(function (resolve
, reject
) {
29 if (!isSourceMapsEnabled
) {
35 debugVerbose('loading source map %s', sourceMapPath
);
37 fs
.readFile(sourceMapPath
, 'utf-8', function (error
, result
) {
42 var map
= Object
.assign(JSON
.parse(result
), {
43 sources: [remainingRequest
],
44 file: path
.normalize(srcPath
),
45 sourcesContent: [source
]
48 var jsRemovedMapUrl
= js
.replace(/^\/\/# sourceMappingURL
=[^\r\n]*/gm
, '');