Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Gruntfile Editor

npm tests Coverage Status dependencies

An API to modify a Gruntfile.js content

Installation

npm install --save gruntfile-editor

Example

var GruntfileEditor = require('gruntfile-editor');
var editor = new GruntfileEditor();

editor.insertConfig('compass', '{ foo: "bar" }');

fs.writeFileSync('Gruntfile.js', editor.toString());

API

new GruntfileEditor( content )

Create a new editor instance. You can pass the content of the Gruntfile to edit to the constructor. If no content is provided, a default file structure is used.

editor.insertConfig( name, config )

Insert a configuration block inside the grunt.initConfig() call.

editor.registerTask( name, tasks )

Register a task inside a named task group

editor.registerTask('build', 'compass');
// output: grunt.registerTask('build', ['compass']);

editor.registerTask('build', ['compass', 'uglify']);
// output: grunt.registerTask('build', ['compass', 'uglify']);

You can specify an optional description.

editor.registerTask('build', 'A task description', ['compass', 'uglify']);
// output: grunt.registerTask('build', 'A task description', ['compass', 'uglify']);

editor.insertVariable( name, value )

Insert a variable to the top of the Gruntfile.

editor.insertVariable('root', '"project/foo"');
// output: var root = 'project/foo';

editor.prependJavaScript( code )

Insert a piece of arbritary JavaScript code to the top of the Gruntfile.

editor.prependJavaScript('require(\'load-grunt-tasks\')(grunt);');
// output: require('load-grunt-tasks')(grunt);

editor.loadNpmTasks( pluginName )

Load a Grunt plugin.

editor.loadNpmTasks('grunt-contrib-uglify');
// output: grunt.loadNpmTasks("grunt-contrib-uglify");

editor.loadNpmTasks(['grunt-contrib-uglify', 'grunt-contrib-concat']);
// output:
// grunt.loadNpmTasks("grunt-contrib-concat");
// grunt.loadNpmTasks("grunt-contrib-uglify");

editor.toString()

Returns the modified Gruntfile as a string.

Licence

Copyright (c) 2012 Simon Boudrias (twitter: @vaxilart)
Licensed under the MIT license.

About

An API to modify a Gruntfile.js content

Resources

License

Packages

No packages published
You can’t perform that action at this time.