# ronin

> Access your RONIN database via TypeScript.

Latest version **6.8.0** (published 2025-07-11) · Apache-2.0 license · 0 weekly downloads

## Install

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

Provides the command `ronin`.

## Health

**Score 40/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 6.8.0 |
| Published | 2025-07-11 |
| First published | 2014-11-27 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18.17.0 |
| Dependencies | 4 |
| Unpacked size | 58.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | ronin |
| Maintainers | juriadams, leo, codenn, nurodev |
| Keywords | ronin, client, database, orm, edge, serverless |

## Links

- npm: https://www.npmjs.com/package/ronin
- Repository: https://github.com/ronin-co/client
- Homepage: https://ronin.co/docs/typescript-client
- Issues: https://github.com/ronin-co/client/issues
- npm.io page: https://npm.io/package/ronin

## Dependencies (4)

- [@ronin/cli](https://npm.io/package/@ronin/cli.md) 0.3.20
- [@ronin/engine](https://npm.io/package/@ronin/engine.md) 0.1.23
- [@ronin/syntax](https://npm.io/package/@ronin/syntax.md) 0.2.44
- [@ronin/compiler](https://npm.io/package/@ronin/compiler.md) 0.18.10

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 6.8.0 (latest) — 2025-07-11
- 6.8.0-ben-add-post-release-workflow-experimental-220 (ben-add-post-release-workflow-experimental-220) — 2025-07-11
- 6.7.8-wait-until-experimental-219 (wait-until-experimental-219) — 2025-07-11
- 6.7.7-env-vars-experimental-218 (env-vars-experimental-218) — 2025-06-30
- 6.7.7-errors-experimental-217 (errors-experimental-217) — 2025-06-30
- 6.7.7-errors-experimental-216 (errors-experimental-216) — 2025-06-30
- 6.7.6-implicit-experimental-215 (implicit-experimental-215) — 2025-06-28
- 6.7.5-implicit-experimental-214 (implicit-experimental-214) — 2025-06-28
- 6.7.4-compiler-experimental-213 (compiler-experimental-213) — 2025-06-15
- 6.7.3-invalid-access-experimental-212 (invalid-access-experimental-212) — 2025-06-13
- 6.7.2-client-error-experimental-211 (client-error-experimental-211) — 2025-06-13
- 6.7.1-errors-experimental-210 (errors-experimental-210) — 2025-06-13
- 6.7.0-triggers-experimental-209 (triggers-experimental-209) — 2025-06-13
- 6.6.17-leo-ron-1130-experimental-208 (leo-ron-1130-experimental-208) — 2025-06-13
- 6.6.17-leo-ron-1130-experimental-207 (leo-ron-1130-experimental-207) — 2025-06-13
- … 2176 more at https://npm.io/package/ronin/versions

## README

# RONIN Client

[![tests](https://img.shields.io/github/actions/workflow/status/ronin-co/client/validate.yml?label=tests)](https://github.com/ronin-co/client/actions/workflows/validate.yml)
[![code coverage](https://img.shields.io/codecov/c/github/ronin-co/client)](https://codecov.io/github/ronin-co/client)
[![install size](https://packagephobia.com/badge?p=ronin)](https://packagephobia.com/result?p=ronin)

This package allows for querying data from [RONIN](https://ronin.co) with ease.

## Setup

First, install the [package](https://www.npmjs.com/package/ronin) with a package manager of your choice:

```bash
# Bun
bun add ronin

# npm
npm install ronin
```

Next, create a new app token on the [RONIN dashboard](http://ronin.co) (under "Apps" in the sidebar), and add it as a environment variable named `RONIN_TOKEN` to your project.

Afterward, you can start invoking RONIN from anywhere in your code:

```typescript
import { get } from 'ronin';

const posts = await get.posts();
```

That's it! 🎉

You can now start inserting records with the [RONIN query syntax](https://ronin.co/docs/queries), or add them on the [RONIN dashboard](http://ronin.co). Everything you can do with the RONIN client, you can also do on the dashboard (creating records, retrieving them, filtering them, updating them, etc).

## Contributing

We would be excited to welcome your suggestions for the RONIN client!

To start contributing code, first make sure you have [Bun](https://bun.sh) installed, which is a JavaScript runtime.

Next, [clone the repo](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) and install its dependencies:

```bash
bun install
```

Once that's done, link the package to make it available to all of your local projects:

```bash
bun link
```

Inside your project, you can then run the following command, which is similar to `bun add ronin` or `npm install ronin`, except that it doesn't install `ronin` from npm, but instead uses your local clone of the package:

```bash
bun link ronin
```

If your project is not yet compatible with [Bun](https://bun.sh), feel free to replace all of the occurances of the word `bun` in the commands above with `npm` instead.

You will just need to make sure that, once you [create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request#creating-the-pull-request) on the current repo, it will not contain a `package-lock.json` file, which is usually generated by npm. Instead, we're using the `bun.lock` file for this purpose (locking sub dependencies to a certain version).

### Developing

In order to be compatible with a wide range of projects, the source code of the `client` repo needs to be compiled (transpiled) whenever you make changes to it. To automate this, you can keep this command running in your terminal:

```bash
bun run dev
```

Whenever you make a change to the source code, it will then automatically be transpiled again.

### Running Tests

The RONIN client has 100% test coverage, which means that every single line of code is tested automatically, to ensure that any change to the source code doesn't cause a regression.

Before you create a pull request on the `client` repo, it is therefore advised to run those tests in order to ensure everything works as expected:

```bash
# Run all tests
bun test

# Alternatively, run a single test
bun test -t 'your test name'
```

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