Glob matching, exclude all JS files

node.jsPattern MatchingGlobGulp

node.js Problem Overview


I'm a new user to gulp.js. I'd like to move all of my non-javascript files to a build directory. What I've got right now is this:

//Test copy
gulp.task('test-copy', function() {
	gulp.src(['myProject/src/**/*.!(js|map|src)'])
		.pipe(gulp.dest('myProject/build'));
});


//Results for various files
myProject/css/style.css //Copied - GOOD
myProject/html/index.html //Copied - GOOD
myProject/js/foo.js //Not Copied - GOOD
myProject/js/bar.min.js //Copied - BAD!
myProject/js/jquery-2.0.3.min.js //Copied - BAD!
myProject/js/jquery-2.0.3.min.map //Copied - BAD!

As you can see, it only matches after the first dot in the file path string, not the last one, as I'd like. How can I modify the glob search string to behave as I'd like?

node.js Solutions


Solution 1 - node.js

Try this glob pattern:

myProject/src/**/!(*.js|*.map|*.src)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlexZView Question on Stackoverflow
Solution 1 - node.jsTurboHzView Answer on Stackoverflow