Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I run a grunt task from within a grunt task?

I've created a new grunt task and within it I want to use grunt-contrib-concat to concatenate a few files together.

I looked through the docs but I don't find anything that hinted at being able to do this. It seems like a trivial use case, so I'm probably just over looking something.

Update 1:

I also want to be able to configure this task from within my custom task.

For example, I create a list of files in my custom task. After I have that list, I want to pass them to the concat task. How can I do that?

I would like to be able to do something like this.

grunt.task.run('concat', { src: ['file1','file2'], dest: 'out.js'}) 

Update 2:

To achieve what I want, I have to manually configure the grunt task. Here's an example that showed me what I wanted.

https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130

like image 551
Arron S Avatar asked Mar 08 '13 00:03

Arron S


People also ask

How do you check if Task exist in grunt?

grunt.task.existsCheck with the name, if a task exists in the registered tasks.

What are the examples of tasks in grunt?

Tasks are grunt's bread and butter. The stuff you do most often, like jshint or nodeunit . Every time Grunt is run, you specify one or more tasks to run, which tells Grunt what you'd like it to do. If you don't specify a task, but a task named "default" has been defined, that task will run (unsurprisingly) by default.


1 Answers

Here's an example of manually configuring a task within a task and then running it.

https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130

 grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() {         var count = 0;         grunt.file.expandFiles(this.data).forEach(function(file) {             var property = 'mincss.css'+count+'.files';             var value = {};             value[file] = file;             grunt.config(property, value);             grunt.log.writeln("Minifying CSS "+file);             count++;         });         grunt.task.run('mincss');     }); 
like image 112
Arron S Avatar answered Sep 29 '22 07:09

Arron S