
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
gulp-css-useref
Advanced tools
Parse CSS files to add assets referenced by
url()
s to the gulp file stream, and optionally transform their path.
Install with npm
npm install --save-dev gulp-css-useref
The following example will parse the CSS and pass the files referenced by url()
s through.
var gulp = require('gulp'),
cssUseref = require('gulp-css-useref');
gulp.task('default', function () {
return gulp.src('app/*.css')
.pipe(cssUseref())
.pipe(gulp.dest('dist'));
});
With options:
var gulp = require('gulp'),
cssUseref = require('gulp-css-useref');
gulp.task('default', function () {
return gulp.src('app/*.css')
.pipe(cssUseref({ base: 'assets' }))
.pipe(gulp.dest('dist'));
});
Returns a stream with the assets referenced by url()
s in any CSS files added.
match
Type: string
Default: undefined
Optional micromatch style glob used to limit which assets are processed. If the path specified in url()
doesn't match this glob, it won't be processed.
base
Type: string
Default: ''
Optional base path where the plugin will copy images, fonts, and other assets it finds in CSS url()
declarations. Only url()
declarations with relative paths are processed. Each asset's sub-directory hierarchy will be maintained under the base path. Basically, sub-directories after the last ../
in the path will be kept (or the whole path if no ../
exists). For example, if the plugin is called with { base: 'dist' }
, the image referred to by url("../../images/icons/icon.jpg")
will be copied to dist/images/icons/icon.jpg
.
By using a single base
path, a build pipeline can output several built CSS files while organizing all their assets under one directory (e.g. under dist/
in dist/images/
, dist/fonts/
, etc.).
If base
is not specified, assets will be copied by default to the same directory relative to gulp.dest
as the source asset from gulp.src
, maintaining the assets' sub-directory hierarchy. For example, if gulp is told to output to dist
and base
is not specified, the image referred to from app/css/index.css
by url("../../images/icons/icon.jpg")
(which resolves to images/icons/icon.jpg
) will be copied to dist/images/icons/icon.jpg
.
pathTransform
Type: function
Default: undefined
Optional function that returns a transformed filesystem path to an asset file. Useful for adding revision hashes to filenames for cachebusting (e.g. image-a7f234e8d4.jpg
), or handling special cases. The function is expected to be of the form given below:
/**
* Transforms the paths to which asset files will be copied
*
* @param {string} newAssetFile - Relative path to which asset would be copied by default
* @param {string} cssFilePathRel - Relative path to the CSS file that referenced the asset
* @param {string} urlMatch - The contents of the url() in the CSS file
* @param {object} options - The options hash passed into gulp-css-useref
* @returns {string} - Transformed Relative path to which asset will be copied
*/
pathTransform: function(newAssetFile, cssFilePathRel, urlMatch, options) {
// ... transform newAssetFile ...
return newAssetFile;
}
gulp-css-useref
reuses code and ideas from
MIT
FAQs
Gulp plugin to parse CSS and add referenced fonts to the stream
The npm package gulp-css-useref receives a total of 51 weekly downloads. As such, gulp-css-useref popularity was classified as not popular.
We found that gulp-css-useref demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.