# rivets

> Declarative data binding + templating solution.

Latest version **0.9.6** (published 2016-10-22) · 0 weekly downloads

## Install

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

## Health

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

Positive: has types package; no vulnerabilities.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.9.6 |
| Published | 2016-10-22 |
| First published | 2012-08-15 |
| Weekly downloads | 0 |
| TypeScript types | separate (@types/rivets) |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3219 |
| Author | Michael Richards |
| Maintainers | benstyles, greglarrenaga, mikeric, mrichards |

## Links

- npm: https://www.npmjs.com/package/rivets
- Repository: https://github.com/mikeric/rivets
- Homepage: https://github.com/mikeric/rivets#readme
- Issues: https://github.com/mikeric/rivets/issues
- npm.io page: https://npm.io/package/rivets

## Dependencies (1)

- [sightglass](https://npm.io/package/sightglass.md) ~0.2.4

## Recent versions

- 0.9.6 (latest) — 2016-10-22
- 0.9.5 — 2016-10-22
- 0.9.4 — 2016-08-10
- 0.9.3 — 2016-08-10
- 0.9.2 — 2016-08-10
- 0.9.1 — 2016-05-31
- 0.9.0 — 2016-05-21
- 0.8.1 — 2015-03-21
- 0.8.0 — 2015-02-10
- 0.7.2 — 2015-01-03
- 0.7.1 — 2014-11-07
- 0.7.0 — 2014-11-02
- 0.7.0-rc3 — 2014-11-02
- 0.7.0-rc2 — 2014-10-11
- 0.7.0-rc1 — 2014-09-01
- … 25 more at https://npm.io/package/rivets/versions

## README

# Rivets.js

Rivets.js is a lightweight data binding and templating system that facilitates building data-driven views. It is agnostic about every aspect of a front-end MV(C|VM|P) stack, making it easy to introduce it into your current workflow or to use it as part of your own custom front-end stack comprised of other libraries.

## Usage

```html
<section id="auction">
  <h3>{ auction.product.name }</h3>
  <p>Current bid: { auction.currentBid | money }</p>

  <aside rv-if="auction.timeLeft | lt 120">
    Hurry up! There is { auction.timeLeft | time } left.
  </aside>
</section>
```

```javascript
rivets.bind($('#auction'), {auction: auction})
```

## Getting Started and Documentation

Documentation is available on the [homepage](http://rivetsjs.com). Learn by reading the [Guide](http://rivetsjs.com/docs/guide/) and refer to the [Binder Reference](http://rivetsjs.com/docs/reference/) to see what binders are available to you out-of-the-box.

## Building and Testing

First install any development dependencies.

```
$ npm install
```

#### Building

Rivets.js uses [gulp](http://gulpjs.com/) as its build tool. Run the following task to compile + minify the source into `dist/`.

```
$ gulp build
```

#### Testing

Rivets.js uses [mocha](http://visionmedia.github.io/mocha/) as its testing framework, alongside [should](https://github.com/visionmedia/should.js/) for expectations and [sinon](http://sinonjs.org/) for spies, stubs and mocks. Run the following to run the full test suite.

```
$ npm test
```

## Contributing

#### Bug Reporting

1. Ensure the bug can be reproduced on the latest master.
2. Open an issue on GitHub and include an isolated [JSFiddle](http://jsfiddle.net/) demonstration of the bug. The more information you provide, the easier it will be to validate and fix.

#### Pull Requests

1. Fork the repository and create a topic branch.
3. Make sure not to commit any changes under `dist/` as they will surely cause conflicts for others later. Files under `dist/` are only committed when a new build is released.
4. Include tests that cover any changes or additions that you've made.
5. Push your topic branch to your fork and submit a pull request. Include details about the changes as well as a reference to related issue(s).

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