css - cssmin grunt plugin generates incorrect source urls in sourcemap -


cssmin grunt plugin grunt-contrib-cssmin trims leading slash in css sourcemap sources url, making css mapping incorrect. meanwhile after editing sourcemap file hand (adding leading slash each source url) seems mapped correctly. original sourcemap file taken annotation in original css (unminified), generated correctly other grunt plugins.

my file structure:

web (resource root) ├─css │ └─..(css files) └─less   └─..(less files) 

sourcemap of original (unminified) css – sources urls correct. generated grunt-contrib-less , grunt-autoprefixer respectively:

{"version":3,"sources":["/less/base/normalize.less","/less/base/boilerplate.less"... 

sourcemap of minified css – leading slashes source files disappeared. generated grunt-contrib-cssmin:

{"version":3,"sources":["less/base/normalize.less","less/base/boilerplate.less"... 

part of gruntfile.js:

module.exports = function(grunt) {    grunt.initconfig({     cssmin: {       options: {         shorthandcompacting: false,         sourcemap: true,         roundingprecision: -1       },       target: {         files: {           'web/css/style.min.css': 'web/css/style.css'         }       }     }   }); }; 

by solved problem grunt-string-replace plugin. configured gruntfile.js adds leading slashes source files in sourcemap:

module.exports = function(grunt) {    grunt.initconfig({     'string-replace': {       dist: {         files: {           'web/css/style.min.css.map': 'web/css/style.min.css.map'         },         options: {           replacements: [{             pattern: /"([^"])*(less\/)/g,             replacement: '"/less/'           }]         }       }     }      // other code    }); }; 

well, it's hack, because requires additional grunt plugin. solved problem.


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -