gruntfile-editor editorconfig travis-ci gulp npm

An API to modify a Gruntfile.js content

2 years after

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.

Related Repositories

summernote

summernote

Super simple WYSIWYG editor ...

thimble.mozilla.org

thimble.mozilla.org

Online code editor geared to people teaching and learning HTML, CSS, and JavaScr ...

WordPress-Starter-Theme

WordPress-Starter-Theme

WordPress Starter Theme for use as a starting template for building custom theme ...

kityminder-editor

kityminder-editor

Powerful Mindmap Editing Tool ...

angularjs-typescript

angularjs-typescript

AngularJS + Typescript presentation and example ...


Top Contributors

SBoudrias eddiemonge lauterry MartinDelille qiuzuhui EdoPut sindresorhus

Releases

-   v1.2.1 zip tar
-   v1.2.0 zip tar
-   v1.1.0 zip tar
-   v1.0.0 zip tar
-   v0.2.0 zip tar
-   v0.1.1 zip tar
-   0.1.0 zip tar