Simple function that looks for url(...) definitions in a string of CSS and runs them through your own rewriter function.
Install the module with: npm install css-url-rewriter
var rewriteCSSURLs = require('css-url-rewriter');
// example - add a query string to all URLs
var newCSS = rewriteCSSURLs(someCSS, function (url) {
return url + '?12345';
});It will process all URLs it encounters by default, even data: URIs, so you need to check for those manually if you want to handle them differently. The only exception is URLs in 'excluded properties' (see settings).
You can optionally pass in a settings object as a second argument:
var newCSS = rewriteCSSURLs(someCSS, settings, function (url) {
return url + '?12345';
});Currently there is only one configurable setting, excludedProperties, which is an array of properties that you want to skip. This setting defaults to ['behavior', '*behavior'] (because you usually don't want to mess with URLs in this proprietary MSIE property, because it has weird relativity rules).
Copyright (c) 2014 Callum Locke. Licensed under the MIT license.