Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
file system finder inspired by finder in Nette framework.
$ npm install fs-finder
var Finder = requrire('fs-finder');
var finder = new Finder('/var/data/base-path');
var files = finder.findFiles(); // returns array with file's names
var directories = finder.findDirectories(); // returns array with directorie's names
var paths = finder.find(); // returns array with file's and directorie's names
var paths = finder.recursively().find();
var files = finder.recursively().findFiles('*.coffee');
In this example fs finder looks for all files in base directories recursively with '.coffee' in their name. Asterisk is just shortcut for regexp '[0-9a-zA-Z/.-_ ]+' so you can also use regexp in mask.
var files = finder.recursively().findFiles('temp/[0-9]+.tmp'); // files in temp directories with numbers in name and .tmp extension
Same technique like path mask works also for excluding files or directories.
var files = finder.recursively().exclude(['/.git']).findFiles();
This code will return all files from base directory but not files beginning with .git or in .git directory. Also there you can use regular expressions or asterisk.
var files = finder.recursively().size('>=', 450).size('<=' 500).findFiles();
Returns all files with size between 450B and 500B.
var files = finder.recursively().date('>', {minutes: 10}).date('<', {minutes: 1}).findFiles();
Returns all files which were modified between two and nine minutes ago. Date filter expecting literal object (you can see documentation in moment.js documentation) or string date representation in YYYY-MM-DD HH:mm format.
var filter = function(stat, path) {
if ((new Date).getMinutes() === 42) {
return true;
} else {
return false;
}
});
var files = finder.recursively().filter(filter).findFiles();
Returns all files if actual time is any hour with 42 minutes. Custom filters are annonymous function with stat file object parameter (documentation) and file name.
If you want to look for files or directories recursively without any filters, you can use shorter way.
var Finder = require('fs-finder');
var files = Finder.findFiles('/var/data/base-path/*js'); // Returns files
var directories = Finder.findDirectories('/var/data/base-path'); // Returns directories
var paths = Finder.find('/var/data/base-path'); // Returns files and directories
Only different thing are regular expressions. They have to be enclosed in <>.
var files = Finder.findFiles('/var/data/base-path/<(.git|.idea)*[0-9]>'); // Returns every file with .git or .idea and also with number in path
For more advanced options you can use in and from functions.
var files = Finder.in('/var/data/base-path').findFiles(); // Load files only from base-path directory
var files = Finder.from('/var/data/base-path').findFiles(); // Load files recursively
FAQs
[ABANDONED] File system recursive finder
The npm package fs-finder receives a total of 3,699 weekly downloads. As such, fs-finder popularity was classified as popular.
We found that fs-finder demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.