rasa
Version:
Electron's asar archive format
79 lines (56 loc) • 1.59 kB
Markdown
# rasa
[](https://npmjs.com/package/rasa)
[](https://npmjs.com/package/rasa)
[](https://npmjs.com/package/rasa)
[](https://travis-ci.org/jhermsmeier/node-rasa)
Dependency-less asar archive implementation
## Install via [npm](https://npmjs.com)
```sh
$ npm install --save rasa
```
## Differences
Compared to [electron/asar](https://github.com/electron/asar), rasa
- Has no dependencies
- Has no command line interface
- Provides error handling for all methods
## TODO
- [ ] Packing of files
- [ ] API compatibility with `asar`
## Usage
```js
var rasa = require( 'rasa' )
```
### Listing an archive's contents
```js
var files = rasa.listPackage( 'test/data/pack.asar' )
```
```js
> [ 'archive.js', 'filesystem.js', 'rasa.js' ]
```
### Opening an archive
```js
var archive = new rasa.Archive()
```
```js
archive.open( filename, ( error ) => {
// Do things...
console.log( 'files', rasa.Archive.listFiles( archive.root ) )
// Close the handle to the archive
archive.close()
})
```
### Reading a file
```js
archive.readFile( 'archive.js', function( error, buffer ) {
// ...
})
```
### Reading directories
```js
var ls = archive.readdir( '/' )
```
### Streaming a file from an archive
```js
archive.createReadStream( 'archive.js' )
.pipe( process.stdout )
```