3.0.1 • Published 9 years ago

node-browserfs v3.0.1

Weekly downloads
82
License
WTFPL
Repository
github
Last release
9 years ago

node-BrowserFs

a node fs-like browser in-memory file system. Synchronous & async versions available for all supported functions.

API

http://nodejs.org/api/fs.html

plus:

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.0
  • npm 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

WTFPL

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