Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
grunt-file-creator
Advanced tools
Creates/writes to files from Javascript functions in the grunt config (useful for config files, etc).
A grunt task that creates/writes to files from Javascript functions in the grunt config (useful for config files, etc).
####Grunt ~0.4 Required
If you haven't used grunt before, be sure to check out the Getting Started guide.
From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:
npm install grunt-file-creator --save-dev
Once that's done, add this line to your project's Gruntfile:
grunt.loadNpmTasks('grunt-file-creator');
If the plugin has been installed correctly, running grunt --help
at the command line should list the newly-installed plugin's task or tasks. In addition, the plugin should be listed in package.json as a devDependency
, which ensures that it will be installed whenever the npm install
command is run.
This task is a multi task so any targets, files and options should be specified according to the multi task documentation.
Type: String
Default: 'w'
The flags passed to the open file method.
See the node.js fs docs for more info
In this example, running grunt file-creator:basic
(or grunt file-creator
because file-creator
is a multi task) will write a simple string to the file basic.txt under the folder dist.
// Project configuration.
grunt.initConfig({
"file-creator": {
"basic": {
"dist/basic.txt": function(fs, fd, done) {
fs.writeSync(fd, 'some basic text');
done();
}
}
}
});
In this example, running grunt file-creator:folder
(or grunt file-creator
because file-creator
is a multi task) will write the filtered contents of a folder to the file folder.txt under the folder dist.
The filtering is performed using the glob included with grunt (node-glob).
The glob operation is asynchronous. The target iteration performed by file-creator will wait until the done() method is called before moving on to the next target.
// Project configuration.
grunt.initConfig({
"file-creator": {
options: {
openFlags: 'w'
},
"folder": {
"dist/folder.txt": function(fs, fd, done) {
var glob = grunt.file.glob;
var _ = grunt.util._;
glob('test/fixtures/sample/**/*.js', function (err, files) {
var widgets = [];
_.each(files, function(file) {
widgets.push(file);
});
fs.writeSync(fd, '// this file is auto-generated. DO NOT MODIFY\n');
_.each(widgets, function(file, i) {
fs.writeSync(fd, file + ':' + i + '\n');
});
done();
});
}
}
}
}
});
For more information, see the grunt documentation on templates (http://gruntjs.com/api/grunt.template).
grunt.initConfig({
conditional: {
file: 'conditional.txt'
},
"file-creator": {
"conditional": {
files: [
{
file: "tmp/" + '<%= conditional.file %>',
method: function(fs, fd, done) {
fs.writeSync(fd, 'filenames can be set using grunt templates');
done();
}
}
]
}
}
});
For more information, see the grunt documentation on options (http://gruntjs.com/api/grunt.option).
Using this command line, the file can be set conditionally using options.
grunt file-creator --option-name=myfile.txt
grunt.initConfig({
"option": {
files: [
{
file: "tmp/" + (grunt.option('option-name') || 'option.txt'),
method: function(fs, fd, done) {
fs.writeSync(fd, 'filenames can be set as grunt options (passed on the command line)');
done();
}
}
]
}
}
});
For fully-working examples, see the test folder.
FAQs
Creates/writes to files from Javascript functions in the grunt config (useful for config files, etc).
The npm package grunt-file-creator receives a total of 949 weekly downloads. As such, grunt-file-creator popularity was classified as not popular.
We found that grunt-file-creator 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
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.