44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
const removeSourceMappingUrl = require('./removeSourceMappingUrl');
|
|
|
|
const formatLessError = require('./formatLessError');
|
|
/**
|
|
* Removes the sourceMappingURL from the generated CSS, parses the source map and calls the next loader.
|
|
*
|
|
* @param {loaderContext} loaderContext
|
|
* @param {Promise<LessResult>} resultPromise
|
|
*/
|
|
|
|
|
|
function processResult(loaderContext, resultPromise) {
|
|
const {
|
|
callback
|
|
} = loaderContext;
|
|
resultPromise.then(({
|
|
css,
|
|
map,
|
|
imports
|
|
}) => {
|
|
imports.forEach(loaderContext.addDependency, loaderContext);
|
|
return {
|
|
// Removing the sourceMappingURL comment.
|
|
// See removeSourceMappingUrl.js for the reasoning behind this.
|
|
css: removeSourceMappingUrl(css),
|
|
map: typeof map === 'string' ? JSON.parse(map) : map
|
|
};
|
|
}, lessError => {
|
|
if (lessError.filename) {
|
|
loaderContext.addDependency(lessError.filename);
|
|
}
|
|
|
|
throw formatLessError(lessError);
|
|
}).then(({
|
|
css,
|
|
map
|
|
}) => {
|
|
callback(null, css, map);
|
|
}, callback);
|
|
}
|
|
|
|
module.exports = processResult; |