check-files-exist
This small promise based node module checks a given string or array of strings to contain valid file selectors. The selectors could either be relative or absolute paths or even globs.
Syntax
var checkFilesExist = require ( ' check-files-exist ' ) ;
checkFilesExist ( [ ' files/a.js ' , ' files/*_c.js ' ] , __dirname ) . then ( function ( ) {
console . log ( ' All files exist. ' ) ;
} , function ( err ) {
console . log ( err ) ;
} )
Examples
Let's assume, we've got the following directory structure:
+ files
- a.js
- b_c.js
- d.js
Each of the following calls would resolve the promise:
checkFilesExist ( ' files/* ' )
checkFilesExist ( ' files/**/* ' )
checkFilesExist ( ' files/a.js ' )
checkFilesExist ( [ ' files/a.js ' , ' files/d.js ' ] )
checkFilesExist ( [ ' files/a.js ' , [ ' files/*_c.js ' ] ] )
checkFilesExist ( [ ' files/a.js ' , [ ' files/*_c.js ' , ' files/b_* ' ] ] )
checkFilesExist ( [ [ ' files/a.js ' ] , [ ' files/*_c.js ' , ' files/b_* ' ] ] )
The following would reject it:
checkFilesExist ( ' ' )
checkFilesExist ( ' files/_* ' )
checkFilesExist ( [ ] )
checkFilesExist ( [ ' files/ ' , ' ' ] )
Use in a build chain
Using this module in f.e. gulp is really simsple:
gulp . task ( ' checkFilesExist ' , function ( ) {
return checkFilesExist ( [
config . scripts . files ,
] ) ;
} ) ;
Working dir
node-glob provides passing a cwd
working directory string. You could easily pass a string as a second parameter to have it passed to glob:
checkFilesExist ( ' files/a.js ' , __dirname ) . then ( ... ) ;