A gulp plugin to transform JSON files, pipe JSON files through it and transform them to other JSON files or other text based formats.
First install gulp-json-transform
as a development dependency:
npm install gulp-json-transform --save-dev
Then, add it to your gulpfile.js:
var jsonTransform = require('gulp-json-transform');
Then create a task that uses it:
gulp.task('do-something', function() {
gulp.src('./app/**/*.json')
.pipe(jsonTransform(function(data, file) {
return {
foobar: data.foo + file.relative
};
}))
.pipe(gulp.dest('./dist/out/'));
});
Type: function
A function that takes the JSON object and a file object (parameters path, base and relative are exposed) as the input parameters and should return either a string which is written raw to the file, a JSON object which is stringified or a Promise which resolves to a string or a JSON object.
Example structure of the file object:
{
path: 'test/fixtures/input.json',
relative: 'input.json',
base: 'test/fixtures'
}
Type: String
or Number
Default: undefined
JSON.stringify's whitespace attribute for pretty-printing the resulting JSON. See MDN docs on JSON.stringify() for more information.