Exclude sub-directory in gulp.watch

11,488

Solution 1

I think that you could try to do exclude the build sub directories with the ! sign.

Think of something like this, adapt it to fits your needs :

gulp.watch([
 'templates/**/*',
 '!templates/*/{build,build/**}'
], ['build_templates'])

You could also have a look to Gulp Ignore.

Solution 2

I know this is old, but you should exclude the folder and everything inside the folder aswell, excluding the folder alone doesnt work.

gulp.watch(['templates/**/*','!templates/{foo, bar}/build/**/*'], ['build_templates']);
Share:
11,488

Related videos on Youtube

jrhicks
Author by

jrhicks

Software development, data warehousing, programming, usability, future predicting. Putting the fun in P/PC balance.

Updated on October 15, 2022

Comments

  • jrhicks
    jrhicks over 1 year

    I would like to watch all files deeply nested within templates but exclude any folder after build.

    So exclude directories like:

    • ./templates/foo/build/**/*

    • ./templates/bar/build/**/*

    But include directories and files like:

    • ./templates/foo/template.html

    • ./templates/foo/css/**/*

    • ./templates/bar/template.html

    • ./templates/bar/css/**/*

    Currently I am having success itemizing the sub-sub-folder names and sub-sub-filetypes

    gulp.watch(['templates/*/*.html','templates/*/*.js',
                'templates/*/*.json','templates/*/css/**/*',
                'templates/*/js/**/*'], ['build_templates']);
    

    But I would really like to be able to stop updating the expression every time I add specific sub-sub-folders or sub-sub-filetypes. How can include everything except?