GibboK
GibboK

Reputation: 73918

How to set up Gulp to process the same task on different folder?

I need to run some gulp task on two different folder only.

Example of my project folder structure:

- Project
  - componentA
  - componentB
  - componentC
  - componentD

I need to perform tasks in componentA and componentB and not in C/D.

At the moment I am using the following script.

Could you please tell me how to add the task for B?

Do you know any alternative/better approach?

 // include gulp
    var gulp = require('gulp');

    // include plug-ins
    var jshint = require('gulp-jshint');

    // JS hint task
    gulp.task('jshint', function () {
        gulp.src('./componentA/**/*.js')
          .pipe(jshint())
          .pipe(jshint.reporter('default'));
    });

Upvotes: 0

Views: 113

Answers (2)

Gabs00
Gabs00

Reputation: 1877

The below uses a match to exclude C and D directly

(note I'm using concat for testing)

var gulp = require('gulp');
var concat = require('gulp-concat');

var files = './component!(C|D)/*.txt';

gulp.task('test', function(){
  gulp.src(files)
  .pipe(concat('all.txt'))
  .pipe(gulp.dest('./'));
});

Which for you would be

'./component!(C|D)/**/*.js'

Upvotes: 1

GibboK
GibboK

Reputation: 73918

I was able to solve this issue using the following code. Any better way or alternative approaches are welcome.

// include plug-ins
var jshint = require('gulp-jshint');

var folders = [
'./componentA/**/*.js',
'./componentB/**/*.js'
];


// JS hint task
gulp.task('jshint', function () {
    gulp.src(folders)
      .pipe(jshint())
      .pipe(jshint.reporter('default'));
});

Upvotes: 0

Related Questions