Thomas Rake 7575f504ce Build site image; npm install;bower install;grunt devel | 10 jaren geleden | |
---|---|---|
.. | ||
tasks | 10 jaren geleden | |
Gruntfile.js | 10 jaren geleden | |
LICENSE-MIT | 10 jaren geleden | |
README.md | 10 jaren geleden | |
package.json | 10 jaren geleden |
Grunt plugin to execute code in node
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-execute --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-execute');
Execute javascript files and snippets to test application files, run loose bits development javascript or use basic files as a poor-mans grunt-tasks.
The callback module file and inline functions all share the same signature with access to grunt, options and optional async callback.
In your project's Gruntfile, add a section named execute
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
execute: {
target: {
src: ['script.js']
}
}
})
Also see the Gruntfile.js for real usage examples.
grunt.initConfig({
execute: {
simple_target: {
// execute javascript files in a node child_process
src: ['script.js']
},
simple_target_with_args: {
options: {
// execute node with additional arguments
args: ['arg1', 'arg2']
},
src: ['script.js']
},
simple_target_with_harmony: {
options: {
// pass arguments to node itself (eg: before script parameter)
nodeargs: ['--harmony']
},
src: ['script.js']
},
cwd_target: {
options: {
// overide code cwd (defaults to '.' for project main)
cwd: '.'
},
src: ['script.js']
},
glob_target: {
// supports grunt glob and filter features
src: ['apps/**/*.js', 'lib/**/index.js']
},
module_target: {
options: {
// use require() instead of a child_process
// the scripts must be a module exporting a function
// use a signature like the inline call-option (see below)
module: true
},
src: ['script.js']
},
callback_sync: {
// simple inline function call
call: function(grunt, options){
grunt.log.writeln('Hello!');
}
},
callback_async: {
// function call also supports async callback
call: function(grunt, options, async){
// get the callback
var done = async();
setTimeout(function(){
grunt.log.writeln('Done!')
done(err);
}, 1000);
}
}
before_after: {
options: {
// like call but executed before/after looping the files
before: function(grunt, options){
console.log('Hello!');
},
after: function(grunt, options){
console.log('Bye!');
}
},
// can also be used outside the options
before: function(grunt, options){
console.log('Hello!');
},
after: function(grunt, options){
console.log('Bye!');
}
src: ['script.js'],
},
}
});
nodeargs
(like --harmony
)In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
(Nothing yet)