Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
gulp-transform
Advanced tools
Gulp plugin for applying arbitrary transformations to the contents of files.
Install via npm:
npm install --save-dev gulp-transform
Source file:
I am constant as the northern star.
Transform task:
const gulp = require('gulp');
const transform = require('gulp-transform');
gulp.task('quadruple', function() {
return gulp.src('src/*.txt')
.pipe(transform(contents => Array(4).fill(contents).join('\n')))
.pipe(gulp.dest('dest'));
});
Destination file:
I am constant as the northern star.
I am constant as the northern star.
I am constant as the northern star.
I am constant as the northern star.
We can pair gulp-transform with vanilla node packages to reduce our dependence
on gulp-specific plugins. In this example, we use gulp-transform with
cheerio to add a role="main"
attribute to all <main>
elements, thus ensuring accessibility in older versions of Internet Explorer.
const gulp = require('gulp');
const transform = require('gulp-transform');
const cheerio = require('cheerio');
function transformFn(contents) {
var $ = cheerio.load(contents);
$('main').attr('role', 'main');
return $.html();
}
gulp.task('cheerio', function() {
return gulp.src('src/**/*.html')
.pipe(transform(transformFn, {encoding: 'utf8'}))
.pipe(gulp.dest('dest'));
});
transform(transformFn, [options])
function
The callback responsible for the transformation. The return value must be a string or a Buffer, which will replace the file's contents. The callback is invoked once per file with the following arguments:
contents Buffer
| string
The initial contents of the file. Contents are passed as a Buffer unless the
encoding
option is set, in which case they are passed as a string.
Contents are normalized to ensure a consistent API regardless of whether
files are in streaming or buffer mode.
file File
The Vinyl file object to which the contents belong. Useful for
getting metadata about the file, such as its path. Making changes to
file.contents
is not recommended, however, as these contents are not
normalized and will in any case be replaced by the return value of the callback.
object
(optional)An object for configuring the behavior of the plugin. The following keys are accepted as options:
encoding string
Casts contents to a string with the specified
encoding before it is passed to transformFn. If no encoding is
specified, contents will be passed as a Buffer.
thisArg *
Determines the value of this
within transformFn. If omitted,
this
will be undefined.
Copyright © 2016 Akim McMath. Licensed under the MIT License.
FAQs
A Gulp plugin for applying custom transformations to the contents of files
The npm package gulp-transform receives a total of 2,470 weekly downloads. As such, gulp-transform popularity was classified as popular.
We found that gulp-transform 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
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.