FsUtil
Incremental utilities for NodeJS File System API.
Compatibility
- Linux
- MacOSX
- Windows
Documentation
Setting up
# FS Watcher
Provides the ability to watch an entire tree of dirs
and files
.
fsu = require 'fs-util'watcher = fsuwatch desired_pathregex_patternrecursive_notifications
desired_path
The path to the dir
or file
you wanna watch.
regex_pattern
The regex to filter only the files you wanna watch.
recursive_notifications
If true
notifications will be fired for all files. If you delete a dir
that has many sub dirs
and files
, an unwatch
and delete
events will be
dispatched for all the children dirs
and files
as well.
If false
, only one event will be dispatched for the dir
that was actually
deleted. It can save you an overhead of events popping up when a dir
with
big ammount of subdirs
and files
is deleted.
Bellow is a very basic usage example that can be found in the examples folder.
fsu = require 'fs-util'watcher = fsuwatch 'desired/path'/.coffee$/mtruewatcheron 'watch' consolelog 'WATCHED ' + ftypeflocationwatcheron 'unwatch' consolelog 'UNWATCHED ' + ftypeflocationwatcheron 'create' consolelog 'CREATED ' + ftypeflocationwatcheron 'change' consolelog 'CHANGED ' + ftypeflocationwatcheron 'delete' consolelog 'DELETED ' + ftypeflocation watcherclose
All callbacks receives only one argument which is the related [f]ile
to
the event.
It has the following properties:
[f].location
Fullpath location
of the item.
[f].type
Item type
, can be dir
or file
.
[f].prev
Last stat of the file, it's an instance of fs.Stats.
[f].curr
Current stat of the file, it's an instance of fs.Stats.
[f].tree
The complete tree
of subitems (files
and dirs
) under that point.
- Applies only when
f.type
isdir
Besides all the Event Emiter inherited methods, the watcher
class has one more:
[watcher].close()
When called, this method will forcely close all persistent watcher's process and
removes all previously added listeners. Every file and folder is unwatched
,
events will pop normally for them, and after that the instance becomes useless.
# FS Tools
Provides functionalities such as rm_rf
, cp_r
, mkdir_p
, find
and ls
.
fsu = require 'fs-util'fsumkdirp dir_pathfsutouch file_pathencoding='utf-8'fsucopy from_pathto_pathfsufind pathregex_patterninclude_dirsfsuls pathfsurm_rm path
*path
Absolute or relative paths
are accepted, you take care of your things.
encoding
The file
encoding when touching
it.
regex_pattern
Your search pattern, i.e. /.coffee$/m
.
include_dirs
When true
will include the dirs
in the search, otherwise only files
.
# Installing
Remembers that you need to install fs-util locally in order to use it as a LIB.
You will need to require 'fs-util
in you script, there's no reason to install
it globally with -g
, fs-util
won't work directly in the command line.
At least for now.
npm install fs-util
In order to contribute you will need to fork
, clone
and initialize the env.
git clone git@github.com:[username]/fs-utilcd fs-util && npm install
Build the src/*.coffee
files to lib/*.js
.
make build
Continuously building in watch
mode.
make watch
Running tests suite.
make test