3.0.1 • Published 7 years ago

node-browserfs v3.0.1

Weekly downloads
82
License
WTFPL
Repository
github
Last release
7 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

7 years ago

3.0.0

7 years ago

2.1.0

8 years ago

1.4.11

8 years ago

1.4.10

8 years ago

1.4.9

8 years ago

1.4.8

8 years ago

1.4.7

8 years ago

1.4.6

8 years ago

1.4.5

8 years ago

1.4.4

8 years ago

1.4.3

8 years ago

1.4.2

8 years ago

1.4.1

8 years ago

1.4.0

8 years ago

1.3.0

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago