Skip to content
/ fs2obj Public

A Node.js module which recurses through a folder structure and returns an object with all found files/folders below the start path.

License

Notifications You must be signed in to change notification settings

tobilg/fs2obj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fs2obj

Current status

Build Status Dependency Status

Basic usage

fs2obj( path [, options] )

To all the files and folder from a start folder and any sub-folders:

var fs2obj = require('fs2obj');
var structure = fs2obj('/path/to/folder');

Resulting object will look like:

{
    "items": [{
        "name": "file1.js",
        "type": "file",
        "size": 0
    }, {
        "name": "file2.conf",
        "type": "file",
        "size": 0
    }, {
        "name": "file3.txt",
        "type": "file",
        "size": 15
    }, {
        "items": [{
            "name": "test1-file.txt",
            "type": "file",
            "size": 0
        }, {
            "items": [{
                "name": "subtest-file1.txt",
                "type": "file",
                "size": 0
            }],
            "name": "subtest1",
            "type": "folder"
        }],
        "name": "test1",
        "type": "folder"
    }]
}

Advanced usage

Options can be passed to alter the behaviour.

filterFiles

A regular expression for what files to include. First matching group defines the key used in returned object. Defaults to /^(.+)\.js(on)?$/ (i.e. include all .js and .json files)

// Include all .js files except those starting with `_`
fs2obj('/path/to/folder', { filterFiles: /^([^_].*)\.js$/ });

filterFolders

A regular expression for what folders to iterate into. First matching group defines the key used in returned object. Defaults to /^([^\.].*)$/ (i.e. process all folders except those beginning with .)

// Process all folders except those starting with `.` or `_`
fs2obj('/path/to/folder', { filterFolders: /^([^\._].*)$/ });

includeBasePath

A boolean value whether the base path (from the start folder) should be included or not.

includeRealPath

A boolean value whether the real path should be included or not.

Tests

Use npm test to run the tests.

Issues

If you discover a bug, please raise an issue on Github. https://github.com/tobilg/fs2obj/issues

About

A Node.js module which recurses through a folder structure and returns an object with all found files/folders below the start path.

Resources

License

Stars

Watchers

Forks

Packages

No packages published