css-url-embed
Embed URLs as base64 data inside your CSS stylesheets
css-url-embed replaces URls that refer to local files with the base64 encoded
contents of the corresponding files. This allows you to generate a CSS file
that can be used by itself, without any separate font or image assets.
Usage
import cssUrlEmbed from 'css-url-embed';
function getMimeType(filePath) {
return 'image/png';
}
cssUrlEmbed.processFile(srcPath, destPath, getMimeType);
Excluding URLs manually
If you have local file URLs that shouldn't be processed by css-url-embed, you
can annotate them with a noembed directive:
.exclude-me {
background-image: url('exclude_me.png');
}
.exclude-me-more-complex {
background-image: url('exclude_me.png') 1x, url('include_me.png') 2x;
}
Stability
This is alpha software. Future releases are likely to include breaking changes.
Limitations
Remote URLs (e.g. http://...) are not supported. Any remote URLs in the source
CSS will be passed through unmodified.
License
MIT. See LICENSE.txt for details.
Acknowledgements
css-url-embed is based on Mihhail Lapushkin's grunt-css-url-embed,
which was used to build jasmine-core's CSS for six years. I decoupled it from
Grunt, removed dependencies, and removed a number of features that I wasn't
using.