
Product
Introducing Supply Chain Attack Campaigns Tracking in the Socket Dashboard
Campaign-level threat intelligence in Socket now shows when active supply chain attacks affect your repositories and packages.
gulp-data-contents
Advanced tools
Gulp plugin that replaces the contents of a file with the contents of another file using the filepath specified on the 'contents' property in front-matter. Customizable, useful for generating scaffolding or defining placeholder files.
Gulp plugin that replaces the contents of a file with the contents of another file using the filepath specified on the 'contents' property in front-matter. Customizable, useful for generating scaffolding or defining placeholder files.
Install with npm:
$ npm install --save gulp-data-contents
Given you have a file with the following front-matter:
---
contents: scaffold.txt
---
This plugin will replace the contents of the file with the contents from scaffold.txt.
var gulp = require('gulp');
var contents = require('gulp-data-contents');
gulp.task('contents', function() {
return gulp.src('example.txt')
.pipe(contents())
.pipe(gulp.dest('dist'));
});
Customize the file property to use. By default, file.data.contents is used.
Type:: string
Default:: data.contents
Example
contents({prop: 'data.value'})
Which would be used like this:
---
value: scaffold.txt
---
Note that gray-matter (the front-matter parser used by assemble, metalsmith, the electron website and many others, uses the file.data property for front-matter. Other libraries might use a different property).
Customize current working directory to use for filepath specified in front-matter. If not specified, file.base is used as the cwd.
Type:: string
Default:: undefined
Example
contents({cwd: 'templates'})
Custom function for resolving file.contents from the path defined in front-matter.
Type:: function
Default: Uses fs.readFileSync()
Example
contents({
resolve: function(file, options, next) {
var fp = path.join('some/path', file.data.contents);
file.contents = fs.readFileSync(fp);
next(null, file);
}
})
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on August 07, 2017.
FAQs
Gulp plugin that replaces the contents of a file with the contents of another file using the filepath specified on the 'contents' property in front-matter. Customizable, useful for generating scaffolding or defining placeholder files.
We found that gulp-data-contents 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.

Product
Campaign-level threat intelligence in Socket now shows when active supply chain attacks affect your repositories and packages.

Research
Malicious PyPI package sympy-dev targets SymPy users, a Python symbolic math library with 85 million monthly downloads.

Security News
Node.js 25.4.0 makes require(esm) stable, formalizing CommonJS and ESM compatibility across supported Node versions.