Noah's Pairwise Manifest

    filesfinder

    1.2.0 • Public • Published

    FilesFinder

    Simple module to search for files under various conditions, supporting globs via the glob module. Supports filtering by file content, filesize, extensions and created/modified/accessed dates.

    Usage

    var FilesFinder = require('filesfinder');
     
    FilesFinder(rootPath, options)
    .then(function(files) {
     
    })
    .catch(function(error) {
     
    });

    Options

    {
        fileSize: {
            min: '1kB', //Minimum fileSize
            max: '20kB' //Maximum fileSize
        },
        extensions: ['js', 'txt', 'csv'], //Array of extensions to search for,
        fileNameLike: '', //Wildcard filename search
        fileContent: {
            contains: 'Something', //File must contain this string (/Something/gi)
            caseSensitive: false //True for making `contains` case sensitive
        },
        filesOnly: false, //True for ignoring directories
        caseSensitive: false, //True for case sensitive fileName search
        excludedPaths: ['node_modules'], //Array of excluded paths
        timeout: false, //Timeout in ms before aborting the search
        created: {
            start: 'DateString', //Start date for file/dir creation date -- Date.parse
            end: 'DateString' //End date for file/dir creation date -- Date.parse
        },
        modified: {
            start: 'DateString', //Start date for file/dir modified date -- Date.parse
            end: 'DateString' //End date for file/dir modified date -- Date.parse
        },
        accessed: {
            start: 'DateString', //Start date for file/dir accessed date -- Date.parse
            end: 'DateString' //End date for file/dir accessed date -- Date.parse
        }
    }

    CLI

    A very basic CLI is included when installed globally (npm install -g filesfinder). It's based on commander

    Option                          Comment                                                 Default
    --root [path]                   Root path to base the search on.                        require('process').cwd()
    --extensions [extensions]       Space-separated list of extensions to search for.       false
    --filenamelike [filenamelike]   Wildcard filname search                                 false
    --contains [wildcard]           Content to search for in the files.                     false
    --containscase [wildcard]       Content to search for in the files. (Case sensitive)    false
    --filesonly                     Only files, no directories.                             false
    --exclude [excludedpaths]       Space-separated list of excluded paths                  false
    --timeout [ms]                  Timeout in milliseconds before aborting.                false
    --casesensitive                 Case Sensitive search of filenames                      false
    --fsmin [min]                   Minimum file size in bytes/string variant.              false
    --fsmax [max]                   Maximum file size in bytes/string variant.              false
    --cstart [datestring]           Created on start date                                   false
    --cend [datestring]             Created on end date                                     false
    --mstart [datestring]           Modified on start date                                  false
    --mend [datestring]             Modified on end date                                    false
    --astart [datestring]           Accessed on start date                                  false
    --aend [datestring]             Accessed on end date                                    false
    --output [format]               Output format                                           'P'

    Use any of the following to generate an output format:

    F       Full path of the file
    P       Path of the file relative to the root path
    N       File name
    S       File Size prettified
    s       File Size
    E       Extension
    A       Accessed Timestamp
    M       Modified Timestamp
    C       Created Timestamp

    Example: --output "N.E S" -> testfile.txt 43kB

    Install

    npm i filesfinder

    DownloadsWeekly Downloads

    4

    Version

    1.2.0

    License

    ISC

    Last publish

    Collaborators

    • wubzz