# reaver

> Minimal asset hashing CLI and API

Latest version **2.0.0** (published 2015-10-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install reaver
pnpm add reaver
yarn add reaver
bun add reaver
```

Provides the command `reaver`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2015-10-20 |
| First published | 2014-09-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11 |
| Author | Nicolas Bevacqua |
| Maintainers | bevacqua |

## Links

- npm: https://www.npmjs.com/package/reaver
- Repository: https://github.com/bevacqua/reaver
- Issues: https://github.com/bevacqua/reaver/issues
- npm.io page: https://npm.io/package/reaver

## Dependencies (1)

- [minimist](https://npm.io/package/minimist.md) ^1.1.0

## Recent versions

- 2.0.0 (latest) — 2015-10-20
- 1.2.0 — 2014-10-20
- 1.1.2 — 2014-09-12
- 1.1.1 — 2014-09-12
- 1.1.0 — 2014-09-12
- 1.0.0 — 2014-09-12

## README

# reaver

> Minimal asset hashing CLI and API

Use as a CLI or programmatically.

## Install

```shell
npm install --save-dev reaver
```

## API

The API exposes a function.

### `reaver(files, options)`

Moves the specified file(s), appending to their paths a hash of their contents. Directories and missing files are ignored.

If a `manifest: true` option is passed, it returns a map of file paths to the resulting hashes. The manifest always uses absolute paths.

### `reaver.rev(file, data)`

This method will just return the hashed filename based on the provided data, without accessing the file system.

### Circular Dependencies

When you have circular dependencies, you can use `--consider <file>`. Suppose you have `app.js` and `service-worker.js`. `app.js` references the worker to install it, and the worker references `app.js` to download it for offline-first. You can `--consider service-worker.js` when hashing `app.js` so that the contents of service-worker are factored in the hashing of `app.js`, so that even though `app.js` itself hasn't changed, the hash will change if the contents of `service-worker.js` have changed.

Without this option, you would keep changing the hashes for each file as the reference to the other file changes in each other.

## CLI

Usage

```shell
reaver [options] [file] [file] [file]
```

Invokes the `reaver(files, options)` API method, using `minimist` for option parsing.


## Example

Usage example below

```shell
touch foo{,.js}
reaver *
ls
# foo.d41d8cd9    foo.d41d8cd9.js
```

# License

MIT

---
_Source: https://npm.io/package/reaver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
