You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

folder-sync

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

folder-sync

Provides a class which synchronously takes a snapshot of a directory and its contents.

1.3.0
latest
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

folder-sync

Provides a class which synchronously takes a snapshot of a directory and its contents.
Usage:

var Folder = require('folder-sync');

var folder = new Folder('/path/to/directory');
var readme = folder.findFile('README.md');

readme.write('This is my readme!');
readme.read(); // => "This is my readme!"
readme.isFile; // => true

Installation

npm install folder-sync --save-dev

Disclaimer

I DON'T recommend using this module on a web-facing environment. This is because everything in this module is done synchronously, meaning it's a blocking process. I primarily use it for Grunt tasks.

Class: Folder

Creation:
var folder = new Folder('/path/to/directory');
A Folder represents contents of a directory on the file system. It does not update itself - it's just a snapshot.

folder.files
An array of Item objects, which represent the files in the folder. This does not include dot-files.

folder.folders
An array of Item objects, which represent the folders in the folder. This does not include dot-files.

folder.dotFiles
An array of Item objects, which represent the dot-files in the folder.

folder.dotFolders
An array of Item objects, which represent the dot-folders in the folder.

folder.allFiles
An array of Item objects, which represent all files in the folder (dot-files included).

folder.allFolders
An array of Item objects, which represent all folders in the folder (dot-folders included).

folder.findFile(name)
Searches the folder for a file with the given name (e.g. myFile.txt), and returns an Item object of that file. If not found, it returns null.

folder.findFolder(name)
Same as above, but for folders instead of files.

folder.filterFiles(regexp [, group])
Returns an array of file Item objects that contain the given pattern. By default, it won't return dot-files, but the optional group argument can be dot to only return dot-files, or all to return any type of file.

folder.filterFolders(regexp [, group])
Same as above, but for folders instead of files.

Class: Item

item.name
The name of the item (e.g. myFile.txt)

item.dirname
The path to the item's parent directory (e.g. /path/to)

item.path
The entire path to the item (e.g. /path/to/myFile.txt)

item.bytes
The byte-size of the item.

item.bytesOnDisk
The number of bytes that the item takes up on the disk.

item.changed
An instance of Date, which is the last time the item was changed in any way (contents, permissions, properties, etc.)

item.modified
An instance of Date, which is the last time the item's contents were changed.

item.accessed
An instance of Date, which is the last time the item was accessed in any way.

item.created
An instance of Date, which is the time when the item was created.

item.isFile
Boolean. Whether or not the item is a file or not.

item.isDirectory
Boolean. Whether or not the item is a directory or not.

item.isFolder
Same as item.isDirectory.

item.read()
Returns the text content of the file, as a string.
If the item is not a file, returns undefined.

item.write(string)
Overwrites the file contents with string, and returns true.
If the item is not a file, returns undefined.

item.readFolder()
Returns an instance of Folder which represents this item.
If the item is not a directory, returns undefined.

FAQs

Package last updated on 01 Jul 2015

Did you know?

Socket

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.

Install

Related posts