3.0.1 • Published 9 years ago
node-browserfs v3.0.1
node-BrowserFs
a node fs-like browser in-memory file system. Synchronous & async versions available for all supported functions.
API
plus:
- rmrf rimraf
- mkdirp
- join([path1], [path2], [...])
- parsePathParts('/a/b/../c') -> 'a', 'c'
- fileSizeSI / fileSizeIEC -> 34.30 kB / 33.50 KiB
- BrowserFs.Buffer
- BrowserFs.path
not supported:
- watch, unwatch
- stream
- appendFile
- chmod, chown
- open, read, write, close
- fsync
- truncate
- link, symlink
- realpath
Use
var BrowserFs = requirejs('BrowserFs');
var fs = new BrowserFs();
fs.statSync('/');
fs.mkdirSync('/subdir');
fs.mkdirpSync('/subdir2/subdir3');
fs.existsSync('/subdir/subdir2');
fs.rmdirSync('/subdir/subdir2');
fs.rmrfSync('/subdir');
fs.writeFileSync('/file', 'file string content');
fs.writeFileSync('/file', buffer);
fs.stat('/file', function (err, stats) {
// human readable file size:
// SI: kB,MB,GB,TB,PB,EB,ZB,YB / IEC: KiB,MiB,GiB,TiB,PiB,EiB,ZiB,YiB
console.log(fs.fileSizeSI(stats.size), fs.fileSizeIEC(stats.size));
// -> 34.30 kB / 33.50 KiB
});
// async example Asynchronous readdir(3)
// see node js fs api http://nodejs.org/api/fs.html#fs_fs_readdir_path_callback
fs.readdir('/', function (err, files) {
...
});
// Asynchronous rename(2) / move directory (or file)
fs.rename('/subdir1/subdir1-1', '/subdir2/subdir2-1', function (err) {
...
});
// fs.access(path[, mode], callback)
fs.access('/path/to/file', function (err) {
...
});
// access to node path
BrowserFs.path.join(''/a/b', '../c'); // '/a/c'
BrowserFs.path.normalize('/a/b/..c'); // '/a/c'
// access to node Buffer
vart buf = BrowserFs.Buffer.from('tést', 'utf8');
buf.toString('utf8'); // 'tést'
Have a look at the example folder.
Open index.html in browser, drop the github timeout png, click on the filename to download..
Read the code.
Test
$ mocha
Build
Prerequisites
node -v
>= 5.12.0npm install browserify -g
run npm run build
will produce browserified version of lib/BrowserFs.js
in main folder `BrowserFs.js' and minify to 'BrowserFs.min.js'
License
3.0.1
9 years ago
3.0.0
9 years ago
2.1.0
9 years ago
1.4.11
9 years ago
1.4.10
9 years ago
1.4.9
9 years ago
1.4.8
9 years ago
1.4.7
9 years ago
1.4.6
10 years ago
1.4.5
10 years ago
1.4.4
10 years ago
1.4.3
10 years ago
1.4.2
10 years ago
1.4.1
10 years ago
1.4.0
10 years ago
1.3.0
10 years ago
1.2.1
10 years ago
1.2.0
10 years ago
1.1.0
10 years ago
1.0.4
10 years ago
1.0.3
11 years ago
1.0.2
11 years ago
1.0.1
11 years ago
1.0.0
11 years ago